2023/02/05

為什麼我說不要轉職成工程師的七大原因


終於到我寫農場文標題了。

近年來,轉職軟體工程師已成為熱門話題,各大媒體和網站都在大力宣傳,強調高薪、短期轉職成功等優點;然而這些宣傳往往只看到表面,卻忽略了轉職成為工程師需要投入的時間和金錢,以及進入工作後所面臨的挑戰和困難。

以往看到這些都實在很想出來說說什麼,但是又怕被其他人回說 : 

"不要擋人財路。"
"你是不是自己已經是工程師了,所以不想讓其他人搶你工作。"
....

但我決定還是要出來探討轉職成為軟體工程師的利與弊,讓大家有較全面的了解,
不被宣傳和推坑文沖昏了頭。


--
不過我其實想講的是 - 不是不要轉職成工程師,而是思考清楚後再決定要不要轉職。

轉職成工程師是現今熱門的趨勢,但你是否真的考慮清楚了?
你可能只看到了工程師薪水高、前景好,卻忽略了背後的辛酸和所需的時間和金錢投資。

就好像有的人想當醫生因為薪水社會地位高,但沒有想過背後的辛酸和所要花費的時間;就好像有的人想出國工作,但沒有想過出國文化語言的差異,生活工作的艱辛;

不想看到很多人因為被鼓吹就一股腦的投進去,可能浪費時間和金錢,但是並沒有得到自己想要的回報,而且現在有些課程根本超收錢。

當然,有些必要的時間投入和金錢的花費是必需的,或是有些風險;和買股票一樣,你必須查詢足夠的資料,了解真實的風險和必要的投資,才能做出明智的決定,而不是一味聽信所謂的專家。

所以也不是一昧的聽信轉職工程師有多好的話,如果你正在考慮轉職,歡迎一起來看看到底要不要轉職成工程師。



那首先 : 


一、工程師不是鐵飯碗


科技業工程師裁員公司與人數統計

沒有任何一個職業是鐵飯碗,看看最近的大裁員,這個應該不用解釋了。








二、工程師不是高薪保證


不要因為光聽到轉職工程師薪水很高就轉職,
你可能看到不少人分享說他轉職工程師後薪水有多高,在那之前要先知道 :
  1. 對方在什麼產業 : 比如說區塊鏈、博弈等,薪水本來就會比較高
  2. 對方在什麼地區 : 如在台北起薪可能會比較高
  3. 對方轉職的時間點 : 有段時間工程師薪水開特高,像是疫情爆發那時候大舉徵才,薪水也開比以往高很多,那現在因為通膨和經濟衰退,就算拿到 offer 也就不見得有辦法像那時候一樣高
  4. 對方的職缺和技術是什麼 : 如通常後端會比前端高
  5. 對方的自學能力 : 有時候是生存者偏差,通常大家都會分享成功案例,常常看到轉職成功的本身能力就不差。

再來工程師在任何國家和產業都有可能拿到低薪,技術需求開一堆薪水壓很低的公司比比皆是。











三、面試很繁雜


那工程師面試時可能會遇到這些關卡交錯,但不一定每關都會遇到。

以下為簡單介紹,如想看詳細的請點 面試國外工程師超詳細超過 100 道題目蒐集、分類歸納與準備,並按照相對的數字查看。
  • Technical interview (2.1.3) : 沒有 coding,直接問技術相關問題
  • Coding interview (2.1.4) : 面試官出題,你講解思路和解題
  • Online assessment / Online test (2.1.5) : 給你一個線上連結,限制時間內要寫完
  • Assignment (2.1.6) : 帶回家寫的作業,通常也有限制時間
  • System design (2.1.7) : 通常 senior engineer 才會遇到,考對於系統的規劃和設計
  • Behavior questions (2.1.2): 問各種情況下面試者會怎麼處理,主要想知道面試者的處事態度和個性

常常會有工程師抱怨入職後做的事情比面試時簡單很多,但面試時卻很多關考很難








四、要更高薪要學的比你想得更多


剛入行時薪水的確比轉職前高,但沒持續努力就一樣會遇到天花板;
如果你不介意的話就沒關係,但如果想要更高薪的話。

你可能要開始刷 LeetCode是一個蒐集了超過千題的軟體工程師面試技術題目的網站。(也有可能剛轉職面試時就會考了)

可能還要補上關於演算法、資料結構的相關知識如 hashmap, stack, queue, binary tree, binary search tree, linked list 等,如何估算 時間和空間複雜度 才有辦法刷題。


下面是隨機一題 easy 的,通常面試會考到 medium



也可能要學系統設計如 network protocols and proxies, databases, latency, load balancing, caching, sharding 等。


題目可能會是 : 
  • 請設計一個短網址服務
  • 請設計一個像 messenger 或whatsApp 的通訊軟體
  • 請設計一個 Netflix
  • ...


不過,沒關係








五、工程師是需要開口說話的


基本上很難有什麼工作不需要溝通能力,不要說因為不擅於溝通就想轉職工程師

其實工程師常常要跟 designer、product manager、主管等等開會討論需求;
有時候在新創公司時有時甚至還要兼職各種腳色。

這邊舉個簡單的例子,
比如客戶回報問題給客服,他在網頁上看不到某個銀行的下拉選項。

這時候你可能需要要知道 bug 怎麼出現的,用什麼裝置、使用什麼瀏覽器上、版本是多少、如何操作的、什麼時候出現這問題的?
 
但客服回報給 PM 時,客服和 PM 不見得有技術背景,不知道你需要什麼資訊,跟為什麼你需要這些資訊;那你除了要有良好的溝通能力外,還要能把技術詞彙解釋成非技術人員可以懂的用語。











六、對於寫程式的興趣和 debug 的毅力

6.1 如何判斷





利用網路上免費資源 還在考慮轉職工程師要上哪間學校? 這裡推薦你免費的學習資源、書籍與素材 判斷自己實際上有沒有辦法對寫程式有興趣,和有沒有辦法長期投入是第一步,如果寫幾天都沒辦法堅持了,那更就不用說後續了。

另外建議先上網了解各類工程師是在做什麼的

不要一衝動馬上就跑去報名課程,不然很多課程一花下去就好幾萬,
等你學到一半發現沒興趣、或是沒想像中的容易就浪費了。





6.2 付費課程選擇


有辦法自學的話網路資源很多,但沒辦法的話會較缺乏有系統化的學習;若你是自學花很多時間還是搞不懂,那就建議上課。

上課也不是所有課程都好,要判斷一下上課內容和價錢是否合理。

比如前端好了,課程包括教 HTML、CSS、JavaScript 等,
這時候要有概念現在前端 framework, library 大致都用 Vue 和 React,就不要再挑只教 jQuery 的課程,除非你有鎖定的公司或產業會用 jQuery。


關於價錢合不合理、內容合不合理,多查查資料、社團發問或問你的工程師朋友們。








七、要具有足夠的自我學習力


如果自我學習力不是很夠,職場上也沒有前輩帶領,能力容易停滯不前。

所以你要有 : 

自己解決問題的能力
當你剛到公司時,也許還不熟悉流程時,你可以觀察其他同事 / 找公司內文件來看;
程式上有很多基本的下 console、查 stackoverflow 等的方式幫助自己,可以善加利用,減少問別人一些重複或網路上就查得到的問題。

尋求別人幫助的能力
你可能會不想麻煩別人,想要自己可以獨立解決問題,
這也許在做自己的 project 時可行,但在公司時有時限問題,不能一直卡住沒有進度,所以給自己一個時間區間,比如卡住一兩小時後向其他人求助。








八、相關文章參考


這是我的轉職工程師的歷程,好的壞的開心的辛苦的努力過的全部都有寫上去,歡迎大家參考囉!






沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。