為什么還要使用過時的技術(shù)?
有些人可能會覺得,大公司IT力量強(qiáng)一些,技術(shù)應(yīng)該也是不錯的;想象中的大公司,項目應(yīng)該都會用到前沿的技術(shù),開發(fā)流程也會很規(guī)范...其實,很多時候并沒有。
人員問題在十多年的工作過程中,我對一句話的理解越來越深刻:“不是自己多牛,都是同行的襯托”;在很多大公司里,混日子的程序員真是不少,并且在大公司待的時間越長,你就會發(fā)現(xiàn),身邊的牛人都跳槽去了更好的公司,留下來的都是“資質(zhì)平庸”的人,而這些資質(zhì)平庸的程序員大多都有幾個特點:
一個功能,可以在自己的系統(tǒng)做,也可以在別人的系統(tǒng)做的時候,一定會找各種理由“不接活兒”,而不會考慮這個功能【應(yīng)該】做在哪里;
功能實現(xiàn)就行:滿足于能滿足需求即可,對代碼規(guī)范、擴(kuò)展性從來不關(guān)心;
只是做好本職工作,不關(guān)心技術(shù)(或其他能力)的提升,工作十年,但實際工作能力只相當(dāng)于工作三四年的程序員,另外這些年都是在做“體力勞動”;
當(dāng)公司里面這種程序員多了,能把需求開發(fā)好就不錯了,哪還會想著優(yōu)化代碼,研究點兒新技術(shù)應(yīng)用到項目中。
重構(gòu)成本一些大公司業(yè)務(wù)極其復(fù)雜,在經(jīng)歷了一代又一代人的“努力”,代碼的復(fù)雜程度會超過你的想象;很多時候,程序員接手了別人的項目之后,寧可增加新的方法,盡量不改老代碼;甚至一些祖?zhèn)鞔a,是沒有人敢動的;
業(yè)務(wù)沒有那么大的壓力,雖然是開發(fā)多年的系統(tǒng),加點兒CPU和內(nèi)存還能再戰(zhàn)幾年,很少會有人主動重構(gòu)一個龐大的系統(tǒng);
很多IT的領(lǐng)導(dǎo)也抱著不求有功,但求無過的想法,系統(tǒng)重構(gòu),不屬于業(yè)務(wù)發(fā)起的需求,重構(gòu)好了不算你的功勞,萬一有問題,那就真的有問題了。
絕大部分公司都是業(yè)務(wù)驅(qū)動的公司相信這樣的場景大家都遇到過:
業(yè)務(wù):這個需求什么時候能上線?
IT:開發(fā)加測試,估計要兩周。
業(yè)務(wù):什么?不行,下周必須上!
IT:時間太緊了,肯定開發(fā)不完...
然后...業(yè)務(wù)讓業(yè)務(wù)的領(lǐng)導(dǎo)去找IT的領(lǐng)導(dǎo),最后的最后,就是周末加班,下周上線。
長期在這樣的環(huán)境下,就算你代碼能力再強(qiáng),也很難有發(fā)揮的空間,最后很容易就變成了“代碼能跑就行了”,至于專研一下前沿的技術(shù),哪會有這么多時間。
我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注。