有一些大公司,為什麼還要使用過時的技術?

低調的牛肉


有些人可能會覺得,大公司IT力量強一些,技術應該也是不錯的;想象中的大公司,項目應該都會用到前沿的技術,開發流程也會很規範...其實,很多時候並沒有。


人員問題

在十多年的工作過程中,我對一句話的理解越來越深刻:“不是自己多牛,都是同行的襯托”;在很多大公司裡,混日子的程序員真是不少,並且在大公司待的時間越長,你就會發現,身邊的牛人都跳槽去了更好的公司,留下來的都是“資質平庸”的人,而這些資質平庸的程序員大多都有幾個特點:

  • 一個功能,可以在自己的系統做,也可以在別人的系統做的時候,一定會找各種理由“不接活兒”,而不會考慮這個功能【應該】做在哪裡;

  • 功能實現就行:滿足於能滿足需求即可,對代碼規範、擴展性從來不關心;

  • 只是做好本職工作,不關心技術(或其他能力)的提升,工作十年,但實際工作能力只相當於工作三四年的程序員,另外這些年都是在做“體力勞動”;

  • 當公司裡面這種程序員多了,能把需求開發好就不錯了,哪還會想著優化代碼,研究點兒新技術應用到項目中。

重構成本

  • 一些大公司業務極其複雜,在經歷了一代又一代人的“努力”,代碼的複雜程度會超過你的想象;很多時候,程序員接手了別人的項目之後,寧可增加新的方法,儘量不改老代碼;甚至一些祖傳代碼,是沒有人敢動的;

  • 業務沒有那麼大的壓力,雖然是開發多年的系統,加點兒CPU和內存還能再戰幾年,很少會有人主動重構一個龐大的系統;

  • 很多IT的領導也抱著不求有功,但求無過的想法,系統重構,不屬於業務發起的需求,重構好了不算你的功勞,萬一有問題,那就真的有問題了。

絕大部分公司都是業務驅動的公司

相信這樣的場景大家都遇到過:

  • 業務:這個需求什麼時候能上線?

  • IT:開發加測試,估計要兩週。

  • 業務:什麼?不行,下週必須上!

  • IT:時間太緊了,肯定開發不完...

  • 然後...業務讓業務的領導去找IT的領導,最後的最後,就是週末加班,下週上線。

長期在這樣的環境下,就算你代碼能力再強,也很難有發揮的空間,最後很容易就變成了“代碼能跑就行了”,至於專研一下前沿的技術,哪會有這麼多時間。

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。


會點代碼的大叔


第一點,客戶沒有給錢,所以公司不想為客戶更新到新的產品,或者是客戶產品斷代很嚴重,全部更新可能會造成損失。

第二點,整套系統代碼翻新的成本太高,對於公司來說時間上不允許。

第三點,也可能是人員的問題,並沒有太精於新技術的人員,而很多代碼是老員工寫出來的,新人有新想法,但是沒人擔責任。

所以就出現了你發現的情況!


分享到:


相關文章: