對互聯(lián)網(wǎng)來說,重構是政治斗爭和大清洗的重要手段,尤其面向業(yè)務編程的公司和碼農。比如某走出創(chuàng)業(yè)期已有平穩(wěn)營收的互聯(lián)網(wǎng)公司。35歲的技術總監(jiān)在公司建立初期就加入公司,全程參與公司所有重大項目。技術總監(jiān)擁有10年Java開發(fā)經驗,年薪100萬及若干股份。他手下還有一個平均薪資60萬,平均在職6年的核心技術團隊支撐公司運轉。這時公司的項目隨便增加刪除一個功能或業(yè)務都得依靠這位技術總監(jiān)及其團隊,畢竟只有他們全程參與了公司的項目最有經驗,只有他們更清楚既有架構的性能潛力,怎么重復利用既有代碼以及潛在的bug都在哪,就算讓新的團隊做新功能也還得基于舊有的架構。因此這家公司包括老板在內的所有員工及投資人是不是都得看他們眼色,每次漲工資加薪發(fā)獎金是不是都不能少了他們?甚至有時候老技術團隊還會仗著資歷老對老板的命令陽奉陰違。老板和投資人面對日漸升高的薪資成本和話語權被分走,自然會想辦法解決。如果直接把年輕人塞進去讓技術總監(jiān)培養(yǎng),稍微有腦子的技術總監(jiān)都會給自己留一手刻意限制這些新人的發(fā)展。而如果直接裁員優(yōu)化又容易對公司造成強烈沖擊,搞不好還會把整個團隊送給競爭對手或者新的投資人。思來想去解決工程師問題最好的方法還是技術,比如用新的技術體系重構。新的技術體系在開發(fā)時必然參考現(xiàn)有技術體系的優(yōu)缺點,而且隨著技術迭代和編程語言的既有發(fā)展規(guī)律也一定會大幅降低技術門檻。如果招一些年輕人,然后宣布要用新技術體系對既有業(yè)務重構,那某種程度上不正是把公司舊的技術團體經驗清零同年輕人們拉到了相對較近的起跑線,還給了舊技術團隊不得不把技術同年輕人傳承,讓年輕人可以從頭理解公司技術架構培養(yǎng)經驗的機會?重構是把既有的成熟代碼重新實現(xiàn),不存在什么開發(fā)失敗的可能性也不會繞很多彎路。而且現(xiàn)在分布式微服務的思想和架構快速普及,重構越來越可以通過一個功能一個業(yè)務在線實時無縫替換的形式進行,不會造成對舊有體系的突然沖擊使得重構的成本越來越低。絕大多數(shù)互聯(lián)網(wǎng)公司的技術也并不高深,無非就是人力堆起來的業(yè)務代碼,只要給年輕人一個完整項目的開發(fā)機會,年輕工程師的成長也非常迅速。一場重構就能培養(yǎng)一大批堪當大任的新鮮碼農,然后再把這些年輕工程師們的工資從20萬翻倍到40萬也比老技術團隊動輒70多萬的平均薪資低不少,而且這些沒見過錢的年輕碼農們面對工資翻倍比那幫老油條們感激多了。很多時候,年輕碼農為了上位也會主動找老板提出用新技術體系重構,往往老板和投資人對這種工程師內部矛盾和內部競爭非常喜聞樂見,通常也會主動扶持這些想要下克上的年輕人。新人新技術體系培養(yǎng)起來了,還留著舊體系的老人干什么,要么優(yōu)化要么降薪。故重構在很多時候不是提高性能,也不是減少冗余,更不是技術創(chuàng)新,而是赤裸裸的政治斗爭。在互聯(lián)網(wǎng)企業(yè)外,開源組件的重構也是年輕工程師開辟新路線后浪拍死前浪的重要手段。假如Java技術體系永遠占據(jù)絕對市場份額,那豈不是Github上收集星星的開源大神永遠就那幾個,出書錄編程網(wǎng)課的大大永遠只有那些?那年輕碼農什么時候才能翻身。很多工程師覺得自己有一技之長踏實工作積攢經驗就可以越老越吃香,可當工程師紅利泛濫時,年輕的工程師必然通過各種手段卷死老的,資源就這么多,不是你死就是我活。
若覺得文章對你有幫助,隨手轉發(fā)分享,也是我們繼續(xù)更新的動力。
?「C語言中文網(wǎng)」官方公眾號,關注手機閱讀教程??

目前收集的資料包括:?Java,Python,C/C++,Linux,PHP,go,C#,QT,git/svn,人工智能,大數(shù)據(jù),單片機,算法,小程序,易語言,安卓,ios,PPT,軟件教程,前端,軟件測試,簡歷,畢業(yè)設計,公開課?等分類,資源在不斷更新中...