對程式設計師來說,只要保持不斷學習,這場攀爬競賽,就有了護身的繩索。可能沒辦法保證你持續上升,但起碼,在滑落的時候,能儘可能地,兜住⾃⼰。
作為網際網路的底層基石,程式設計師的世界是怎樣的?對於許多程式設計師,它只存在於自己想進入的那些公司中,當下是網際網路大廠。
19歲就從清華畢業的張民,有一個很高的起點。但如今只是某中型網際網路公司一個小專案的技術總監,大多數同學都比他“混得好”,雖然有些人技術和天賦遠不如他。
張民覺得,自己錯在畢業時進入了傳統行業,而那些早早去了網際網路公司的同學,就像坐上了電梯。“人只要站上去,什麼都沒做,就隨電梯自行上升了。”
張民將之稱為時代機遇帶來的差距。
專科學歷出身的武志,剛剛拿到了阿里P7的offer,他把人生目標調整到“35歲前能升到P8”。六年前他投身雙創大潮,進入一家初創公司,儘管公司沒活下來,但是他做了幾個大專案。
出身沒有那麼重要,重要的是一路向上,進入最NB的公司,做最NB的專案。
程式設計師是一個需要不斷向上攀爬的職業,入行門檻低、工作重複性高、技術更新快,以及,不知何時就會停止增長的薪資,這些都是程式設計師的不安。學習,持續不斷的學習,能為他們擰緊,向上攀爬的安全鎖嗎?
不能被市場淘汰
晚上8點,正在下班路上的夏陽在手機上開啟一張自制的課表。這是一個普通的工作日夜晚,等待他的,將是一段長達4小時的線上課程。
一週兩次課,Java訓練營,架構師課程,算上零零碎碎路上的時間,“加上自己實操練習,起碼40小時吧。”27歲的夏陽是一家廈門科技公司的程式設計師。
畢業4年,他為“持續學習”付費超過6位數。但這都是值得的,源源不斷汲取新知識是否能帶來智識提升不重要,是否能夠立竿見影不重要,重要的是,學習帶來的確定感,能讓人安心。
2015年,還在讀大二的夏陽提前“雲體驗”了裁員的滋味。計算機論壇上認識的職場前輩,因為舊系統被取代,整個專案說斷就斷,前輩當天就打包走人了。有幾位被裁後陸續發來“警告”:做客戶端開發,沒前途。
這讓還沒出校門的準“IT民工”感到惶恐。就算當螺絲釘,也要“不那麼容易被替代掉”。每天晚上,即使有時下課回到宿舍都快11點鐘,夏陽仍然要自學。瑩瑩亮起的螢幕前,夏陽一頁一頁翻看資料,四處扒“共享影片”,一直學到凌晨兩點。那時,他心目中的Dream offer是iOS開發崗位。因為聽說一入職就能有1萬塊工資。
畢業應聘時,面試官說,“一兩萬那都是前幾年的事兒,現在頂多開6千”。蜂擁而上的競爭者,顛覆了整個市場的供求平衡。行業的發展實在是太快。
夏陽最終入職了一家中型公司做客戶端開發,在這座二線城市賺的並不算少,但焦慮還是如影隨形。“就像諾基亞的塞班系統,你做到最頂尖有什麼用呢?”前期應用和開發做得再深再好,一旦系統被淘汰,所有積累基本上都是無用積累。
後端,是一個看起來更穩妥、保險的選擇。初期,只需要去選一個技術上的切入方向(對夏陽這並不難,市面上大多數課程就能夠滿足),等到做到Java後端,進入架構的領域,對語言的要求就沒有那麼高,考察的是設計思想。
越是底層競爭越激烈,夏陽決定換個思路解除焦慮,從橫跳改為向上攀爬。在程式設計師的世界,架構師收入是百萬級別,職業塔尖“工種”。夏陽報了兩門架構師課程,花了2萬多。新鮮的概念、名詞一股腦湧進夏陽的腦中,但他很難完全理解。“課也老老實實聽完了,實際到最後感覺還是沒有學會多少東西,遇到問題也沒法直接用。”
不過,能堅持下來就挺不容易的。一個600多人的群,直播房間的線上人數不停地下掉,500,300,等到結課時,他瞥了一眼螢幕上方的三位數,開頭數字是1。
他自知需要系統性學習,付費專欄、大咖課程,都不如“幹中學”。他計劃過一段日子看看杭州、上海的機會,去科技更前沿的地方。
“能去大廠就好了。”
夏陽沒有放棄每天的學習。“一點點來吧。不然爬得再高,底下是空的”,“一杯咖啡錢”就能學到一點新東西,為轉型路補上一小塊缺失的磚瓦,掏錢是值得的。
跟上大廠步伐
肖宇更加幸運,獲得了近距離學習機會。
非985、211出身的肖宇考研失敗後輾轉了兩家公司,做的都是外包業務。他自覺幸運的是,能和阿里正式員工同處一個工區,也遇上了願意讓各部門間相互交流的好領導。外包員工有一些資料許可權上的限制,但能“近水樓臺”請教問題,也足夠令人興奮。
肖宇說,和學霸討論難題的前提是,最好自己先有一個解題思路。“開心詞典知道吧,你的求助機會也是有限的。”
為了讓自己有能力“問出好問題”,肖宇報名了Java課程。“這跟培訓班不一樣。”肖宇指的是那些入門的程式設計師課程,他在瀋陽老家接觸過四五個大大小小的班,“那些上過培訓班的同學們,最後去做程式設計師的,不到三分之一。”
這種培訓班,主打“速成”、“包過”、“可幫改簡歷”,吸引向往高薪行業的零基礎學員。其中,最為人所知的是深圳華強北IT培訓班。從培訓班走來出的深圳流水線廠妹孫玲,一路做到紐約高薪程式設計師,這樣的“逆襲”的故事成為一種階層躍升的想象。
然而,現如今想進大廠,類似培訓班經歷已成為“簡歷上的汙點”,再也沒有矇混過關的可能。
如今,面試官偏向於實操考察,現實場景下一個專案“如何被做出來”。三個月集訓的速成專案,憑技巧做出來不難,但不得其法的初級程式設計師,很難講清楚“how”和“why”,稍微一問深就露餡。業內人都清楚,這種人招進來的“調教”成本遠大於應屆生。
像這樣業務複雜的大公司,所需要的能力不再只是“會編碼”就行。一個產品的體量越大,承載的使用者量越大,程式設計師們遇到的業務場景就越難“套用”前人已有的解決方案。“ctrl c+ctrl v”失效了。
肖宇自己也在招人。在原來那家做軟體的中型公司任職時,他喜歡去培訓班招人,便宜、聽話,基礎活兒能幹就行。現在,從簡歷關,他就會篩掉這批“培訓班出身”的人,“不好帶”。
“培訓班的學生,你讓他寫一個功能,他可能很快就能做出來,但是你讓他做比如說技術調研,到底用什麼技術好,什麼不好,這樣設計是為什麼,換成別的行不行,或者說,突然線上出現了一個很詭異的情況,怎麼定位分析,他們在這方面的能力非常差。”一家中型技術公司的專案負責人黎海說。
黎海明顯感覺到,這幾年大廠走的是精英化招聘路線,只招高P不招低P,“畢業生那種水平差的,幾乎就沒有機會了。”黎海的領導從阿里跳過來,他曾在的team,應屆生只佔了一兩個名額。
人才的篩選像一個大型的漏斗,大廠自然在塔尖,高薪和期權栓走了最頂尖的一批程式設計師,中型公司緊隨其中,掐住腰部位置,接上從塔尖滑落的程式設計師。
不景氣的經濟形勢下,曾經如火如荼的初創公司數量減少了1/3倍。這也就意味,人才金字塔的底部縮緊,初級程式設計師的需求正在減少,應屆生的機會少了。而對於業務穩定的中高型公司,“招一個高階比三個初階有用多了”。
修煉之路,必須提前。這樣的壓力下,很多大三學生就開始做專案,有意鑽研技術。“甚至高中生都開始混論壇了。”黎海說。
而學歷背景反而沒有那麼重要。
肖宇慶幸自己計算機專業出身,“肝”過的論文培養了設計思維。工位旁,他眼見一個出身名校剛入職的P5,跟不上節奏很痛苦。“他之前做光學感測,沒怎麼編過碼,要適應0和1組成的數字世界,思維上轉不過來”。
一位美團程式設計師透露,自己經手的一個社招的高階研發崗位,最開始遵循“非985、211直接pass的原則”篩人,只持續了不到一個月,簡歷庫裡就挑不出幾個能來面試的候選人了。“有實力的人,年紀再大,也是優勢方。”
門檻並不是35歲
也因此,程式設計師的35歲危機,在很多業內人看來是一個偽命題。淘汰掉的是“35歲還在底層寫程式碼的程式設計師”,這跟所有行業的“二八”邏輯一樣。
有些業內頂尖程式設計師根本不屑於報班。“如何解決問題的能力,培訓班教不會的。”剛跳到阿里雲的P7程式設計師李景認為,程式設計只能教入門,接下來的自學會把程式設計師分成三六九等。需要自學的體系非常多,而如何能夠區分輕重緩急,靠的是自己鑽研的過程,“聽課就是等別人喂,不過是在用看似努力的方式在努力懶惰。”
李景說,肯下苦功夫通讀原始碼的人,不愁挑不到好工作。遇到技術上難題時,李景習慣看原始碼找解決方案,或者自己翻看前沿論文。一個技術上的小問題,自己鑽進去研究一整天也不嫌累,他樂在其中,這也讓他在面試時能對自己熟悉的領域侃侃而談,打動面試官。
這畢竟只是少數的頂尖程式設計師之路。對李景來說,阿里雲的內部程式碼庫就足夠學習上幾年,他沒有“業外學習”的必要。
但更多的,沒法在日常工作中接觸到複雜業務的大廠外圍人員,很難看到自己的職場頂點,只有努力向上走。
程式設計師的未來分叉兩條路:一條技術路線,精專技術,高階研發,一樣能爬到很高。一條管理路線,考察綜合能力,技術不那麼重要,但顯然易見,崗位較少。“或者,徹底轉行去做專案管理,或者創業接外包基礎業務,也餓不死”。
不管哪條路,都只有少數人才能登頂。
當然,保持好的心態,也很重要,“人很難一生都在走上坡路。你沒有辦法保證每次跳槽都加薪30%,向下相容的話,未免就吃不上飯。”33歲的美團程式設計師彭舟說,“我已經做好了掉下來的準備”。
但在掉下來前,起碼確保自己呆在一個發揮空間更大的池子,把人生起伏的曲線,盡力衝上頂點。
去年9月,為了完成“35歲前跳大廠”的目標,彭舟脫產報名了Java訓練營,可以說是背水一戰。彭舟估算,一期訓練營裡,最終能順利跳到大廠的,不到10%,“這個比例已經很高了”。
他信不過營銷打得滿天飛的線上機構。刷抖音、朋友圈時,經常能看到開課吧、達內等機構的廣告。就連搜資料時,要百度翻上幾頁,才能從滿屏廣告中找到自己想要的內容。“營銷佔比太大了,很難相信他們把真正資金投入到課程上,收費又貴,感覺割波韭菜就走。”
14、15號線換乘站途中的滿屏藍
28歲的黎海已經做到架構師的職位了,即使自身經濟壓力不大,職級也年年遞升。他依舊很焦灼。身處一個業務導向的中型技術公司,技術永遠服務於業務,“不是說你可以探討,更多是一種行政命令式的,啥也不想,執行就好了。”
而當自己成為一家公司的技術天花板,負責的架構工作不再有挑戰性。“做架構必須得有場景,工作中遇不到高併發場景。沒有複雜業務的場景,做架構師其實也蠻枯燥的,沒啥可架構的,維持原樣就行。”
黎海看到一個攜程工作的朋友在朋友圈推薦課程,明知道“這是分銷邏輯”,但能幫自己查漏補缺,還能有機會從線上學習轉移到線下交流,接觸到業內有名的技術大佬,就算是花錢買人脈,他也覺得很值。“我們需要和牛逼的人交流。這個圈子裡面真正的做得很好的人,比例還是比較小的。”
“要學的東西太多了,自學很容易走入歧途,一個很小的知識點摳的特別細,其實毫無意義。以工作為導向的話,沒高階玩家點你,白費勁。”彭舟也認為,優秀的職業教育指導意義非常大,能提綱挈領告訴自己,什麼知識更重要的,什麼可以忽略,“能省不少時間”。
時代的機遇與焦慮
為了跳槽,15歲就考上清華的張民,只花了一個禮拜時間,就學會了最新的GO語言。但時代機遇造就的差距,也足以讓人焦慮。刺激,多數來自橫向比較的時,發現自己早已落後於別人好幾個身位。
“就像站在電梯上,有人只站上去,什麼都沒做,就隨電梯自行上升了。”張民說。時代的電梯帶來的成長機會,遠遠大於個人努力。
武志也覺得錯過了職業上升的最佳機遇——六年前,他在“雙創”熱潮下加入一家創業公司,是8號員工。“如果那時能成,秒殺這邊P9。”
他後悔沒能提早離開。創業公司吊在眼前的胡蘿蔔怎麼也無法兌現,瞬息萬變的商業環境讓人沒什麼安全感。“不賭了,進大廠避險”。
武志拿到了阿里P7的offer,這對一個專科學歷出身的員工來說,已經是超水平發揮,但他知道大廠並不是什麼避風港。
張民不認為紅利已經見頂,他在國外旅遊時,遇到過50歲還在寫程式碼的同行。但他也承認,國內外的就業環境截然不同。
從面試環節就能看出,中國大廠的生產模式與國外同行的差異,“他們會覺得我們考得太深,太難,我們會覺得考得太歪、太偏。”彭舟在和美國同行交流時,驚歎於出題角度之“怪”。
“比如說類似於出一個廚師做菜,這個廚師幹什麼幹什麼,讓你寫一段程式碼來模擬這個過程,我是絕對不會出這種題的。”
在國內,實用主義貫穿整個面試過程。面試官會對基礎知識、計算機原理的考察非常看重,最常見的一個問題是,你在做技術選型做決策的時候,為什麼要這樣做?“我們比較在意,你對手裡這個東西掌握的到底多深,你不僅要知道什麼時候用什麼,還要知道為什麼要用它。”
這主要是因為國內大體量產品多,使用者量龐大,高併發的情況頻發,能否以最快的速度找到解決BUG的辦法,保證產品穩定性是第一位的。國外中型公司很多,培訓三個月就能上崗的例子比比皆是,但留給工程師們自我研究的空間大。
與之相比,國內大廠程式設計師們,彷彿身處一個龐大而複雜的流水線,對自己公司產品的理解更加重要。不得不說,這也是一種更去個人能力化的生產方式。
“總說中國程式設計師沒有工匠精神,實際上就是拿我們做農民工嘛。”程式碼行數、程式碼bug率、工作時長、平均上線時長、平均失敗率……彭舟笑稱,這就是衡量當下一個標準工人的新時代維度。
“為什麼一定要在網際網路卷呢?傳統行業也大有可為啊。”極客邦科技CEO霍太穩說。
極客邦科技是一家創立14年的老牌IT知識服務平臺。如今正發力B端的企業版服務,為傳統企業內部的數字化轉型服務“培訓”人才。
霍太穩說,以銀行為例,數字化的線上系統搭建,就需要大批具備網際網路思維技術的人才。“很多傳統的公司特別想做數字化轉型,你的網際網路思維對他們來講可能就是非常大的幫助。”
奈學教育的CEO孫玄也觀察到了需求側的變化。外界把太多⽬光投向聚光燈下的互聯⽹企業,但事實上,國企⾥“35歲+”的技術⼈員的焦慮更強。這個剛完成兩輪融資的新線上IT職業教育平臺上,80%的使用者都來自傳統行業。
“薪資每年其實都會漲,但技術能⼒實際上就是原地踏步。這樣等35歲到了,薪資相對來說很⾼ 了,但技術能⼒可能還是停留在20歲、25歲,所以他⼀定會焦慮。”孫⽞說。
跳出傳統行業的張民有著更復雜的想法。他不擔心爆炸性技術增長帶來的知識老化,能靠學習解決的問題都不是問題。但幾次跳槽工資翻番,他說,仍然看不清高速飛馳的時代機遇究竟奔向何處。
(經受訪者要求,夏陽、肖宇、黎海、彭舟、李景、張民、武志均為化名。)