提升軟體工程師薪資的三個作法

Yeng Tsan
Feb 10, 2021

--

Photo by Priscilla Du Preez on Unsplash

寫這篇文章的原因,除了不認同前幾天看到 ptt soft_job 版上的「提升薪資作法」之外,也趁著昨晚跟朋友討論如何讓自己的薪資提升到下一個級距所做的筆記。

前情提要:

小弟背景因為不是本科也不是名校的原因,
薪資從三萬多開始爬,或許是因為做對一些事情,
薪資的漲幅比大多數同背景的朋友快,年薪大約三年左右的時間破百;

當下會覺得這很多是運氣成份,但回頭來看,
發現這些運氣其實是可以靠做對選擇、來提高勝率。

另外,薪資已經 1.5m 以上的大大,可以左轉,小弟就不獻醜惹 : )

知道自己的階段

我認為現在的純軟工程師求職市場,可以分成三個階段:

  1. 會寫程式、可以完成工作
  2. 熟悉特定工具,可以快速完成特定領域的工作
  3. 成熟的軟體工程師

第一階段的人,屬於「懂得怎麼寫程式、但工作效率低、需要人指引」的階段,大部分的人大學畢業、剛學完成式,都屬於這個階段,非名校在純軟產業,大約會落在 35~50k 左右的區間。

第二階段的人,屬於「熟悉特定的工具、可以有效率完成工作並且給人指引」的階段,大部分會是使用特定工具 2~5 年甚至以上,可能都會在這個階段,薪資可能會落在 45~90k 左右的區間。

坦白說,以上兩個階段我認為職涯發展上都還是「危險」的,
意思是什麼呢?

以第二階段的人為例,如果小明熟悉的工具是 Django ,靠著 Django 領到年薪 120 萬,但如果沒有進到第三階段,只要換了工具,例如從 Django 換成 Go,小明的薪資很可能掉到 100 甚至更低,

原因是什麼?

因為預計要錄取「第二階段工作者」的公司,期望的是工作者對於工具是很熟練,甚至是可以給予別人指引的工作者,但如果換了跑道、到使用不熟悉的工具的公司,小明就無法達到公司給予的期望「有效率完成工作並且給人指引」,因此薪水被下修。

接著我們談談第三階段。

第三階段的人,
公司的觀點會是「成熟的軟體工程師,只要給足夠的時間,都能學習起公司需要的工具」。

當然這個時候可能很多人跳出來說:
「我也符合這條件啊~」
「我許多東西也是自學,也導入新技術進公司。」

我這寫的是「公司的觀點」,也就是公司當初錄取你的時候,是面試「你已經會的工具」,還是問你「抽象的概念」?你大部分的工作時間,是用著你上一份工作就已經會的工具,還是新的工具、甚至全新的領域?

而通常這樣的公司,面試流程通常是「leetCode + system design」;且只要你做過這個層級的工作,通常就不會往回做,你的職涯將不會被工具所侷限,因為你在工作的時候,思考的是系統設計、軟體開發,而不是如何使用工具。

p.s.
如果你已經實作過大型系統的系統設計,你有機會直接跳過 leetCode 的測驗,直接面試 system design,但對於現在還在 middle level 的工作者來說,現在能夠碰到 system design 的工作,大多數都是要在面試時被問「leetCode + system design」了,於是進入雞生蛋、蛋生雞的迴圈中。

選擇提高薪資的策略

套一句已經不火熱但很重要的例子是:
「你爸跟你媽平均有一顆睪丸」

平均並不重要、因為我們的薪水不是平均、而是公司每個月匯進你我戶頭的錢。
意思是什麼呢?

我身邊領高薪的人多數是走以下兩種策略:

  1. 停留在第二階段,但熟悉特定的工具、賺取名聲成為該領域大大,獲得超額回報
  2. 進到第三階段,一步一步往更高薪的公司走

我前面說第二階段大多落在 45~90k ,
但總是會有 outlier 可以領到 120 150k ,
這些 outlier 可能是運氣、可能是名氣。

而選擇第二種策略的人,相對前者需要的是下班還得狂刷題,念 system design 開始懷疑人生,面對「面試造火箭、工作鎖螺絲」的矛盾。

但無論兩者走哪條路,都有機會走到台灣破年薪 200;兩條路所需要的累積不同,前者需要對工具有更深的了解、在社群刷出名聲,後者就…刷刷刷刷刷,刷 leetCode、刷 system design。

耐心的等待

每一階段的攀升,其實都需要努力與一點點運氣,
尤其是第三階段。

扣掉博弈業,根據我的觀察,年薪 1.5m 以上的工作還是得慢慢等。台灣畢竟不像美國、中國,到處都有滿滿的高薪機會,等待非常重要。

而第一階段到第二階段,最常遇到的迷思是
「我是不該換語言、換框架?」
「是不是 xx 產業薪水比較高、我該去 xx 產業?」

我的建議都會是:
「第一階段升第二階段,你要的是有好的前輩、好的開發環境,例如:CI/CD、code review、順暢的開發流程…等等,這些經驗遠比短暫的薪水來得重要」

至於升到第三階段,小弟也還在累積經驗,就不獻醜了 😐

結論

提升軟體工程師薪資的三個作法

  1. 先了解自己在哪個階段,讓自己進到下一個階段
  2. 選定自己的加薪策略,看是要用現在吃飯的工具求職、還是 leetCode & system design 刷起來
  3. 等待、準備

招募工商,月薪 90~100k

敝司目前在招募 Ruby on Rails 工程師,歡迎 3 年以上經驗的朋友找我內推 yeng.tsan@managebac.com

https://www.cakeresume.com/companies/fariaedu/jobs/intermediate-full-stack-engineer-openapply

--

--

Yeng Tsan

Software developer, Career consultant, Product manager.開啟你的海外職涯,從日本開始 https://engineer.taiwan-career.com/