撰文 / 鄭亞紅
編輯 / 趙豔秋
本文由AI財經社原創出品,未經許可,任何渠道、平臺請勿轉載。違者必究。
程式設計師的世界也是一座圍城,站在城外的人想衝進去,圍在城裡的一部分人想逃出來,而最終絕大部分人不管情不情願都得出來。
作為常規職業,程式設計師在中國出現的時間不過才30餘年。這是個年輕的工種,但已經無處不在。只要有網絡,就會有程式設計師。一眾神一樣的網際網路公司在那裡閃著光,有經驗的人會說,一無所有的年輕人想要賺錢,那就學計算機吧,這是條改變生命軌跡的捷徑。
而對另一些人而言,這個職業還裹挾著不為人知的苦。比如常年保持高三自學和自律的狀態,因此頭髮才掉得格外快;比如去美國當灣區碼農,內卷和攀比也如影隨形,一不小心就掉進年薪、房子和綠卡的黑洞中,心態失衡,明明一年幾十萬美刀卻感不到快樂。
而更大的威脅是這是一個不可託付終身的職業,過了35歲,危機和轉機只在一念之間。
「難道我連一瓶水都不值得給嗎?」
5分鐘內,程式設計師阿豪從信用卡中刷了195美元。他正在為「刷題」進外企買單。
三周前阿豪在北京接到3個面試機會,公司分別位於西二旗、亦莊和望京,這是幾個北京程式設計師的大本營,任何兩點之間的距離都超過半個馬拉松。但一圈下來,最讓他氣的不是北京太大,而是「居然沒有一家公司給水喝」。面最後一家公司時,這個廣東來的男孩用毫無起伏的語氣問面試官:「你們從來都不給面試者水喝的嗎?」對面三十出頭的男人瞪圓了眼睛,愣了兩秒才拿起電話打給行政:「送瓶水過來。」
水當然不是全部原因,但足以是一個敲醒腦殼的大棒槌。「我在深圳找工作的時候從來沒有遇到過不給水喝的公司,北京的公司就是牛啊。」阿豪想不通,自己坐一個半小時地鐵,下了地鐵又騎10分鐘車趕過來面試,難道連一杯水都不值得給嗎?「這是最起碼的尊重」。
面試過程中存在的理念差異也讓他很不爽。一家公司出了20道題目,有道題是考記憶力的,阿豪一時想不起來,在答題區寫:「查一下就知道了。」儘管其餘19道題都做對了,面試官還是感到被冒犯,他用難以置信的奇怪語氣吼出來:「查一下?!」阿豪不懂:「難道他們以後上班沒網?每行代碼都要自己想出來?」
「嘴臉夠難看,我還沒入職就已經不被當人看。」
北京城是最不缺程式設計師的,這裡聚集著來自全國各地的碼農,光是北邊的西二旗,其地鐵站在高峰期一小時就有2.5萬人湧進擠出,其中會敲代碼的估計超過一半。有人推測,中國有500萬以上的程式設計師,其中五分之一在北京。公司不愁找人,年輕人也不愁找工作。在編程班學習幾個月,出來也能以8000元月薪入職。
阿豪覺得,那些想賺錢的年輕人,及時轉學編程是聰明的。他一個初中同學專科畢業找了份3000多元的工作,後來花2萬元報了一個編程班,幾個月出來就找到8000元的工作,兩年後工資變成一萬二。「不過他本身也愛看書,願意學習。」阿豪說。
阿豪熱愛計算機。他不是名校畢業,大學時就對課堂教學內容滯後深有體悟,便開啟自學之路,把一半生活費用在了買書,一小半是國外的英文原版書。那些書不好讀,一本本厚得像字典,最開始他一整天只能翻動10頁,後來他兩個小時就能看二三十頁了。到了畢業時,他看完了四十幾本技術書,還有幾十本沒來得及看或者沒看完。
阿豪上一份工作是在IBM做外包工程師。當時他跟IBM美國總部的工程師交流頗多,對方欣賞他,給他內推,他先後通過了IBM的三輪面試,offer允諾下來,根據職位預估待遇將是他做外包的兩倍還要多。結果恰逢多事之秋,offer一推再推,最後由於所在項目進展不順,變成了無限期推後,等待半年後,阿豪選擇了離開。
與IBM打交道這段經歷讓阿豪了解到外企的工作風格:工程師地位高、不加班、休假多、注重思路和溝通力而非記憶力。
圖/視覺中國
他打開招聘網站,發現北京一大波外企竟還在招人:Hulu待遇豐厚,微軟是自己一直關注的企業,還有一家業界做得非常系統的外包公司,它的辦公室就坐落在離他住處騎車10分鐘的地方。
重要的是,這些公司並沒有將「985、211優先」這樣的要求放進去,這給了阿豪機會。「還是去外企!」阿豪決定了。當天下午,他在Leetcode、一畝三分地等資訊網站上支付了近200美元。會員開通後,他獲得了資源大包——大廠完整題庫和美國企業面試經。整個十月,阿豪會在刷題中度過,他無奈地表示,「內卷嚴重啊」。
「內卷」這個概念也稱「過密化」,最早說的是殖民地爪哇,由於人口迅速增長和殖民者對農作物的需求增長,造成大量人力進入農業生產,而殖民者提高農作物總產量的辦法,靠的並非是提高個體勞動力的生產效率,而是壓縮他們的成本。內捲化一般指一個社會或組織既無突變式的發展,也無漸進式的增長,長期只是在一個簡單層次上自我重複。
而現在用來形容程式設計師行業,也再合適不過了。社會對軟體有巨大需求,但「程式設計師太多了,招聘就只能不斷加大題目的難度、縮減答題時間。」阿豪說,近幾年題目越發變態,比如有些題涉及動態規劃,但實際上這是一個場景十分有限的技術,工作十年都不一定用得上。
再加上現在軟體項目龐大了許多,再也不是一個人單槍匹馬的工作,很難再有30多年前求伯君的傳奇了。
於是,企業招人的架勢看上去找的是一個能造出火箭的英雄,而實際上等你真的入職了就會發現,自己不過是在日復一日中擰著螺絲的小工。「這就是行業現狀」,阿豪解釋。
「過去程式設計師是匠人,現在是流水線上被迫趕工的小工,要的是『糙猛快』。而想進入一條更正規、提供更多福利的大流水線的門檻卻越來越高,雖然進去之後還是做小工。」阿豪打比方道,而他現在正在為進入一個大流水線而努力刷題。
被光鮮外表「套住」的人
10月1日,北京天安門前,程式設計師出身、小米集團創始人兼CEO雷軍,以民營高科技企業家的身份出現在「十一」的彩車上,他笑逐顏開,揮舞著捧花的身影在電視直播裡停留了數秒。而兩個禮拜前,美國矽谷,一名中國籍程式設計師在Facebook總部的大樓上縱身一躍,結束了自己38歲的生命,沒有留下任何遺言。
時代浪巔,前途光明,這個因光環吸引了無數優秀人才的行業,裹挾其中還有不為人知的高壓、焦慮和各種苦不堪言。
從Facebook四樓跳下的工程師Qin Chen畢業於浙江大學,30歲那年赴美在南加州大學攻讀碩士,後留在美國,一年半前加入Facebook。根據前Facebook工程師、現YouTube網紅Patrick Shyu在揭露視頻中介紹,Qin Chen所在的廣告技術部門,本身壓力就很大,稍有閃失都可能造成數百萬美元的損失。最近Qin Chen的工作評級下滑,他想換組避免進入PIP(績效改善計劃),因為進入PIP的僱員在一段時間內如果不達標就會被炒掉。Qin Chen的印度裔上司先是同意,後又出爾反爾,最終還給了他一個低評級,讓他無法換組。
YouTube網紅Patrick Shyu披露,61.8%的人認為與加入之前相比,目前在Facebook的每個人都感覺壓力要大一些。
Patrick Shyu還稱,Qin Chen沒有綠卡,只持有工作籤證。這意味著,如果被開除,他就必須得在60天內找到新僱主,不然就得離開美國,而他的家人待在美國也全靠他的工作籤證。外界猜測,38歲的Qin Chen在美國的8年時間幾乎每兩年跳槽一次,與拿綠卡不順有關,這些壓力最終壓垮了他。
很多人認為,Qin Chen事件並不是一個人的悲劇,應該將其歸咎於Facebook惡性競爭文化以及美國大廠對PIP制度的濫用。在Patrick Shyu的視頻中,有Facebook員工在匿名論壇Blind上坦言,自己有好幾次也想過自殺,並且去閱讀公司死亡保險。也有員工寫道,當他與其他員工談論企業文化和工作中的快樂時,很遺憾沒有人說很快樂,沒人願意長時間待下去。
有國內老程式設計師評論說,Qin Chen的行為表明,程式設計師肯定不是他原本內心深處最熱愛和執意追求的東西。因為幹程式設計師很苦,沒有真心的熱愛,很容易被別的東西裹挾。而最近這些年網際網路的高速發展,這個職業被裹挾了太多東西。
也有灣區碼農評論稱:被PIP了不要先自我否定,這就是一門生意而已,不要把自己個人的喜好過多投射到一個商業公司上。要想的只有怎麼讓自己的利益最大化,怎麼給自己爭取更多的時間。
從另一個角度來看,Qin Chen本身有其他更加靈活的選擇,甚至大不了回到國內,以他這樣優秀的教育背景和履歷,並不愁無施展的舞臺。但26歲的女程式設計師鄭然覺得,將Qin Chen壓垮的,還有灣區隱形的鄙視鏈:「不能回國,回去就是失敗。」
2017年鄭然在美國一所大學修完了計算機碩士,第一份工作是灣區的一家創業公司。離職待業時,她想過回國,但周圍人都在跟她說:「堅持一下,不能回國,回去就是失敗。」
她很迷茫:100萬元的留學開銷、身邊同學不斷收到的offer大包、要留在美國的自尊心、上一份工作中來自上級「你不適合做程式設計師」的評價……睡覺時鄭然常常望著黑暗中的天花板問自己:我是不是一個loser?
她決定要留下。這之後半年,鄭然主力攻克谷歌,開啟刷題模式,這一刷就是半年。谷歌題庫700多道題,她並不是把每道都刷到,但兩百道是有的。但當她如願以償進入谷歌后,並沒有變成「人生贏家」,她在工作中感受不到快樂,待了一年後,她被PIP,兩個月後便離開了谷歌。她說:「我在灣區就是一個失敗典型吧。」
鄭然經歷了痛苦的自我懷疑時光,她尋求過多個心理諮詢師,包括谷歌內部的Bluedot志願者。她發現大公司內部的心理諮詢部門並不是給求助員工信任和自由表達的綠洲,其價值就在於幫公司勸你儘早主動離職。
還有專業的心理諮詢發揮了作用,她意識到自己並不是一個loser。身處灣區「CS大法好」的大環境,很容易被周圍的圈子攀比帶跑偏。一個在灣區大廠的程式設計師總結,在灣區,碼農們比誰拿的offer高、誰拿到了綠卡、誰住的house漂亮、誰的孩子上了頂級私立學校......
比較永不停止,他們已經是站在金字塔頂層的程式設計師,但正因此而更怕掉隊,對「成功人生」的追逐狂熱不減,以至於他們步步驚心,如履薄冰。當裁員或者PIP來襲時,程式設計師們更容易陷入脆弱的絕境,擔心周邊人的眼光而崩潰。
離開谷歌后,鄭然在兩個月時間裡做了以往從未做過的事情。運動、用約會軟體認識網友、參加了一場兩百人相親大會。這些事情讓她突然發現,世界之寬廣,人類之豐富,成功和失敗之間沒有標準。
「我連不擅長寫代碼都能刷題刷進谷歌,那我做自己擅長的事情豈不是無敵?」鄭然終於跟自己達成了和解,但是她表示心理諮詢會一直進行下去。
程式設計師不是一個終生職業
無論正擠破頭要去大廠的人,還是已經在光明頂沐浴陽光的人,程式設計師中的「老人」們已在尋找自己的下一個戰場。因為對於絕大多數人來說,程式設計師不是一個終生職業。
「我現在轉行了」,樓鈞頓了頓說:「現在做餐飲。」放棄老本行,讓在行業中小有名氣的樓鈞感到難為情。
樓鈞是國內某大廠老人,40多歲,程式設計師出身。跟隨技術趨勢和公司業務的調整,他的職業生涯進行了幾番變動,做過作業系統、雲和大數據,幾年前人工智慧襲來時,他又要學習AI。直到這個時候,老樓承認這個年紀學新東西太吃力,那些書和論文已經啃不動了,離開是最好的選擇,給年輕人挪窩,給自己解脫。
樓鈞這樣的人在他的老東家並不少見,他們在十幾二十年職業生涯裡,完成了財富積累後,隱退江湖。有趣的是,這其中一大波人選擇了傳統餐飲行業,這是個陳舊的古老行業,不需要翻英文論文,不需要一宿宿加班跟產品經理battle,一筆錢投進去,找個業內人,自己聽響就夠了。
另一個40歲的老程式設計師熊一居則將主要精力放在經營自媒體上。熊一居2001年工作後,在網站和遊戲公司一共待了10年,2009年時在最合適的時機轉型iOS開發,延長了自己的職業生命周期。這之後,他自己搞過創業,又回到大廠。直到2018年,近40歲的熊一居從未自己找過工作,獵頭和同行會主動找上門,「挺高興的,其實只要有水平就不用擔心。」
這樣的狀況在40歲這年有所改變,大半年過去,他沒有接到獵頭的電話。熊一居認為主要是因為經濟大環境不好,又想想,他說自己需要集中精力,要把更多心思放到自己現在的自媒體創業項目中。與自身技術適配度有關嗎,熊一居拖長了一聲「嗯」後,說:「挺複雜吧,有關係但不是主要原因。」
35歲後該怎麼轉型?這極富現代化的憂思不是一個新議題,但率先在程式設計師群體中蔓延。有調查顯示,近一半的程式設計師年齡在25~29歲之間,且35歲以上佔一成不到。
前百度資深研發工程師張成海認為,在國內,程式設計師的確不是一個終身職業。在他看來,這並不是因為程式設計師要掌握的技術日新月異,而是源於國內職場環境忽略了程式設計師的工程師屬性。
有人認為程式設計師和醫生不同,後者靠經驗積累,前者則是靠吃青春飯,因為技術迭代的節奏太快,且每個技術都是不同的,需要重頭再來。中年以後,程式設計師的學習能力和速度都極大下降,以致無法匹配工作需求,只能退出職場。
但張成海說,當下很多流行的技術其實是過去的延伸。他舉例,Ruby on Rails 這個Web開發框架,現在基本已經消亡,但其中的思想在如今流行的Python Web框架Django中依然有所體現。不止如此,「現在所有流行的Web框架都會受到影響,一個美好的東西出來了,人類就會記住它,再以不同的形式重現它。」
「一個有素養的工程師不會被這些所謂的新東西迷惑。」張成海表示,前兩年人工智慧很火,誕生了很多新算法,但實際上,這些新算法不是憑空而來的,它們都是對舊有算法做出了各種改進,恰好在一段時間內集中爆發。有人說人工智慧很新,他要從頭學。這不能說明程式設計師不依靠經驗,而是說明,國內公司分工有問題,沒有提供一個好的職業發展途徑。「國內注重的不是工程師的素養,而是能否加班,短期內能壓榨多大的價值,有些程式設計師是速成的,知識體系本來就不牢固。」張成海解釋到。
軟體工程師落腳是在「工程師」,張成海笑言,對於工程師來說,經驗總是凌駕於工具之上的,其他工程學範疇內適用,計算機同樣適用。而國內程式設計師難以成為終身職業,根本原因是國內的資本發展不夠健康,沒有工會約束,最終忽略了程式設計師的工程師屬性。
不過,仍有大量程式設計師在中年以後選擇了更廣泛的領域,好像前些年的程式設計師生涯是在練基本功,為後面更富色澤的人生打下一個基礎。
幾年前,老程式設計師比爾·蓋茨投身馬桶革命。他通過梅琳達·蓋茨基金會,支持不需要下水道的便捷馬桶項目,這種馬桶有望改善全球40億沒有廁所的人的生活,降低疾病傳播風險。有趣的是,這個馬桶能將人類的糞便轉化為電力和清潔的水,比爾蓋茨在親自嘗過一口後還開玩笑說:味道並不比任何瓶裝水差!
圖/視覺中國
雷軍很多年前成為程式設計師中最懂投資的人並創造了小米和小米生態鏈模式。也有程式設計師,因為熟悉某些傳統行業,成為傳統行業和IT技術之間的橋梁。還有程式設計師像樓鈞一樣,進入了不太相關的產業,並觀察著新的機會。
當我問25歲的阿豪十年後的人生規劃時,他沒做太多思考:「開個小飯館……還是服裝店吧,準確來說是服裝品牌。」阿豪喜歡編程,但他覺得這只是一個技能,託付終身沒有必要。另一個重要的原因是,國內還沒有形成大齡程式設計師的就業生態,35歲以上的大齡程式設計師「要麼轉管理要麼做資深專家」,而這兩種方向又與他人生志趣殊途。
而在當下,阿豪LeetCode主頁顯示他已經刷了76道題。好像多刷一道,阿豪就距離未來生活更近了一步。
(文中採訪對象皆為化名)