轉職的試煉:從環工到軟體工程師的轉職之路

Harry本身的背景是環境工程,在水處理行業工作兩年多,曾零散接觸過程式語言,但沒有系統性上課。最後因為想要系統性的線上學習,且能有戰友、學長姐和助教社群一同學習成長,因此選擇了ALPHA Camp,在今年一月從第一學期開始從頭學起。之後加入了 ALPHA Camp 的 A+計畫,成功找到了理想的工作轉職軟體工程師。(下面這個影片就是Harry分享AC的學習體驗)

前言

回首今年1月才打的文章(轉職-我的第一堂Coding課),才驚覺自己在今年成長了不少,甚至現在已經拿到理想公司的offer,成功轉職為職稱是web全端工程師的工作。一路上除了技術學習外,也經歷很多只有轉職者才會有的焦慮和不安,雖然在路上一定會不斷遇到各種困難,但我更傾向將這段經歷視作體驗,體驗所謂的“強迫自己脫離舒適圈,改變是成長的開始”這類的心靈雞湯到底是什麼感受 。因為自己一路過來真的受到很多人的幫助,這篇文章主要是轉職一路一來較完整的整理,希望也能給予有考慮轉職或正在轉職路上的朋友一些參考和幫助,大致上會包含:

  1. 轉職起源(包含簡述背景、轉職原因等等)
  2. 轉職路上(包含學習資源、心路歷程等等)
  3. 面試準備(包含履歷撰寫、求職策略和offer抉擇)

轉職起源

當你google「轉職」,應該會搜尋到「轉職前,先思考好這3件事,讓你無痛轉職」、「知名獵頭告訴你:「轉職」前先停一停,想想這4 個不得不面對 …」和「轉職者最常忽略的竟是這些事!用4招、避開5大雷區,無痛接軌 …」等等,不論要思考幾件事還是會痛不會痛 ,我想從標題就能多少感受到這很因人而異,所以希望你能仔細評估自身狀況,不要貿然決定轉職。

BUT,到底怎樣算是仔細評估?要有多少把握才能轉職?100%?80%?還是50%?這都沒有標準答案,唯有真的做了才知道,這也是我自己認為決定開始轉職的最重要理由!我必須先說,我認為接下來敘述決定轉職原因的分析都不及這個理由來的重要。

活下去,沒錯,要能夠轉職,首先要先評估自己是否能在轉職的階段能否活下去

很現實的一面就是是否有其他收入來源?是否有足夠的存款?以我自身為例,我在學習的第一階段,是採工作之餘的方式進行,一方面能確認自己是否有興趣,另一方面是還有穩定的收入會讓自己安心不少;

而第二階段要花更多時間深入學習時,我是辭職專心學習,但學習的同時,我還是讓自己保有固定收入,我自己是靠接家教、本科系顧問的收入、和一點點投資作為收入來源,我認為這樣不僅讓我爭取到更多的學習時間,也讓自己在學習階段安心不少;

若是沒有辦法有固定收入的人,也看過一些建議,像是可以設定目標一年內轉職,衡量看看自己的存款是否能分配出來供自己一年內保證可以活下去,有這樣的規劃,學習起來會更踏實。

動力,我覺得自己是個目標導向的人(知道自己是什麼樣的人也滿重要的),只要有目標我就會很有動力

所以我會先設定一個長期目標,和不斷更新的短期目標,若以轉職為例,我自己的長期目標是設定成功轉職成目標領域的工程師,而短期目標其實很隨性,例如完成一個應用程式、完成當周作業、完成一個專案或是小到完成一題演算法等等。

至於我設定轉職成軟體工程師的原因,主要是嚮往不管在哪裡只要有一台電腦就可以工作,另外就是我把coding視作一個工具,能夠提供我未來更多可能性的工具。以上是能夠一直支持我自己轉職的動力來源,那你的呢?我認為原因不用很複雜或很偉大,但要能一直持續學習到轉職,必須對你來說是很強力也很真實的來源。

即便以上在初期都確立好了,如果你不去做,還是什麼都不會發生。但我這意思不是說做了就一定會成功或不做就一定不好,即使你真的做了還是有可能在中途歷經懷疑自己、焦慮不安、懶惰甚至是放棄,但是唯有做了,你才知道會發生什麼,也才有可能可以享受那達成目標的一刻帶來的喜悅。套一句呱吉分享過一句我很喜歡的話「人生沒有一條路是白走的」,至於路要怎麼走則是由你決定。

轉職路上

已經決定要轉職了,在這階段我分析自己有三個因素讓自己可以持續下去,好的學習資源、一起學習的夥伴/前輩和適當休息:

好的學習資源,我學習時喜歡先看大綱,所以我需要先有個地圖,我才會大概知道我為什麼要走這條路,要往哪裡去。

所以在主要的學習資源上,我選擇一個有架構性的學習平台AlphaCamp(以下簡稱AC),搭配google搜尋、官方文件和youtube影片等等。

要選擇這類型的學習平台作為初期主要的資源,可以先分析自己適不適合,例如我當初會考量主要為課程花費、主動摸索的能力、線上課程的模式等等,而吸引我的點包括平台主辦人的特質、課程有系統性的編排、各類學習資訊的提供、學習社群等等。

了解ALPHA Camp的學習體驗,和一般線上課程有何不同

另外也提供讀者不同的學習路徑,我一位強者朋友,他是利用3~4個月,直接找個專案模仿並搭配前端框架的官方文件做出一個電商平台專案然後轉職成功。所以重要的是你還是要先多了解自己是什麼樣的人。

一起學習的夥伴/前輩,我分析了自己以往有成功的經驗,其中一環我認為重要的因素是有一起學習的夥伴和前輩

夥伴除了可以互相討論、互相鼓勵和良性競爭外,最重要的是在學習路上常常會有自我懷疑的時候,但當你發現跟你一起學習的人也遇到同樣問題,你比較不會產生無意義的不安感;而前輩則是可以不論在技術上或是職涯上給予經驗分享,我自己就是很幸運能藉由AC的平台認識不少優秀又熱心的前輩,可以參考他們平常是如何學習才這麼優秀,讓自己有一個方向。

適度休息,我覺得自己要持續保持動力,達成短期目標後有適當的休息(又或者說是小獎勵)相當重要

例如好不容易完成一個小專案,可以安排一趟旅遊、做一些自己喜歡的事情,這樣接下來繼續奮鬥也會保持著動力,形成一個正向循環。畢竟我覺得再怎麼喜歡、再怎麼有興趣的事物都會有困難或是不適應的一面,所以完成一個目標,我通常都會給自己一點小小的鼓勵。

轉職試煉-面試

要轉職成功,勢必都要經過公司”面試”這一個關卡(創業除外,面試你的是客戶 ),而在軟體這個領域的面試準備上,也是要下功夫的,有些好的公司面試可能甚至需要耗時將近1個月去過關斬將!從履歷、專案、技術考題、行為面試考題到選擇目標公司的策略都需要花時間。

以我而言,我很幸運在正式要面試前,AC剛好有舉辦一個需要面試甄選為期12週的A+計畫,這個計畫並非手把手教學,你需要自己規劃好方向和目標,但會有前輩可以適時給你經驗建議。

參與這個計畫需要有一定的決心,因為是會淘汰人的!我很開心當初決定參與徵選這個計畫,除了幫助我的演算法技巧、專案的調整和面試的練習,更重要的是認識了一群夥伴和很好的前輩。而以下就分享我在轉職的最後階段做了哪些事情讓各位參考。

心態建立

我認為只要是轉職者,在面試前都會因為沒有相關學歷或是相關工作經驗而感到不安,常常會去想別人本科系念了這麼多年,我們怎麼可能比得過他們?那些轉職成功的人應該都是天才吧,我會不會沒有天份?

這時候我都會告訴自己,可以去想想看在自己本科系,也是有很多根本不認真或沒興趣的人,我怎麼可能會比這些人還差?

再退一萬步來看,你還沒選科系的時候是不是也覺得自己有無限可能?所以我不想被科系限制住,要有信心那些不足我未來一定會補齊

但在面試時更應該發揮本科系的人沒有的優勢,這個優勢你可以從別人口中收集,也可以自己去發掘,以我而言,我會將我的優勢展現在跨領域、熱情、和學習能力上。

打造履歷

在履歷部分,由於沒有相關學經歷,所以我將重點放在打造專案上,而這個專案我不想只是技術的展現,也希望專案的方向是自己想做的idea,以我而言,我的專案的發想是因為自己本身一直有在家教數學,而近期因為疫情關係有不少遠端解題和教學的需求,加上市面上大多都是英文視訊教學,於是我就想打造一個平台,專門讓有數理課業問題的學生可以po上去,讓在線上的老師都能即時解決學生問題,對專案細節有興趣的可以參考這篇

工程師轉職履歷怎麼寫?適合自己的工作如何找

建議有心想打造專案的人,除了自己的想法和技術展現外,也可以詢問一些前輩或在這領域工作朋友的建議,這樣可以讓自己的專案更具專業和可看性。以我而言,在A+計畫中,一開始規劃好專案方向、User Story和UI/UX後會有前輩可以討論,前輩一路上會給予一些例如重點技術展現、實作優先順序和使用者體驗優化等等的建議,專案做完也會有個機會讓大家成果發表練習,也可以趁這個機會觀摩大家不同的厲害專案!

如果你身旁沒有任何在這領域的朋友或前輩,除了報名學習平台外,建議也可以多參加一些例如演講、技術meetup等等,一定可以認識不少優秀的人!

Networking 拓展科技業界人脈,你可以參與的開發者社群

技術考題

以web方向而言,我的經驗是依據應徵職位,技術考題大部分不會脫離JS/CSS/HTML、前端框架、資料庫概念/操作和演算法,這類的準備其實只要google關鍵字都會有很多資源可以參考,網路文章非常推薦Gary大的前端三十系列和TD大的前端開發 30 個問題系列還有PJ大的部落格,框架和資料庫部分也建議有比較模糊的觀念可以直接看官方文件,而演算法我自己則是刷leetcode,A+計畫也有針對常見的leetcode主題給予技巧教學,讓刷題刷起來更有方向,而且最重要的是有人可以討論。

Leetcode是什麼?誰需要刷題?工程師面試要刷到什麼程度

求職策略

這裡主要分兩個門派,分別是寧缺勿濫派和先求有再求好派,有人是只針對自己非常想去的公司做很深入的準備,而有人則是只要不排斥的公司就先投遞,最後再慢慢篩選,我認為各有各的優缺點,沒有一定的好和壞,而就我而言,我自己對於沒真的那麼喜歡的公司會無心準備(因為我是目標導向 ),所以我比較偏向寧缺勿濫派。

而因為其實技術考題的準備方向其實不會因公司而差太多,所以針對公司的挑選部分我看重的就是公司產品、團隊氛圍、營運狀況和未來發展性,在面試前要獲得這些資訊,我分享一些自己的方法,除了基本的網路上資訊和透過人脈(例如朋友/社群/前輩/學習平台),甚至可以直接厚臉皮(且有禮貌的)詢問不認識但在目標公司工作的人,依我的經驗最多就是被不讀不回啦!但我必須說,還是那句老話,

這些都只是別人的經驗參考,只有自己實際去面試甚至是工作了才會知道,所以最後還是要為自己的決定負責。

順帶一提,我自己能應徵上理想的工作,第一步就是在一般平台上投遞(包含104、官網、cakeresume、yourator等等)都沒回音後,不死心,再去linkedIn看該公司的成員是不是有我認識/共同認識的人,被已讀不回,還是不死心,再透過共同認識的AC前輩(真的要非常感謝這位前輩),終於連繫到一位該公司裡面的成員(和這位素昧平生的成員),於是透過這位成員成功讓自己的履歷被閱讀並且終於得到面試的機會,當然面試過程中遇到的很多挑戰又是另一個故事了。

想轉職軟體工程師?找工作前你需要這份「求職清單」

Offer拿取/抉擇

在通過層層關卡後(有些公司一關,有些公司會有四、五關),就是最期待的拿到offer啦!我自己有面試到的公司數量不多(投遞數量倒是很多 ),但我很把握每次能面試的機會,我總共面試了六間公司,拿到了五間公司的offer(包含前端、後端和全端的職位),從開始投遞到最後決定去處時總共歷時約六週,尤其是拿到第一間offer後,很多的不安感都會突然消失進而產生信心,會知道目前的自己已經在該產業獲得入場認可。

這邊要特別強調,我很多拿到offer的公司其實技術和經驗確實不完全符合公司的職缺需求(甚至只有一、兩項),但是公司還是會願意只憑履歷就給你面試機會甚至是最後錄取你,所以再次提醒找到自己優勢的重要性,分享一句TD前輩給我的話

”若把自己當成商品,你跟別人不同的亮點是什麼?”

而在offer抉擇上,我自己覺得就像是在做投資,你可以把自己覺得重要的幾點列出後一一比較分析,但不可能有100%賺錢的投資,而且資金有限,所以最後一步只能選擇一間最看好的項目試單了。

我目標會放在公司在做什麼產品、跟什麼樣的團隊工作以及自己是否能夠從中成長並且將技能帶著走,所以我自己看重的點是團隊氛圍(包含學習氣氛、團隊合作、主管員工間的互動等等)、公司產品是什麼和未來發展性,當然如果都差不多的話(不過通常心裡都一定會有一間特別喜歡)也可以比較最實際的薪水囉!

以上這些都是在面試中可以略知一二的,所以面試過程中除了公司在選你這個人以外,你也要記得觀察公司。我印象很深刻是有一間公司在面試結束時,問了我“我們公司的面試和其他間公司的面試給你的感覺如何?你覺得哪裡好或是哪裡不好?”

年後轉職 Q&A:工程師面試該準備的問題與答案

後記

在正式踏入轉職後,有很多跟當初以為的簡單和想像的美好都不一樣,甚至是額外遇到不少需要克服的地方,除了上述文章提到的以外也包含朋友的”建言”、待業的懶惰和家人的擔心等等,但更多的是意想不到的美好收穫,像是感受到自己在成長的滿足感、在旅途上認識很多優秀的前輩和夥伴以及真的達成目標後的成就感等等。如果看文章的各位剛好有遇到什麼覺得我幫的上忙的地方,請不要害羞的直接聯繫我(如果剛好在忙,頂多被我已讀不回 )。

現在等著我的就是新的一輪挑戰和目標設定啦!工作之後有覺得什麼值得的會在和各位分享,也許未來還會有二次轉職(盡量先不要,有點累 ),不過只要是自己選擇的路,都要記得相信自己,最後再分享一句我很喜歡的話

“Everything Happens for the Best.”。

感謝

感謝AC舉辦上述文章中提到的 A+計畫,真的可以從中感受到AC團隊在教學上的用心,從演算法的技巧教學、專案調整的建議到面試經驗的定期分享,整體而言訓練和協助都非常扎實,也是讓我能夠在短時間內成功轉職的重要因素。

另外要再次感謝參與A+計畫優秀的大家,不論是夥伴或是前輩,每個人都不吝於分享自己的經驗,甚至是花時間幫忙自己看一些專案細節或是演算法卡住的點,這些都是自己在參與社群之前想不到的收穫。最後要感謝那些被我用的淋淋盡致相關領域的人脈 ,很多朋友都熱心的給予我很多建議,甚至花時間幫我尋找好的工作機會,希望自己未來也能夠有機會回饋他們!(本文轉載自ALPHA Camp A+計畫學員Harry的部落格)

3分鐘小測驗,找到你轉職工程師的學習入口