在BAT等一線公司呆了三年的程式設計師們會有怎麼樣的未來?
離開BAT:不破不立
離開理由一:部門邊緣 與主業發展脫節
「與其說我坐上了 BAT 的豪華遊輪,倒不如說我是坐上了貼著 BAT 牌子的小漁船。」方星這樣回顧他在 BAT 的工作經歷。
2011 年北郵碩士畢業的方星,校招季首先拿到了某 BAT 的 offer,薪資崗位都十分符合方星的預期,公司甚至還給出了額外的抽籤落戶北京的機會。這些「美好」,讓方星開始暢想自己未來的生活。
但讓方星萬萬沒想到的是,現實的打擊來的這麼快且直接,先是 50% 概率的抽籤落戶沒有抽到,直接和北京戶口暫時說了再見。再是工作上方星發現自己被「坑」了。
雖然給 offer 時,標明瞭崗位,以及大概的工作內容,但是作為應屆進入 BAT 的方星並不知道自己進入了 BAT 邊緣部門。他進入的部門,主要負責公司內部 OA 系統建設工作。方星越工作越感覺自己是「一座孤島」。方星的組裡加上 leader 總共不超過 5 個人,大家相互之間也不怎麼交流,各自負責各自的工作。
除了業務邊緣外,方星所希望的:能夠感受公司的技術氛圍,搭建自己人脈的想法也隨著業務部門邊緣直接破滅。他和主業的溝通僅限,「我的賬號怎麼又登入不上了」、「給 XXX 開個許可權」,方星有的時候覺得自己像是一個IT管理員,「就差找我修電腦了」他自嘲道。
對於剛剛畢業的方星而言,進入一個沒有被公司提出市場化要求,或者進一步的發展需求的部門,打擊是顯而易見的。根據 100offer 觀察,進入 BAT 的邊緣部門,最後導致離職,也是很多應屆生進入 BAT 之後比較常見的離職因素之一。應屆畢業生面對大類招聘時候,雖然不知道具體的業務部門,但由於嚮往 BAT 的光環,還是選擇「賭一把」。那些進入邊緣部門的應屆生往往很快就發現和自己預期所想差距太大,最終選擇了離職。
合同期滿後,方星順勢選擇了離開BAT。
離開理由二:受限業務 晉升遭遇瓶頸
2013 年碩士畢業的石浩宇,是一個對演算法有點想法的演算法工程師,剛畢業的時候加入了國字號的某研究院,「和市場有點脫軌」、「清閒」、「上升空間窄」,這些缺點逐漸消耗著石浩宇的工作熱情。雖然研究院幫忙解決了落戶問題,但是工作一年之後,石浩宇還是選擇了違約離開。
石浩宇在研究院中自我積累下來的技術基礎幫助他順利通過 BAT 的面試。這家 BAT 公司開出了優厚的待遇和符合石浩宇期待的演算法崗位。雖然評級只給了 P5(參考阿里標準),但想著未來的發展趨勢和自己的職業目標,沒有太多的猶豫,石浩宇隻身南下,以演算法工程師身份進入某 BAT 公司中的一個重要業務部門。
「蜜月期很快就過去了」,石浩宇提到以前的工作,有些無奈。石浩宇和他的同事們的工作時間不斷被會議、運營和產品同事分割,「我們煩不勝煩,給運營的團隊開發了一整套小工具,即使這樣,也無法阻止他們事無鉅細的反饋和詢問」。
雖然是演算法工程師進入公司,但是並沒有很多空間給石浩宇做模型的探索、實驗,「甚至會有點懷才不遇的感覺。這不是說沒有遇到好的老闆,而是老闆也有業績壓力」石浩宇如此形容他的這份工作。
像石浩宇這樣,進入核心部門,從事自身目標崗位的 BAT 程式員,他們煩惱的方向又有了變化。業務導向成為了一柄雙刃劍,合理的業務導向的確能夠直觀反映技術帶來的效果,但是也會挾制技術的發展。100offer 接觸的很多像石浩宇這樣在平臺上看機會的 BAT 程式設計師就面臨這樣的困擾。他們通常抱著一顆技術精進的心進入大廠,但還沒有渡過適應期,沒找到平衡的方法,就「先身士卒」。
壓倒石浩宇,促使他離開 BAT 的最後一根稻草,大概就是晉升失敗了。「倒不是說一定要在一年內升級有多麼重要」,石浩宇現在回想起來,仍然覺得自己選擇離開是正確的,「這是一個節奏和未來發展的問題」。對於石浩宇而言,南下就像是一場實驗,既然不能給自己帶來技術成長,加上晉升也沒有成功,那不如快速止損,回到北京。
離開理由三:發展快速 過早摸到天花板
孫驍霄也沒想到,自己能發展的這麼快。2010 年,上海世博會,大四的孫驍霄第一次到上海,目的當然不是觀光,還有在某一 BAT 公司的實習,這一實習,就是四年。
「我應該屬於運氣比較好的那種」,孫驍霄謙虛地說,孫驍霄加入公司的一個新業務部門,那個業務在2010年,不僅是新,可以稱得上是荒了。
他就是開疆拓土中的那一個,整個組只有孫驍霄一個前端,再加上小組的技術 leader 的風格比較自由,願意給成員自己發展的空間,孫驍霄就全包了所有前端的工作,體驗了一把從 0 開始。實習期表現亮眼的孫驍霄畢業後以 P5(參考阿里級別)轉正。通過這個專案,孫驍霄不僅體驗了一把業務資料量達 30 億的快感,他還建立起了專案大局意識,順便發表了一個專利。
級別上他也一躍升到 P7(參考阿里級別),這個時候,孫驍霄開始思考下一步應該怎麼辦,繼續留在公司,幾乎可以遇見光明的晉升未來。
但是孫驍霄發現,自己在目前的業務上,再也不能獲得如此迅速的成長了,甚至達到了瓶頸期。他開始思考換個地方試試,當「去外面看看」的想法越來越強烈,孫驍霄決定離開「舒適區」,進行下一個冒險。
無論是上述哪種離開 BAT 的原因,背後都蘊藏著「不破不立」的決心,那麼離開 BAT 之後,他們選擇了哪裡?
離開BAT去哪兒?
雖然在 100offer 平臺上,他們都手握 10+ 個面邀,但他們的選擇反而十分慎重。市場上的公司無非可以分成,創業公司、可以成為下一個 BAT 的獨角獸、另外一家 BAT。他們在選擇的過程中又是如何考慮的呢?
選擇一:加入早期 TMD
2014 年,方星離開 BAT 的邊緣部門的同時,也離開了自己從本科求學開始就生活的北京。伴隨著方星南下跳槽的是甲公司和乙公司的 offer。這兩個公司和 BAT 比起來,都算是創業公司。相對於乙公司剛剛起步不久,業務也比較初期,甲公司業務更加成熟,規模也更大一些。
兩個公司開出的薪資都差不多,乙公司還承諾方星更多的「技術自由」,口頭允許方星使用他推崇的 scala 進行業務實現。經歷了第一次職業選擇上失誤的方星,這一次顯然更有警惕心。方星理智地綜合考慮了一下兩家公司的業務和發展,認為在甲公司至少在業務上能夠比乙公司更加靠譜,最後決定加入甲公司。
「當時覺得如果實在不行,甲公司的工作經驗寫在簡歷上,可能稍微比乙公司好跳槽一點」。方星加入的甲公司現在成為後 BAT 時代的領跑者,也有了自己的標籤:TMD。
能夠像方星這樣順利加入一個能成為下一個 BAT 的獨角獸企業,也許是每個從 BAT 出來的程式設計師都想「賭贏」的一件事。問及方星是否想到會有這一天時,方星用了「人品好」這個詞。在職業選擇上更尊重理智與內心,警惕那些「投機取巧」與「看上去很美」,是方星給出的職業選擇方法論。
選擇二:進入另一個 BAT
2015 年,石浩宇在 100offer 平臺上選了又選,還是進了另外一家 BAT。「看了許多創業公司,還是覺得大公司更符合我的需要」,石浩宇如此總結這一次選擇。

2015 年,石浩宇在 100offer 平臺上所獲面邀數
對於一個演算法工程師而言,創業公司的確有更多自主權,但是也少了很多能夠對業務有帶動的技術牛人。再加上這個階段的石浩宇工作只有兩年,他更希望有一個強有力的團隊帶動自己前進。
通過「手寫程式碼」的優異表現,另外一家 BAT 直接解決了石浩宇晉升的問題,給了 P6(參考阿里評級),和一個核心部門的核心演算法崗位。面對這樣的誘惑,剛在北京買了房子的石浩宇實在有些心動。
像石浩宇這樣需求的候選人在 100offer 平臺上並不少見:資歷火候不到技術管理,又有一定的工作經驗。BAT 在面對這類程式設計師通常能開出比創業公司更加優厚的待遇。再加上能夠解決晉升的問題,不難理解石浩宇最後重回 BAT 的選擇。
但並不是每個候選人都能和石浩宇一樣,保持自己的技術水準,順利在下一家 BAT 直接升級。無論工作的外部環境如何,對自己的技術要求不放鬆,這是石浩宇能夠順利斬獲 offer,並且晉升的方法論。
選擇三:與創業公司一同成長
同樣是 2014 年,孫驍霄在一家創業公司老闆的力邀下,加入了 F 公司,這家公司的主要方向是網際網路金融。孫驍霄看中了這個剛起步的行業,進行又一次「拓荒」。
孫驍霄的這次選擇,看似冒險,其實非常穩健,通過朋友的朋友介紹,孫驍霄認識了 F 公司的老闆,對於公司的業務發展以及自己的工作職責,孫驍霄在入職前就心裡有數。
經歷了在 BAT 的全面成長,對於孫驍霄而言,如果不能夠直接升級技術管理,那麼他大可不必離開目前技術都發展良好、自己熟悉且有發展未來的團隊。
看準了行業,符合自己下一階段的求職需求,孫驍霄爽快地接受了這個 offer,加入了 F 公司,完成了又一次職業晉升。
從他們三個人的職業選擇上看,他們首先都非常客觀和清晰地分析了自己目前的處境和需求:方星選擇南下異地跳槽,思考的是如何給自己留後手,於是選擇加入了業務更加成熟的公司;石浩宇定居北京,思考的是如何技術精進,更進一步,所以選擇加入另一家 BAT,看中了公司的技術環境;孫驍霄想要直接晉升技術管理,看重自己的發展空間和行業的發展趨勢,最後加入一家有發展前景,尚處於行業起步期的創業公司。
他們的選擇無疑是「理智的程式設計師」跳槽選擇的經典三步走:衡量處境,確認目標,然後篩選。
選擇後的未來:新的工作會更好嗎?
對於進行了職業二次選擇的方星、石浩宇和孫驍霄而言,從抽象上看,分別代表了三種不同的發展路徑。
方星:在 TMD 走向技術管理
進入 TMD,方星是他老闆手下第四號員工,且資歷最深。工作剛過大半年,方星就被升級成了小組長,帶著兩個新兵蛋子,負責一個系統。主要負責工作是二次開發、重構等。「這次工作,我不僅知道了什麼叫團隊合作,還知道了什麼叫對結果負責」,和上一份在 BAT 邊緣部門的「單兵作戰」工作不同,方星此次發展之路開始變得生機勃勃。
一年之後,公司業務調整重組,方星和他負責的幾個程式設計師被迫分到了一個從來沒有接觸過的業務部門,老闆也換了一個。那個時候,方星過的非常鬱悶,不僅事業上受阻,而且炒股也賠了不少錢。
「沒有想過跳槽嗎?」,面對這樣的提問,方星表現的非常淡定,「沒有,我不是那種特別沉不住氣的人,再加上我還帶著幾個人,這麼一走了之,有點坑隊友」,對團隊的責任感讓方星選擇了留下。
半年之後,公司又重組了業務,方星正式升級技術管理,成為一個細分業務條線的負責人,老闆也換了回來。熬過那段糟心的日子,方星的職業發展終於算是過了一個坎。
從一開始只用負責一個系統,到需要負責一個業務,方星不能再單純地做一個「快樂的碼農」,要開始操心營收、轉化率……操心很多技術之外的事情。「這是一個很無奈的事情,往前發展,你離一線碼程式碼肯定會變得越來越遠」,雖然自己還會花時間折騰喜歡的技術,但是再也沒有一線碼程式碼的感覺了。
2017年,方星邁入 30 歲大關,手上握著數目不小的期權,帶著屬於自己的團隊,年底準備試試能不能升到 P8(參考阿里級別)。這麼看來,如果非要深究是不是「一線寫程式碼」實在有點矯情。但是當 100offer 和他討論未來發展時,他還是堅持說,自己是個技術人,以後還想做個「快樂的碼農」。
石浩宇:留在大廠穩定發展
石浩宇現階段,算是人生中比較穩定的階段,孩子已經能出去打醬油了。和方星一樣,石浩宇也遇到了一線程式碼能力有些下降的這件煩心事。
進入現在這家公司之後,雖然負責了新業務,但是還是難以逃脫「業務」的魔爪,與其說自己現在是個演算法工程師,石浩宇更想劃去這個 title 裡「演算法」這兩個字。「再也不能像以前那樣,靠手寫程式碼通過面試了」,提到這個問題,石浩宇有些沮喪。和方星負責一條業務不同,石浩宇雖然也是一塊業務的負責人,但他們的團隊更加鬆散,大家除了這一塊的工作之外,還有許多別的工作,「算是一個雲團隊」,石浩宇這麼評價。
雖然離演算法更遠了,但總的來說,石浩宇目前對於自己的工作狀態還是比較滿意的,他現在負責的業務算是新興業務,也是未來發展的一種趨勢,工作的挑戰性也不錯。2017年下半年,石浩宇升上了P7(參考阿里級別),手上也握著一些公司的 RSU。
雖然在業務部門,個人發展總是繞不開業務指標的考核,但是談及未來,石浩宇還是對「演算法」有著一些執著。工作之餘,也會盡量多一些時間用來看看公開課、看看論文,相比起來,他還是更喜歡那個能「手寫程式碼」,收割一把 offer 的自己。
孫驍霄:重回 BAT,迴歸技術本身
2015 年,孫驍霄加入了 F 公司,一手搭建了公司產品的技術框架,為公司建立了高階技術團隊。兩年之後,2017 年,孫驍霄選擇了離開。28 歲的孫驍霄,決定在 30 歲之前,整理一下自己的發展思路,重新上路。
「在 F 公司做技術管理的過程中,難以繞過的坎,就是因為技術管理帶來的技術水平的下降」,孫驍霄談及此次離職時,非常直白的告訴 100offer 的人才顧問,他希望能夠選擇一些 C 輪及以上的大公司,能夠在技術上有進一步的發展。

今年年初,孫驍霄在 100offer 平臺收穫面邀情況
雖然已經是兩個孩子的爸爸了,但是在孫驍霄身上,我們看到的除了沉穩和敏銳的眼光之外,還有一顆不斷逃離「舒適區」、冒險的心。這次的 offer 選擇過程中,他選擇了薪資最低的 offer,以兩年前一樣的級別:P7(參考阿里級別)的級別回到了 BAT 。
「會覺得自己吃虧了麼?」面對 100offer 的提問,孫驍霄難得地出現了一絲不淡定。
「肯定會有,但是技術下降是一個不爭的事實。你不能老想這件事,不然就一直過不去」孫驍霄給出了一個十分「完美」的回答。
技術管理似乎總會帶來些許的一線程式碼能力的下降,只不過孫驍霄遇到的比較早,他還有時間調整自己的目標和發展路徑。
孫驍霄似乎一直在「折騰」,折騰著進入一個又一個新興行業,冒著一次又一次的險。在被問及,怎麼解決新行業入門問題時,孫驍霄爽朗地笑了,「你覺得我現在加班還不夠多嗎?」,他用反問回答了我們的問題。
在對他們仨進行採訪時,100offer 覺得用「快樂的碼農」來形容他們最為貼切。褪去 BAT 罩在他們身上的光環,他們總是在不斷地推動自己前進。
他們心中都有一杆稱,稱的兩端,一邊是自己的期望,一邊是現在的處境,當這杆稱稍微往其中一邊傾斜時,他們就會做出調整。讓自己的目標和現狀不至於處於失控的狀態。
因此,他們的職業決策也非常理智,並且形成了自己固定的風格。孫驍霄更加「冒險」,喜歡挑戰新的領域;石浩宇更加「平穩」,總能在現有的情況中找到最優解;方星則更加「保守」,一旦做出決策,即使碰到一些比較棘手的情況,也更願意在現有狀態中進行調整。
撥雲見日,在變與不變的職業選擇中,最後的落腳,都在他們的目標上。
注:為保護候選人隱私,本文涉及人名均為化名。
Java高架構師、分散式架構、高可擴充套件、高效能、高併發、效能優化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分散式專案實戰學習架構師視訊免費學習加群:835638062 點選連結加入群聊【Java高階架構】:https://jq.qq.com/?_wv=1027&k=5S3kL3v