1. 程式人生 > >java程式設計師工作3年,每天坐吃等死狀態,該如何打破這種情況?

java程式設計師工作3年,每天坐吃等死狀態,該如何打破這種情況?

今天我們來聊一聊程式設計師枯燥的程式設計生活和每天坐吃等死的狀態,相對於其他行業來說,程式設計這件事肯定是枯燥的,即使是對程式設計非常有興趣的同學和朋友也會如此,我為什麼這麼說呢?大家可以不看下文,在這裡停頓思考一下。

實事求是的說,作為一個開發者,一個程式設計師,我相信大多數人幹同一份工作的時間基本上不會超過兩年,換句話說就是:一個程式設計師在同一家公司幹同一份工作超過兩年的很少。

很多人說,程式設計師是一個跳槽比較頻繁的職業,每一次的跳槽都會使工資大幅度甚至成倍的增長,所以這時候就會有很多人跳出來說:程式設計師跳槽的目的很簡單,就是因為想漲工資了。在這裡,我想說:我並不否認,確實有很多開發者和程式設計師跳槽是為了漲工資,但是我相信作為一個有責任,有志向的程式設計師,跳槽中最大的目的並非漲薪,而是換一個更好的環境,更好的成長平臺和發展空間,漲薪只不過是跳槽過程中附帶的價值。

聊到這裡,你們可能會說:你是不是跑題了?今天不是聊枯燥的程式設計生活,以及如何改變這種現狀嗎?其實這是有關聯的,而且有時候可能關聯還是很大的。我先賣個關子,一會再說其中的關係,在這裡你們也可以停頓思考一下,到底是什麼關係?好,回到正題上來說:程式設計師的程式設計生活為什麼很枯燥,或者換句話說: 是什麼導致程式設計師的程式設計很枯燥的?

其實原因無非就是以下這幾種:1.同一個環境,同一種技術

什麼意思?跟同一個世界,同一個夢想不同的是,你在一個公司待久了,使用你所知的一種技術,重複的幹著一個專案,你說時間久了,是不是很無聊呢?如果在一個公司做一個專案,長達一年,在這一年裡,你僅僅是用你所知的技術一步一步的去實現,學不到新的技術和知識,技能得不到提高?這時候,無聊自然就會隨之而來,悄無聲息。可能對於公司來說,這是有意義的工作,但是對你來說:這是重複的,機械的搬磚。

2.複製貼上……

其實和上邊道理差不多。工作每天都是從網上貼上複製,專案就是這樣被壘起來的。很多人離開了網路,基本上就喪失了百分之八十的程式設計能力,而剩餘的那百分之二十還是抄書。很多程式設計師程式設計不思考,而是簡單的貼上複製。

當然,聰明點的程式設計師還是會封裝的,自己就會把一些常用的工具類,一些方法,一些控制元件進行封裝,留著以後備用。在公司開發完 A 專案,然後開發 B 專案的時候,就會很簡單,把自己封裝的東西拿過來直接用,這樣機械的複用或者貼上複製是不是很無聊呢?答案是肯定的。

3.重複的迭代和維護,以及修改 Bug

其實當一個專案進入測試階段以及後期維護和迭代階段的時候,開發人員基本上百分之九十的工作任務就是在修復 Bug ,而不是在研發新功能,學習和使用新技術。天天在維護和更新迭代這個專案的時候,其實工作是很乏味的。

4.沒有思想的程式設計師

其實很多時候,程式設計師是沒有話語權的,尤其是在小的創業公司,因為老闆基本上就是產品經理,需求說讓你做什麼,你就得做什麼?讓你去實現什麼,你就得實現什麼。不會讓你參與到產品的討論當中來的,當然,如果老闆讓你參加,估計由於產品經理是老闆,你也沒有什麼話語權和發言權。

再這樣一個沒有個人思想和獨立思考的開發環境中,你是不是很無聊呢?只是機械的去實現老闆想法的一個工具?是的,你就是一個工具,這種現狀那又該如何改變呢?

你們感覺還有哪些讓程式設計師程式設計無聊的原因呢?

既然,有原因了,那就得想解決辦法,而不是選擇逃避。我們該如何改變這種程式設計無聊的狀態呢?

5.如何解決程式設計無聊的狀態

首先,面對環境的限制,技術的瓶頸,其實我們應該想的是如何實現自我的需求和改變,而不是通過逃避和跳槽,其實你應該知道,不管你怎麼跳槽,你都會將要面臨這種無聊的狀態,除非你這一輩子都在跳槽中度過。你試想一下:你今天跳槽了了另外一個公司,解決當時的無聊狀態,學到了新東西,可是在新公司待了一段時間,又發展受限,技術又遇到瓶頸該怎麼辦?還跳槽,一直跳槽?

遇到問題,首先想到的應該是解決辦法,而不是用跳槽的方式來逃避。比如:我們可以嘗試輪崗,讓前端去學習後臺,後臺來學習前端,大家互相幫忙,一起交流學習,是不是能夠解決你這種無聊呢?還比如:公司的一群小夥伴,可以一起嘗試著去創造和維護一個開源專案,再或者長期舉辦一些技術分享,拓展視野。其實從本質上講要學會利用公司資源來改變無聊的現狀,當然公司也應該在實現自己利益的前提下,還要關注和滿足員工自己自我需求的實現才行。

其次,不要整天想著貼上和複製,應該自己學習思考和學習,尤其是程式設計的思想和原理,平時多看,多讀一些專案的原始碼,系統原始碼,看看高手是如何實現這個功能的,學會其中的思想和原理,不要僅僅從網上找到相關工具類或者開源專案就什麼都不想,什麼都不管,直接感覺能用就行。這樣從本質上解決不了你自身的任何問題,當然,這確實讓你實現專案功能,但是哪有如何呢?又不是你的。

再次,維護和迭代,以及修改 Bug ,不管你跳槽到哪家公司,這都是避免不了的,你感覺天天修改 Bug 和維護專案很無聊,那該如何改變這個現狀呢?

1. 不要出現 Bug 就暴力的去堵,很多程式設計師解決 Bug 的方式就是暴力解決法,舉個例子:比如報了空指標異常,他們就會在報空指標異常的地方做不為空的判斷,這也太暴力了,宜疏不宜堵。你應該找到報空指標的真正原因,看看有沒有更好的,更合適的解決方式,這樣可能就會一下子解決很多地方的相同的 Bug 。

2. 還可以嘗試著想著辦法,如何優化一段程式碼,可能是不是有更好的方式可以提高效能,加入你的程式碼效能提高 1 秒的速度,你可能就會很高興,就感覺很有成就感,這樣就不會很枯燥和無聊了,反而很高興。

3. 在 code review 的時候,可以專案的人之間相互 code review ,這樣大家可以互相來找茬,既能夠學到對方的程式設計的方法和方式,還能夠把程式碼共同維護好,何樂而不為呢?

最後,關於沒有思想的程式設計師來說,這個其實是公司文化的一部分,當然可能更公司太小有關,其實不管產品經理聽不聽你的,你都可以嘗試著大膽說出自己的想法和看法,有時候,老闆並不是專橫,而是由於你們不敢說,認為老闆專橫。如果你的想法更好,我不相信你老闆傻到還在堅持自己?當然,我並否認有這樣傻的老闆。總之,要鼓勵討論的公司企業文化,要大膽說出自己想法。說不定,有一天,你們老闆由於沒有聽你的,而感到後悔,這可能也是你的成就感。

最後的最後我想說:公司環境,還有技術瓶頸,還有一些導致無聊的原因其實那都是外部原因,本質上遇到這些問題,解決的最後的方式是從自己身上找到解決方法,而不是逃避和抱怨

工作一到五年的java 開發工程師朋友可以加入我們Java架構交流群:760940986 群內提供 高可用,高併發,spring原始碼,mybatis原始碼,JVM,大資料,Netty等多個技術知識的架構視訊資料 還有大把大牛在群內交流以及解答面試指導,問題答疑~~要進來和大牛交流學習提升提升自己嗎~~~~