【轉職攻略】文組生轉職工程師!他如何從 35K 到年薪百萬?

May 28, 2020
Allen Chou

文組生如何轉職年薪百萬工程師?五年的旅遊業,薪水 35K 已經是極限,不甘人生只靠熱情而活,本文作者開始密謀轉職。

透過兩年的時間,從一行程式碼都不會寫的史地系文組生,轉職成年薪破百萬的工程師!

轉職對我來說,這兩年來的時間是不斷往前突破,意思是,每當達到一個小里程碑,取代當下心態的不是休息,而是更慌張,慌張自己會卡住、自己會無法前進、自己會被學歷綁住…。

直到大概三個多月(2017年底)前拿到現在的 offer,這兩年努力的踏實感才出現。

因此,趁著這份「踏實感」記憶猶存的時候,分享給現在在轉職、考慮轉職的你!

這篇文章寫給誰?

給跟和兩年前的我相似的朋友,尤其是以下三種人,是我想說故事的對象:

1. 覺得本身沒什麼「技能」,羨慕有「技能」的人有較好的收入

2. 覺得自己的工作環境日復一日,然而身邊的人覺得「自己的學經歷只能做這樣的工作」,而你看不慣這樣的想法

3. 工作了三年五年,想要轉換跑道,卻發現自己沒有任何優勢,卻又不甘願就這樣下去

以上三點中,後兩者跟加入直銷的人講的話很像,但不一樣的是,我現在寫的是工程師的職涯路。

滿腔熱情投入喜愛的旅遊業,但面臨現實的是…

在當工程師之前,我是一個廣泛的旅遊業從業人員,我當過導遊、做過民宿,也在飯店工作過,而我的大學念的,是史地系。

大學剛畢業的時候,對於薪水、職涯發展想法沒有太多,也算是年輕熱血、本身活潑搞笑,投入了「聽起來很有趣」的旅遊業,而在三年左右,就感受到薪資的瓶頸 —— 在南部做旅遊業,薪資很難超過 35k。(除非你特別優秀!而且是超優秀那種)

我在墾丁,看到一個熱血的青年加入民宿產業,過著早八晚十的生活,一天工作快 14 個小時,薪水多少?22k,老闆還一副賞你飯吃、給你學習的臉,現在回頭看,我當時沒有領悟到職涯選擇上重要的道理:產業極限

生活上遇到產業極限,澆熄工作熱誠

什麼是產業極限?

意思是:一個產業的高薪、可能會是另一個產業的低薪

舉例來說,「旅遊業 40k」這算是旅遊產業的高薪,但「寫程式薪水 40k」就會被說血汗低薪。

剛開始我進旅遊業時,我一直告訴自己說,喜歡這個產業就待著、遇到好老闆就多學,等學完以後日子會更好;當時的我認為「還好我在那麼稍微有人性的地方上班、老闆要慎選」。

可是,當你慎選老闆、到一個比較有良心的公司上班時,你的確會領到「該產業」平均以上的薪資、擁有平均以上的福利,但一切僅限於「該產業」,我沒有認真去面對 —— 產業有它的天花板在。

認清這件事情,是工作三年左右,跟幾個高中、大學同學聊天的啟發。

如果你在南部做國貿,可能剛開始 28k ,漸漸的每年調 2~3k ,三年以後就會很尷尬,你知道你未來不會有大幅度的成長,可能十年後破不了 50k;但當你是台南人在台南工作,有個 35k 的白領工作,真的很難去放棄。

旅遊業更是如此,如果你不是什麼儲備幹部、top sales,基本上,工作三年還是很難突破 35k。

而當我聽到「台北的工程師」起薪 40k,甚至 50、60k 的時候,我身邊的朋友普遍是:「啊喲,那是別人唸資工的,台清交資工才有啦!」或是:「嗯 …… 寫程式不是每個人都能寫吧?」

這些都是很扎實且有說服力的理由,但如同我前面提到的第二點:「身邊的人覺得『自己的學經歷只能做這樣的工作』,而你看不慣這樣的想法。」

而我,就是這樣的人。

Photo credit: Unsplash, CC Licensed

密謀轉職,策略考量:先看大方向、再看小細節

我的轉折點說來很戲劇化,五年旅遊相關業的工作經驗中,在第三年的時候,我就開始思考「人生是否還有不一樣的可能?」

解法 1:把日文練強配上自己的口才,可以當日本線導遊
>> 現在自由行盛行、資訊也越來越透明,導遊人才又太多,我沒信心可以做到頂尖 (X)

解法 2:去澳洲打工賺回人生第一桶金
>> 去了半年,有天想到「然後呢?我終究是得回到台灣面對同樣的問題,我無法待在澳洲一輩子」,於是就回台灣了 (X)

解法 3:做保險、做直銷
>> 嗯….不太適合我的個性 (X)

直到後來加入一間旅遊新創公司後,我開始思考「轉職工程師」這條路。

很慶幸,活在這個有 google、有 ptt 的時代,真的很快樂也很安全。什麼意思呢?基本上,所有你想做的事情,你多少都可以找到一點資訊跟資源,尤其在 ptt 上。

職涯道路選擇三大方向心法

我翻了一些關於資策會、Alpha camp 轉職相關的文章,也從中看到了一些轉職的資訊,讓我開始思考「轉職工程師」這條路到底可不可行,我的想法很單純:

1.「供給與需求」的趨勢很重要

我不走日本線導遊,一部分是團客量下滑、二來是導遊人才供給太多,在需求下滑、供給上升的情況下,沒有信心可以做到頂尖;而如果走不到頂尖,薪水也不會比現在好多少。

而工程師薪資相對穩定,且人才需求遠大於人才供給,我認為是機會。

2.「經驗的累積能不能帶走?」很重要

在旅遊業,你做久了,學習到的是各種軟實力與市場資訊,偏偏這個市場又薄利到近乎無利可圖,軟實力在轉換領域上形同沒有;但工程師這工作,你在 A 公司寫 php、到 B 公司還是可以寫 php,甚至到日本、新加坡、美國也還是可以寫 php ,專業跟著自己走。

3.「進入門檻」很重要

投資銀行、基金經理人薪水很高,台積電、聯發科薪水也很不錯,但這些工作對一個史地系畢業、在旅遊業打滾五年的人來說,門檻太高了!

我可能需要花個一年準備考試、兩年念研究所,「才有機會」拿到面試。而「部分的工程師」,其實薪資水平高於我的現況、門檻在了解過後相對也不高。

  (下面會敘述,是「哪部分的工程師」)

基於以上三個「大方向」上的理由,我就決定,我要試著往「工程師」的路前進。

新手如何挑選程式語言與學習方法?

怎麼思考「成為工程師」這條路?如果能重來,我會怎麼給自己什麼樣的建議?

融合了一些我過去的經驗與我後來協助朋友轉職的經驗,以這些經驗來看,認真唸書 + 實做約 400~800 個小時(依照英文能力與天份有所不同),就可以拿到面試的門票。

我的建議如下:

1.從「網路應用」領域開始

「網路應用」指的是 web, app這兩個領域,為什麼從這個兩個領域開始呢?

原因很簡單,一來是進入門檻相對低、二來是學習資源好找且好懂。

舉例來說, Udemy、Udacity、Codecademy 上就有許多資源可以進修,遇到問題時在 stack overflow 上也幾乎都能找到解答。(前題是「了解問題、問對問題」)

等到你成為一個稱職的 SOD(Stack Overflow Developer)要學什麼都只是時間問題!

2. 從 web 開始,尤其從前端開始

為什麼不從 app 開始?

這是我後來才體悟到的,當初在 web 與 app 的抉擇上,沒有思考太多就秒選 web 回過頭來看,算是幸運。

為什麼說幸運呢?因為我的經驗中,「公司是否有一個比你強的人教你東西、你能對公司有所貢獻」這兩點,是達到「邊工作邊進步」的兩個重要的因素,缺少其中一個,都會讓速度變慢。

而在求職市場上,一間小公司,可能只有一個 android、一個 ios 工程師,甚至只有一個 app 工程師;但一間小公司,同時有兩個以上的 web 工程師是還不算是少數。(甚至 app 是外包,請一個工程師來維護 ios + android)

因此,當公司有一個相對於資深的工程師,可以從他身上學到東西,更重要的是,能夠做出對公司有貢獻的事,若能達到這樣子的狀態,通常自己會有成就感、也可以看到目標往前走,前進的速度是最穩定的。

但以 app 領域來說,常常一個人就要頂 android or ios,沒有前輩可以學習,而開發團隊較大(app team 超過三人以上的),條件通常比較嚴苛:有經驗或資工系、理工科背景。

因此,相對於 web 來說, app 是一條比較困難、條件比較嚴苛的一條路,雖然我身邊還是有一些朋友從「非本科」轉「app工程師」,但通常是:

1. 2014年以前就轉(需求更大、供給更少)

2. 很努力、也有天份

綜合以上,如果你是新手、對 web 與 app 沒有明顯偏好、非本科想要踏進來的朋友,以求職市場面來看,我認為走 web 是一條比較安全、相對輕鬆的路。

(除非你對 app 有滿滿的愛,愛可以克服很多事情,真的!)

那,為什麼從前端開始呢?一來是我們對瀏覽器、網站的相對熟悉,寫完的作品馬上可以看到、有互動,成就感來得比較快。

二來是工作機會多(呼應到「為什麼建議走 web」)。

舉例來說,我現在去 104 搜尋 android,出來大概 2400 筆,搜尋 ios 大概 1800 筆。

而 javascript 呢?總共有 3900 筆!

3. 挑個有實作的課程

相對於 Udacity、Udemy 這種小單元小單元的課程,我會比較推薦「可以看到老師從 0 開始完成一個具體作品」的課程。

例如 網頁基礎 15天 https://www.everyonecanwebsite.com/

課程中老師在解釋完基本概念後,會從 0 開始完成一個成品,因此,「你不只知道一個功能該怎麼做,更會知道真實的開發中,會遇到什麼問題 —— 見樹又見林」。

我並不推薦不懂程式的人透過 Udacity 或 Udemy 做學習,這兩個平台的特色是通常一堂課不會太長,但也因為不會太長,所以課程是「言簡意賅」的,老師在實作每個功能時,並不會「犯錯」也不會有「思考過程」,而是直接給你答案,但自己做開發時,卻發現無法很系統性的思考「開發」這件事情。

Udemy 上面有很多單一主題非常好的課,例如 JavaScript: Understanding the Weird Parts

我超級愛這堂課、也從中學習到超級多基礎的 javascript,讓我的 js 觀念前進一大步,但,當初我在連一個網頁都刻不出來的情況下,這堂課對我來說不是解藥、而是毒藥。

因此,除非你過去有些程式底子、或是過去的工程素養很好,不然我會建議「先找實作多於觀念的課」,等有能力實做一點東西以後,再把基礎的觀念摸深,然後「工具 <=> 基礎」兩邊互相交換,會讓學習更有動力、也可以把每天在做的事情了解得更透徹!

4. 完成前端作品以後,開始學後端

後端的部分我推薦學 php,原因與前面邏輯一致 —— 工作機會多。

雖然我推薦「先」走前端工程師,但完全不懂後端的前端工程師,找工作真的很競爭,尤其要跟又會設計、又會一點前端的人,如果你完全不懂後端,幾乎沒有競爭力。

管道我很推薦 laracast https://laracasts.com/

以基礎的 php 來說 https://laracasts.com/series/php-for-beginners 是免費的!

以我過去的經驗來說,並不需要學到很精,只要基本的資料 CRUD,能讓自己寫的前端網頁透過 php 把資料寫進資料庫裡面就行了。

以上的敘述對初學者來說或許很可怕,但別擔心,這些都是跟著課程(or 你喜歡的書)走,多走幾次就能學會的基本功。

如果能掌握基礎的前端技能、最最基礎的 php(嚴格來說,是後端程式操作資料庫),那麼,你已經拿到「前端工程師」的門票。

成長最快速的路:迅速進入第一份工作,無論它長什麼樣子

這是我後來領悟出來的道理,像我這種以前完全沒寫過程式的人,進步最快的方式是拿到實戰的機會,模仿別人的程式碼、了解背後的脈絡、再去學更多新的知識。

而這一切的起源來自於「找到一個可以實戰的機會」,否則沒有後續。

我的程式學習路程不是自學,是加入 alpha camp 後端線下課程,當時學的是 rails。學習的過程很棒,遇到優秀的老師、優秀的同學。三個月結訓以後,當時非常想拿到 rails 的工作,因為「已經練習 rails 三個月了,希望可以用 rails 找到工作」,但天不從人願,全台北幾乎所有 rails 公司有在招募的,只要是需求兩年以內的職缺,我全部都投了,有拿到一些面試,但全部都沒拿到 offer。

過程很沮喪,看著當初帶來台北打拼的錢已經快用盡,曾經也打算放棄過、家人也勸過我不要太固執,直到我想通幾個道理:

1.如果投 rails 拿不到工作,為什麼我不投別的程式語言?

2.rails 是操作資料庫、顯示網頁的框架,懂了中間的流程跟概念,應該也拿得到其他後端語言的 offer?

3.rails 在 104 上大概只有 150 個職缺,而 php 有 2000 多個,如果我真的要放棄,等這 2000 多個投完再說吧!

甚至有朋友跟我說:「你這 2000 多個投完都沒找到工作,沒地方住我家讓你住。」

於是,我開始踏上「狂投猛面」的面試之路。

小結論:

建議已經有程式基礎的朋友,如果你已經能做出一個小作品(會一點前端+後端),除非你特別特別有自學能力、或是有朋友跟著做專案,我強力建議「馬上開始找工作」

原因是什麼呢?

1. 實戰跟練習中就有差,只要公司有稍微資深的人(如果能找到很資深當然好,但就算只有資深一點也很好)很容易點醒自己的盲點、也可以了解「原來會遇到這樣的問題、而這些問題別人是怎麼解決的」。

2. 工程師的技能是完全帶得走的。以前做旅遊業,每間公司的 SOP 不同、客群等級不同,除了軟實力、心態面的東西以外,全部都要重來。而工程師,我前三份工作是寫 php+ angular,隨著年資增長、實力增強,做的功能越來越複雜,雖然不是在同一專案、同一間公司,但累積卻是走在同一條路上。

上面的第二點不適合已經有獨立貢獻能力、甚至是能影響開發流程的資深工程師,但非常適合新手工程師。

第一個我真正滿意的面試:你看似一無所有,但你還有學習能力

剛開始面試的時候,其實很沒自信,原因跟文章開頭的自我設限有關,「覺得自己非本科系、又不是名校,為什麼相信我可以當工程師?」

這些自我設限限制了我面試的準備,讓我綁手綁腳,事後發現,我花了太多時間在沒意義的事情上糾結:

1. 對方會不會覺得我學歷差?
>> 我是來工作的,我能貢獻就好

2. 我要怎麼解釋「想要成為工程師」這件事情?要怎麼舉例?
>> 雖然沒有背景,但我已經寫五個月、並完成一個完整的專案了,而且我會繼續寫下去。

3. 面試的考題我都不會、我好無能、果然不是學四五個月就能轉職…
>> 去敘述自己會的部分、不會的部分去思考過去是否有做過類似的事情,或是會怎麼 google 未來怎麼透過進修、自學來彌補現在的不足。

思考清楚以上的事情,專注在「我能做什麼、我還有多少不足、要做什麼樣的事情來補強自己」上,當我改用這樣的方式思考面試的時候,在面試時,更能把焦點轉到我的動機、學習能力、熱情上,而不是不相關的學歷、五年的旅遊業背景。

第一個我真正滿意的履歷表:你有了一些表現,你需要更好的環境及挑戰

如果你是已經在職中想離職的新手工程師、或是手上有些「很鳥 offer」的新手工程師,我的建議是,如果你投不到 100 個職缺,放手繼續投,你可能還沒拿到最好的:

但如果你已經頭超過 100 個職缺了,就代表你能拿到的缺可能差不多這個程度,你要做的是「增強實力」而不是「期望好運」。

什麼意思?意思是,如果你跟我一樣是非本科菜鳥,你沒有實績證明「能夠寫程式」,對於風險趨避者、或是比較優秀的公司,他們對於人才的要求本來就比較高,因此,你最該做的事情是「累積一定的實戰經驗」,累積到以後,拿著這些經驗,去談加薪、或是換更好的工作。

「累積一定的實戰經驗」的意思是,去累積工程師的關鍵字,例如:金流、部署、自動化測試、AWS、angular、vanilla javascript、API、Git…

而對我來說,我過去的經歷搭配上述的關鍵字有:

「將原本沒有版控的專案導入 Git,讓專案中兩位同仁協作更順暢」

「建置與維護 AWS,包含 EC2, RDS, Lambda, CloudWatch, S3」

「完成 javascript 30,讓自己能更了解 javascript 語言本身而不只是用框架」

「維護 angular 的 SPA,並用 ionic 包成 app」

「完成 Stripe、綠界科技金流串接」

每當我完成一整個功能的時候,我就對自己稍微有信心一點,因為我知道自己在做的事情、與求職市場上對工程師的期望是更接近的,當自己的關鍵字累積的更完整的時候,就會去面試、了解自己的狀況,如果發現「另一個地方更能夠累積到好的關鍵字、有合適的挑戰」,就是可以考慮換工作的時候了。

順帶一提,如果你已經有作品,但沒有拿到 offer 且還沒投超過 100 個職缺,常常不是代表你實力不夠,只是代表你不夠努力。

第一個我真正滿意的 offer:你有能力貢獻了,勇敢去爭取你要的

我的前兩份工作薪水都不高、團隊內也沒有很資深的前輩可以教我,但以當時的學經歷以及對薪水的急迫性,差不多就是找到這樣的環境 ——

重點不在當時的環境,而是在能累積什麼。

第一份工作大約 35k,陸續接了三個專案的維護與新功能開發,但因薪資凍漲而離職,期間熟悉了 php,以及 linux 的操作,並碰觸到多數的「工程師關鍵字」,例如:金流、部署、AWS、angular、API、Git…等。

第二份工作大約 45k,讓我從頭到尾完整參與一個專案開發,「實作並熟悉」常見「工程師關鍵字」,然後靠現有的技能,轉換到更成熟的開發團隊。

接著我就發現,自己的思考漸漸從「如何寫程式」到「如何完成服務」到「如何完成容易維護的服務」,面試的時候除了講「我會寫什麼語言、用過什麼工具」,轉變成「遇到什麼樣的問題、怎麼樣拆解、最後選擇哪些方案」。

第一份工作結束後,我開始知道自己

「能做什麼」

「不會做什麼」

「該怎麼學會原本不會做的事」

第二份工作結束後,我開始探索自己

「為什麼要做」

「為什麼要用這個技術」

「這個技術為什麼出現?在出現以前人們怎麼解決同樣的問題?」

到這個時間的時候差不多是工作一年半左右

(過程是每天工作 12 小時、一次兩三個案子在身上)

透過朋友的內推,就到現在的公司。

Photo credit: Unsplash, CC Licensed

轉職軟體工程師真的是個好選擇嗎?

「轉職軟體工程師是個好選擇嗎?」

我會說,這個答案會隨著時間而改變,如我上一篇文章提到的:回到供需法則。

當市場上 60 分以上的工程師有 100個、而需求有 500 個工程師時,每個 60 分以上的都會被當成寶,而 30,40 分的工程師都能找到工作,而且薪資還不錯。

當 60 分以上的工程師有 1000 個、而需求還是只有 500 個時,只有 70 分的工程師才能找到工作,而 80,90 分的工程師才能得到不錯的報酬。

而以我的觀察來說,未來兩年左右,軟體工程師的需求還是大於供給很多,現在進到這個領域、迅速累積自己「履歷關鍵字」,這還是條不錯的路。

做這工作要有天份、或是有興趣嗎?

說句坦白話,我對寫程式的興趣度普通。

以前的朋友聽到我轉職,或許會覺得「我找到興趣了很棒」,諷刺的是,比較起寫程式,或許我更愛跟人喇賽、旅遊,跟寫一個購物車相比,我覺得賣出一個行程、推薦客人去哪裡玩,甚至親自帶客人去體驗其實也很不錯,但重點是什麼?重點是「我想要的工作環境、薪資,以前的產業跟工作給不了我」。

年輕的時候覺得為了理想、夢想、興趣犧牲是可行的,長大以後發現,看懂大環境、了解自己的優劣勢、執行力、了解自己的價值觀與需求,才是讓自己過得更踏實的方法。

年輕時的興趣到底是不是興趣?興趣到底是什麼?

人該為了興趣做怎樣的選擇?人該怎麼選擇才會快樂?

這些是哲學問題,值得關起門來深思。

我最後選擇了轉職、也一直待下來,不是因為我特別有天份,更不是對寫程式有多大的興趣,而是這個職業給了我想要的工作環境,例如組織扁平、工時彈性、一定的成就感以及很現實的:合理的報酬。

祝大家在求職&工作的路上,都能順利!

推薦閱讀:唸錯科系、討厭數學,她如何從德文系到德國 Unity 軟體工程師?

「本文獲shanmon (翔夢) 授權刊登,並同意Meet.jobs編寫前言與製訂大、小標題,未經原作者同意,不得轉載。原文出處
[心得] 文組生轉工程師攻略

相關職缺

網站開發工程師 (PHP Web Developer)

哇寶國際資訊股份有限公司

35000

TWD
2020-06-15T15:55:49.238+08:00

Technical Lead (Singapore)

Fundnel Limited

8000 10000

SGD
2020-07-08T12:01:16.855+08:00

Technical Lead (Jakarta)

Fundnel Limited

8000 10000

SGD
2020-07-08T12:01:02.098+08:00

Flutter工程師 - 週休二日+中國假 臺籍主管

ELSAGroup

18000 25000

CNY
2020-07-06T00:30:27.437+08:00

作者介紹

Allen Chou

平常熱愛與人接觸聊天,最愛去的地方是誠品,興趣廣泛,近期對於運動帶來的腦內啡成癮,以為讀史地未來可以當像謝哲青環遊世界,出社會後認知現實是殘酷的,對於新創公司的工作氛圍與挑戰非常喜愛,於是立志改行成為一個有人文涵養的搞笑工程師!

Bitnami