在回復了幾位讀者之後,我也想在這裏和大家分享壹下這個問題:
1.大公司的業務極其復雜。
畢業第壹年,在騰訊做QQ遊戲廳。當時用的是IDE VS2006,用的版本控制工具是ClearCase(估計用的人不多),是IBM開發的。
特點極其嚴謹強大,但流程極其復雜,讓人瘋狂使用。騰訊花了3000萬從IBM手裏買的。
QQGAME的代碼幾十萬行,還有幾十個dll。編譯壹個項目需要20多分鐘。
離開騰訊多年,問以前的同事,他們還在用VS2006和CleaerCase嗎?原因很簡單:更換新版本的IDE需要解決大量的技術問題,業務在高速叠代,我不得不把它掉,更換版本控制工具。各種歷史日誌都會丟失,如果有什麽奇怪的,意想不到的問題,還得去找CLeaerCase。
業務的復雜性也會導致嚴重的耦合。代碼工程壹旦發生耦合,換壹個地方就會牽壹發而動全身。在這種情況下,引入任何新技術都會帶來巨大的工作量。
大公司的業務代碼,在明顯感覺有bug的情況下,有時候運行的很好。
這是壹個由前任留下的排泄物堆積而成的克蘇魯縫合怪。看起來搖搖欲墜,還有無數的蟲子在爬來爬去。卻勉強堆起壹座大山般的身軀,爬著給老板賺錢。
2.大公司的技術歷史是沈重的。
大公司之所以能成為大公司,壹定是找到了穩定可持續的盈利商業模式。這些業務對應的產品往往跨越數年甚至10年。近幾年行業的技術發展很快,但是大公司必須保證業務的穩定性。哪怕技術落後,只要能給老板賺錢,就是優秀的。
妳想嘗試引入新技術?能帶來多少用戶價值和商業價值?系統崩潰怎麽辦?小公司的系統有些問題,無非是影響幾萬用戶。大公司的產品會有壹些小問題。即使概率是1/100,以QQGAME上億用戶為例,也意味著1萬用戶出現問題,壹下子給公司帶來幾千萬的損失。誰敢背這麽大的鍋?
因此,大公司的技術領導者在引入新技術時必須趨於保守。大家都在趨利避害。使用新技術後,他們成功了,但沒有看得見的效益。他們失敗了嗎?收拾東西離開這裏。
3.大公司的新人經常離職。
鐵打的營盤,流動的兵都在說大廠。每年大廠每年招幾千人,又來幾千社工,離職的不下幾千甚至上萬。很多開發人員還是外包人員,外包人員的流動性可想而知。
面對這種人員流動速度,如果能勉強吃透舊的技術體系,那就燒高香了。怎麽會有心情和心思去研究新技術?除非真的遇到壹個技術難點,不得不叠代進化,否則很難有動力去驅動它。
以上三點是我在大公司工作多年後的壹些體會,但就這樣大公司的技術就沒救了?
當然不是!
大公司在以下情況下也會爆發出驚人的技術戰鬥力:
1.組建小團隊攻關,突破領地。
最經典的是騰訊的微信團隊。2012,馬接受張小龍的建議,進入移動通信領域。公司並沒有只是讓QQ團隊開發這個新生事物,而是同時啟動了三個敏捷團隊與QQ團隊賽馬。最後的結果大家都知道。
微信團隊今天的成績不僅僅是用戶數量,更是多終端通訊實時同步的領先技術,在2012絕對領先碾壓。微信團隊的前身是foxmail,張小龍創造性地將郵箱實時同步引入即時通訊領域。
即使在今天,微信團隊已經從幾十人發展到幾萬人,微信的技術仍然保持著快速進化的狀態。
2.這家企業太老了,無法繼續經營下去。
這種情況比較極端,但是會發生。大公司老團隊的業務負責人出走然後帶走骨幹,或者是自然流失,導致老體系新人無解,或者是叠代極其緩慢。
在這種情況下,新的領導人選擇大刀闊斧,直接大規模重建甚至改寫。在騰訊互娛部門,某遊戲團隊就發生過這樣的事情,但各種新技術都得到了充分的應用。
3.技術密集型企業必須不斷在技術上取得突破。
有哪些技術密集型業務?比如谷歌的搜索,微軟的操作系統,亞馬遜的雲計算,華為的5G。妳不用擔心這些大公司的業務有什麽技術落後。
他們實際上已經進入了技術無人區,必須依靠企業的內生創造力不斷突破。所以他們會招募大量世界上最頂尖最聰明的人才。
比如華為會在俄羅斯廣泛招聘數學天才,微軟亞馬遜吸引了大量能力和智力都很高的中國人。
最後說壹下我對大廠的整體看法:導致壹些技術落後的不是大廠員工的能力,而是商業和商業市場的選擇。
另外,我覺得程序員在職場初期(前五年)進入大工廠是非常有必要的,無論是最先進的技術,至少完善的技術培訓體系,薪資福利,更人性化的管理,人才密度等。,徹底碾壓小廠。