在很多人眼里,年齡是橫在程序員晉升甚至是保住飯碗道路上的一條不可逾越的鴻溝。熱播劇《都挺好》中,大嫂吳非對程序員大哥蘇明哲說過這樣一段話:
很長一段時間以來,不少國內(nèi)媒體都熱衷于討(炒)論(作)與“程序員中年危機”相關(guān)的話題,似乎程序員到了中年時前途一片黯淡無光。認為IT行業(yè)是青春飯的說法,無外乎兩方面理由。
一方面是IT行業(yè)高強度的工作壓力,讓年紀大的人很難適應。常聽有人感慨,想當初剛工作的時候,連軸轉(zhuǎn)熬個三天兩宿小意思,好好補一覺就緩過來了。但過了30歲就不行了,哪怕只加一個通宵的班,都可能小一周緩不過來。
另一方面則是IT行業(yè)技術(shù)發(fā)展的迅速,逼著這個行業(yè)的人時刻都不能完全放松下來,因為不知道什么時候現(xiàn)在掌握的技能可能就落伍了,甚至自己所處的細分領(lǐng)域都可能在科技發(fā)展的過程中被優(yōu)勝劣汰。
但實際上,現(xiàn)實的情況是很多科技公司絕對不請新手程序員擔重任,反而是大量美術(shù)和策劃都是請年輕人。五年甚至十年某些領(lǐng)域方面的程序?qū)<?,這樣子的人才非常稀缺,業(yè)內(nèi)大把公司搶著要。
縱觀歐美等軟件大國可以發(fā)現(xiàn),老程序員也能煥發(fā)新青春。他們?yōu)槭裁辞嗖A老程序員?主要有以下幾個理由。
1、經(jīng)驗
老程序員不再年輕,他不會再像年輕時候那樣腦袋里裝著存儲大量的代碼。因為每一套系統(tǒng)的規(guī)模都在越來越大,腦容量簡直是不夠用了!但是,老程序員的經(jīng)驗可以發(fā)揮作用,畢竟這么多年的編程造就自己可以看穿開發(fā)語言的共同特征,相似之處,以及突出不同點。
2、專業(yè)知識
在80年代初期,只有COBOL、Basic 和匯編語言等商業(yè)語言。而如今現(xiàn)在語言和技術(shù)更加的繁雜、龐大,程序員需要掌握的更多,要懂得版本控制系統(tǒng)、構(gòu)建系統(tǒng)、XML、JSON、數(shù)據(jù)庫和 SQL,還有HTML、CSS、JavaScript 和服務(wù)器端語言等各種web技術(shù)。
掌握這些基礎(chǔ)的技術(shù)才能進入到更高的境界,唯有老程序員擁有一種系統(tǒng)化的方法,可以更加高效地掌握和理解這些新語言、技術(shù)體系。
3、判斷力
老程序員對于重點測試系統(tǒng)有著更好的把控和判斷,他們清楚哪些地方是否需要重點測試系統(tǒng)。他們可以從架構(gòu)圖中看出可能出現(xiàn)的問題。他們可以告訴你針對特定項目可以運用哪些技術(shù),以及如何優(yōu)化可靠性、性能或開發(fā)速度(選擇任意兩種),如何做出好的權(quán)衡。
4、程序的基本結(jié)構(gòu)爛熟于心
老程序員一般會精讀一些有點規(guī)模的程序,并且對于程序的基本結(jié)構(gòu)心中有數(shù)。精讀是指每行都讀懂,在白紙上能畫出來這個程序的基本結(jié)構(gòu),這也是很多老程序員刻意練習的方法。如果誰用這方法搞定了WordPress,他的PHP水平一定會突飛猛進,就是這么神奇!
5、寫了大量代碼
老程序員通常經(jīng)過大量代碼的“洗禮”,這里不是指拷貝粘貼,而是自己琢磨著寫并優(yōu)化它。老程序員至少寫過2~3萬行。反之,如果沒有做到這些,就是一個不合格的程序員,他的編程和設(shè)計能力一定是不及格的。
不過,要提醒大家的是,越老越吃香指的不是說你的年齡越老,而是你所積累的經(jīng)驗,你在修行過程中,有沒有在公司做到不可替代。
IT是不斷需要學習的行業(yè),知識體系更新很快,優(yōu)勝劣汰也是非常殘酷,不學習就要被淘汰。但任何人,只要走上社會,都應該向前看,不能只是停留在睡懶覺過舒服日子的學生時代。