#分享 軟體工程新鮮人的職場觀察
5月21日 22:14
各位已確診和尚未確診的碼農們晚安,疫情期間悶在家多了不少空閑時間,決定來分享下職場觀察回饋社會。
菜鳥我剛畢業不久分享不出什麼高見,唯一值得慶幸的就是保有對軟體業的熱情與嚮往,還沒屈服於現實的殘酷與無奈之下。
自認為觀察的視角會和目前準備出社會的後輩們相近一點,某種面向上應該也有些參考價值。
以下正文~
==========
一、學歷仍然短期職涯投報率最高的手段
「軟體產業重視的是實力不是學歷」這句話應該多少都有聽過,不過這句話該如何闡釋或者是否真的如此呢?
目前很玄的一個問題點是「學歷 == 實力」這個價值觀仍有為數眾多的信奉者的,尤其是在管理職的同溫層中。
然而如果這個等式為真,上面那句話就變成個邏輯迷因了~
從一些客觀的量化資料來看,令人嚮往的知名企業中確實多數員工都是出身名校,而對於名校畢業生的職涯追蹤也證實了普遍具有相對產業平均明顯好得多的發展。
筆者身邊許多對於為來有抱負的同儕們也都是煞費苦心想擠入名校窄門,學歷光環的耀眼程度著實令人趨之若鶩。
這本質上和社會的階級複製大同小異,父母的社會地位和子女的並非相互獨立,而升學和職涯也不是兩個相互獨立的回合。
母校的口碑與人脈對於職涯開局影響太大了,就像父母給子女的經濟支持一樣。
不過根據筆者與幾個好友的經驗,這個現象確實也有在潛移默化的削弱中,原因推論大概有幾個:
1. 學歷已不再是「掃雷」的可靠依據
不少教育機構為了能斂財而廣收學生,錄取的門檻明顯降低,後果就是產出的畢業生素質參差不齊。
而隨著名校畢業生 Onboard 後秀下限的八卦四處流竄,不斷刷新用人主管的三觀,大概意識到現有的徵才流程被鑽漏洞了。
2. 商業成果的時間壓力
軟體產業的募資熱潮過了,不像過去十多年間各大資本熱衷於開拓藍海,名聲響亮的新創在全球多國拔地而起。
現在到了資本的回收期,錢不像以往這麼好募了,投資人也都開始關心運營成績,管理層也就著眼於能隨即有貢獻的即戰力,沒時間讓新人慢慢補上產學落差了。
學歷不好的碼農們也不是完全沒發展空間的,只是會相對辛苦的多,原因你幾乎必須完全靠自己證明自己的本事。
政府或企業砸錢籌辦教育,顧用師資設計評量標準,讓學生有個客觀量化的能力分數能炫耀,而優秀的學長姐們也早已進入產業建立口碑為後進鋪路。
而這些種種福利你不擠進名校的話都沒你的份,就如同打電動時別人一身多采多姿的 buff 但你卻一無所有一樣。
而身為一無所有之人是很折磨的,會收到產業各種莫名其妙的質疑、職涯發展上的政治性排擠等等,必須花更多的時間與心思在「技術 -> 身價」的轉換上,甚至終其一身都將如此。
至於中長期職涯而言,許多高階職位再雇用上會更加謹慎畢竟影響範圍更大,所以會著眼於特定的候選人特質或是過去工作內容的關鍵成果。
那些已經在過去定型、形同標籤性質的學歷固然會漸漸喪失其宰制性的地位。
==========
二、FAANG 及其他一線外商大廠開局仍是極大優勢
要說 FAANG 是目前軟體工程領域新鮮人最嚮往的幾間公司應該沒什麼疑慮,放眼全球大多數國家亦是如此。
即使這幾年來企業內部管理爭議不斷、三不五時有候選人拿到 offer 後又被放鳥、甚至財報上也不是特別樂觀。
但,它們仍是位在產業金字塔的頂端,或至少十分接近。
除了相對於本地企業明顯優渥許多的待遇外,響亮的名號也將成為你在大廠間移動,同時也是在國際間移動的跳板。與軟體工程技術的通用性完美配合,為你的職涯帶來無限可能。
然而外商大廠也並非唯一的天胡開局,最終仍是要回歸到個人對職涯的期待上,FAANG 只是當前畢業生願望的最大公約數而已。
想要貫徹對研究欲罷不能的熱忱,或是想實戰一下刑法上的點點滴滴也都不失為一種選擇。
科技巨頭的開局也並非完美無瑕,只是現實面的實質收穫明顯高得多,然而光鮮亮麗的背後多半有很多苦痛,這點光看一兩年內離職的比例就能略知一二。
最令人擔憂的莫過於趨近於零的話語權,相對於在中小型企業只要主導幾個關鍵模組就能有討價還價的聲量,動不動還能以離職來威脅。
但面對已成熟規模化的大型組織中種種規範時,可能喊得再大聲都激不起一點漣漪,或者是在理解現況與緣由後帶給你的滿滿無力感。
當然,也是有機會遇到個很罩的好主管,但也可能罩著罩著他自己就先掰了。
其次像是 WLB、錢、升遷難易度、專案主導權、技術債多寡也都是考量點,每個人重視的順序和比例都不盡相同,只要確定是朝著自己的目標前進就行了。
另個可以思考的點是,外商大廠也並非只收新鮮人,未來的任何一個時間點想要挑戰應該都沒有什麼阻礙,不一定要急著一畢業就往裡面擠。
==========
三、新鮮人能夠脫穎而出的套路
那麼如今新鮮人想要嶄露頭角是否有些軌跡可以依循呢?
依然是有的,筆者這邊依據觀察身邊發展不錯的同溫層歸類出幾種流派。但這只是舉例,不是窮舉,所以你不用非得在這之中挑一個實踐才會有光明的前途。
同時這也不是說你一定要像政治一樣選一個宣示效忠,這裡只是提供些前人親身經歷過可行的途徑,然後多數人類的有限時間與心力只能聚焦投入其中一個或頂多兩個罷了。
1. 學歷流
作為一個最廣為人知的流派,其穩健的節奏和可預期的回報就如同前文所述的那麽令人垂涎。
遵循社會主流價值就如同乘浪前行,一路上會有很多人有意無意的助你一臂之力,所遭遇的阻力理所當然也是最小的。
這條路的主要缺點就是高成本,除了十幾二十年的養成週期外,期間的學費和生活開銷也要能負荷的了。
而爭取入學名額這件事形同零和博弈,同溫層中的學霸都是你的直接競爭者,基本上很難不被拖入內捲的漩渦中。
升學之路的容錯率也不是非常理想,只要翻船後果就是「再一年」,或者是在多幾年。
名校生在社會中的形象多半光鮮亮麗,但那些升學失利仍在隨波逐流遲遲無法上岸的,未來發展就不得而知了。
然而名校門窄、大廠門更窄,學歷流貌似不是個可以一勞永逸的套路,拿到學位也只是成為了經過品管的候選人而已,在供需組成來看仍落於買方市場。
先不論中長期職涯的學歷掉價問題,即使是在新鮮人職場也真不是說靠著學歷就能橫著走,多半還是要配和其他流派輔助才能有足夠說服力。
學歷這條路除了自立自強外,也有不少人是借助於指導教授的關係來發展的,講好聽點就人脈,難聽點就是開後門,目前確實也有不少學生是依據「這教授能不能把我推進知名企業」來做選擇。
但這就有點走險棋,雖說不用面對太大的外部競爭壓力也有立竿見影的成效,不過副作用也是很大。除了被講閒話貼標籤外,學生的命運在一定程度上是和指導教授綁在一起的。
這意味著必須盡力和他維持良好關係讓他願意大力栽培外,也要他和你想去的公司持續良性合作,其中許許多多環節一個出事就可能全盤出事。
這種把自己的命運和他人強連結的做法是好是壞就見仁見智了。
2. 刷題流
同樣廣為人知,甚至被更大規模實踐的流派,刷題的風氣大家肯定不陌生。這如同產業潛規則,或者該說已經是明擺著的通例,確實有投入時間應付的價值。
刷題最吸引人同時也常被人詬病的就是那謎樣的「公平性」,對於所有候選人用近乎同樣的流程和題目檢視,然而這對於已累積多年經驗的工程師來說剝奪感是很大的。
即使是個帶領一間新創從 1 到 100 成長的 Staff Engineer 他也照樣用算法刷你,但換句話說就算你虛度了人生中前 24 年的光陰,你仍能靠著刷題刷進大廠鹹魚翻身。
這種不看出身的特性讓流派入門幾乎沒啥門檻,半年左右的成形期也是明顯短於十幾年青春,這不管怎麼看都挺划算的。
以當今風氣來說,梭哈刷題流確實可以在初階職場裡把握不少機會,尤其是已經建立穩定篩選機制的外商大廠(或傳產大廠),十之八九都是先一場 Online Assessment 打招呼,過了之後還有 Live Coding 看你表現。
畢竟他們也不期待新鮮人精通哪個技術領域或是有什麼重大貢獻,只需要扮演好小螺絲釘讓整個部門運作正常就好了。
刷題在目前的普世價值中就是個最常規的招聘環節,過了這個環節也只代表候選人是眾多合格者中的一個而已,你大概率會走上一個工廠產線化的招募流程,然後得到個沒什麼協商空間的角色和工作內容。
反過來說,如果你希望自己能在短時間對自己的職涯有更高的主導權、在工作上大展身手並且獲得肉眼可見的發展的話,大刷特刷可能就不是個好方法。
3. 實力流
如果你對於技術有高度熱忱的話,你可以考慮不理會大環境風向如何,硬是靠實力打開局面。
不過和大環境對著幹的風險和背後的先決條件你可能也要理性評估一下,畢竟世界是繞著商業旋轉的,而不是技術。
這條路的先決條件筆者認為基本有二,一是天份,二是時間。
如果對於一個當今熱門的技術或工具搞了快一週都還是沒有頭緒,那可能就缺少了必要的天份。
要用硬實力撐出足夠職場身價的話,只做個電商或售票網站的 Side Project 是不會被放在眼裡的,應該說絕大多數 Side Project 和 Blog 都會被忽略。
主要原則是能凸顯自己遙遙領先整個同齡層,更甚至是整個產業的,這可不是考個試就能解的成就,通常是靠貢獻知名開源專案或是超齡的職涯或經歷來展現。
這也導致學習過程中基本沒人能給予指導,頂多有些前輩或是志同道合的神人偶爾交流,但實力成長幾乎百分之百只能靠自己。
要是連個弄懂個玩具怎麼運作的本事都沒有,那八成是涼了。
另外就是這流派的養成期也不短,或者該說靠機運,而這些機運大多可遇不可求,所以你也只能把自己準備好然後花時間耐心的等遇上貴人提拔。
大部分是受到環境所限制,以現今大家嚮往的公司而言,軟體架構都已小有規模。
Kubernetes Cluster 隨處可見,有的還好幾座,加上 ELFK、Prometheus 等等輔助性工具,在學時期把學費都填進去了也遠遠不夠。
多數人到達一定水平以後,沒錢租機器買服務、沒時間維護系統、沒使用者流量、沒遇上雞歪甲方搞你,就會一直卡在一個瓶頸。
然後陷入「必須加入公司來突破瓶頸」和「公司想找已經突破瓶頸的人才」的死循環中。
而這個瓶頸多半是自幹的極限,確實有些比較偏單打的職能可以走得遠一些,比如資安研究或是演算法,但多數商轉系統所需要的能力與經驗真不是自幹可以練起來的。
以目前產業來說純實力流是吃力不討好的狀態,養成週期也不短,可能國高中就要開始寫程式一路寫上來。
但是在初階職場又會因為實戰經驗不是主流徵才標準而馬上遭遇一波挫折,如果沒辦法把實力撐到頂天碾壓其他人搶下關鍵職缺的話,職涯前期可能都會做得很憋屈。
4. 還是沒想法?
如果還是沒想法的話,筆者這裡產了一張圖可以參考,應該比較方便讓讀者對照自身狀況。
==========
四、平庸的職缺可能比你想的更糟糕
萬一目前沒什麼把握面上想去的公司,可能先找一間差強人意的去練功,學點技術再跳槽可以嗎?
當然可以,很多人也都是這麼跳著跳上來目標公司的,不過如意算盤可能得打的謹慎一點,因為有太多東西可能和你想的不一樣了。
這主要是現在媒體把軟體工程師的形象渲染得太美好了,也許 PR 75 以上確實如他們所述,但要是落到下面的四分之三情況可能不如你所想的那樣。
為了讓內容更聚焦,以下就針對常見的說法來分析:
1. 可以先學技術累積實力
可能是很多公司都被戲稱為練功場所以給新鮮人這種印象,但也不是每間都能如我們所願的練功的。
到一個新環境接手新系統多少都會學到點新東西的,而問題主要是出在於你學的這些東西到底能不能在未來幫上你。
如果你工作上使用的是一個相對冷門、甚至已經過時被淘汰的技術,那你可能沒辦法奢望它能為你加多少分了。
特別是在新鮮人認命學了兩三年後要跳槽時才發現那東西沒人在用,那就真的很悲慘了。
<解決方法>
多看一下外商大廠或獨角獸企業職缺中要求的技術,由於規模夠大技術夠深,他們的選型幾乎等同主流趨勢不會差太多,多關注下產業的趨勢才能在數年後的跳槽中有對應籌碼能拿上檯面。
不過最近有股產業歪風,某些徵不到人的公司手法很髒加了一些 Buzzword 上去 JD,把人騙來面試後才說沒用那技術或是還在評估中。
有些甚至等到你上工後才發現和想象中不一樣,因此面試時還是把重要的東西重複確認一下。
2. 工作之外把握時間自學
「軟體工程師的職涯需要在工作外持續利用時間自學」這個描述確實沒錯,但在勞權低落的地方,可不代表每個人都在工作之外還有時間或精力自學。
不少軟體公司內的文化可不如一些媒體上報導的那麼令人稱羨,很多檯面上你講得出名字的企業內部也是,把知識密集型產業搞得和勞力密集型產業一樣。
差別只是工地那邊是在搬水泥,然後他們是在敲盤而已,論工時的話工地可能還比較低,甚至平均每小時工資還更高。
許多號稱不加班的公司也都是做個形象而已,客戶需求一提也是壓個死線,然後說責任制暗示你應該有責任感加班做完。
另個常見的就是俗稱的救火,業界主流還是用 On-Call、值班等等灰色地帶或自創名詞來佔員工便宜,只是有沒有良心和系統穩健性強弱真的差很多。
有良心的即使沒被 Call 也會補點時薪意思一下,系統也都會讓工程師有合理時間做出良好設計,相對不會太頻繁出事。
但企業多數不會這麼客氣的,被 Call 時加班費怎麼算員工還要主動和他爭論,要是團隊人數不多的話一個月可能要輪超過一次。
然後系統不穩也不會想解決不穩的原因因為賺不了錢,只會覺得當前救火機制不完備要有更嚴謹的制度來改善。
以上種種導致你在工作之外沒有多餘時間或經歷的問題,並不是擇一發生而是有可能同時發生,在這環境下一般人很難有理想的自學成效。
<解決方法>
找有乾爹金主,或是商業模式穩健不被單一甲方綁架的公司,少了從天而降的業務隕石就少了最大的加班禍根。
另外也可以提一些情境題,看看公司是否仍是勞力密集產業的本質,如果任何問題都是砸人力去解的話那還真是不敢恭維。
3. 有資深前輩會帶我
前幾年有個詞叫做「冪等工程師(Idempotent Engineer)」,用來嘲諷那些做了十年了卻和做一年的相比沒啥長進的同行。
聽著雖然好笑但現實中還真不少,特別是那些門檻不高,工作挑戰性也低的中後段公司。
如果是一間你連待一年都不是很甘願的公司,那麼你該思考在裡面待好幾年甚至超過十年的會是什麼原因。
有些可能是被家庭綁著跑不遠,其他多半就是技術不足跳不到更好的公司只好妥協繼續待著,不過在一個養老環境待久了不出意外就真的自廢武功了。
年資不過是影響軟體工程師實力的一個微小因子而已,更遑論職等了。
對於許多給不出更多實質酬勞的公司中,升遷是為數不多的留才手段,畢竟跑個流程就好了也不用調多少薪。
這也導致現在業界常常這邊一個 VP 那邊一個 Director,還有滿地名不符實的 Senior Engineer。
即使公司的前輩真的都很熱心願意教,那些東西也不一定對未來有用,甚至有些設計思路和工具用法壓根就是錯的,要是沒自己讀清楚文件就一起下去了。
相對於「向資深前輩學習」,轉念為「向技術高手學習」會比較靠譜一點。畢竟年資活久了就會有,但實力和聲譽就不一定了。
<解決方法>
面談時主動提問團隊最近遇到的挑戰或是導入的技術,這通常都能有效識別養老院,千萬不要原本只是來蹲點練功,結果蹲久了反而腳麻了跳不出去。
有空的話也可以參與些技術小聚,由於實力會被公開檢視,所以講者水平通常不會太差,找機會問問他們所待的團隊有沒有徵才訊息。
4. 時間仍是不斷地流逝
不論採取什麼決定時間都是會被消耗掉的,如果家中需要多一份收入的話,其實並沒有太多次「先到那邊試試看吧」的機會,很容易轉瞬之間就到了生涯的十字路口了。
如果讀碩的話準時畢業大概 24 歲,不幸要當兵的話被國防部搞一齣就 25 歲,眼看 30 歲大關近在咫尺了。
也許在做決定時把自己的年紀一併考慮進去,可以讓最後的結果顯得更成熟一點。
哦,然後這裡的「糟糕職缺」,也包含,研究生,嗯,話就點到為止。
