文組 5 個月成功轉職前端軟體工程師心得分享

2020年11月28日 20:33
網誌好讀版:
大家好,我是 C。大學讀管理,在畢業後進到軟硬整合廠做供應鏈管理相關的工作。雖然如願進到科技業,但開始工作以來一直覺得不開心,臺灣硬體製造以加班聞名,而我就職的公司也不例外,從入職開始便常常加班到晚上八九點,回到家多半處於筋疲力盡的狀態,只想躺在床上當爛泥。除此之外,因為生產時程需要跟著工廠走,又常常會遇到物料採購的問題,多數的時候是處在壓力大的狀態。 這樣的生活久了,覺得人生好像除了工作還是只有工作;最終決定不能再讓自己這樣,於是我開始利用週末的時間參與一些科技的社群,也在參加活動時因緣際會接觸到史丹佛大學教授寫的《做自己生命設計師 Designing Your Life》這本書,也參加了相關的課程。 在書中有一項叫「奧德賽計畫」的工具,是要大家練習寫下三種截然不同的未來五年。三個計畫沒有誰好誰壞沒有誰好誰壞,每個都是好計劃。其中,第一種人生規劃是目前做的事 (現在的人生的延伸);第二種人生則是萬一事情生變,你會做的事;第三種人生是假定錢不是問題,面子不是問題,你會做的事。 在寫下截然不同人生後,我問了問自己「假如真的那麼不喜歡現在的生活,那為何不試試看過個從沒有想過有可能的人生? 大不了最差就是回到現在這樣」。因為這樣的想法,加上朋友的鼓勵,我決定做一個以前完全不曾想過的職涯決定 — 轉職軟體工程師。 #為什麼是轉職工程師? 因為大學讀管理學院,是在傳統臺灣教育被歸類成「文組」的科系,所以即使在高中時數學是拿手的科目,我也從沒認真覺得自己可以成為工程師。但在參加一些科技的社群後,我很清楚地意識到我對工程思維很感興趣,也喜歡工程師務實解決問題的工作型態。 特別是做營運與管理類的工作,很多時候不是想法好就好,權力政治才是決定誰說話大聲的關鍵。工作時常常因為覺得主管交派的方法不是最佳化,但反應了也沒辦法的無力感。相比之下,工程是黑白分明,相對來說更靠實力說話的職位,是我更嚮往的。 除此之外,因為之前在臺灣傳統軟硬廠工作的生活實在讓人受不了,想要轉換、想要出國到有更好品質的工作環境,是一直都種在心中的想法。而工程師的國際移動能力是相對其他職位更好的,所以各種考量下,最終決定已轉軟體工程師為目標前進。 當然決定這個目標不代表一切就會自然到位,對於傳統文組生轉職軟體工程師之路最多人會遇到的一個大難關 — 自我懷疑,也是我最開始的心魔。好在當時看到《工程師作家的轉行人生》,看到粉絲團版主從讀創意寫作轉行成功的例子 (她還是在要養女兒的同時轉行,真的無比佩服,推薦想轉工程師的人,一定要追蹤!),給了我許多的信心,也讓我相信「我能做得到」,而能堅定地跨出第一步。 #如何開始第一步? 決定轉職後,我先上《工程師作家的轉行人生》推薦的 freeCodeCamp 上學習。 freeCodeCamp 是透過一個個小關卡,帶領你一步步學習最基本的網頁開發,包含 HTML、CSS、JavaScript,由於是完全免費的,相當推薦還不確定要不要真的轉職的人,無成本學習。除了 freeCodeCamp,有另一個很類似的網站是 Codecademy,介面比較美,但有部分的學習內容要付費。 在最開始的階段,我常常在吃午餐或晚餐時,會順便看一些軟體工程師相關的 Youtube 影片,例如 Clément Mihailescu、TechLead、Code Drip 的影片。這些影片協助我更了解軟體工程師的生態、各種名詞,例如前端是做什麼、後端是做什麼。因為不是太硬的技術內容,但對初學者又算有知識含量,配飯還算剛剛好。 #有了初步認識後進一步學習 在 freeCodeCamp 的關卡都做完後,我進一步學習的路徑有分成兩個部分,一部分是全端網頁開發 (後來我都集中在前端),以及基礎的電腦科學與運算思維。 全端網頁開發我有買過一個月的 Treehouse ($25 美元一個月的那個,不是 $199 美元的 TechDegree),也有買《工程師作家的轉行人生》推薦在 Udemy 上的 Andrei Neagoie:The Complete Web Developer in 2020: Zero to Mastery。 Treehouse 的優點是在一個月內可以內容看到飽 (除了全端網頁開發,也有演算法、資訊安全等等不同主題),但相對地假如是在職的人,可能就沒那麼划算,因為下班後能看的時間也不多。而 Udemy 則是買了課之後就能永久看。對於想要跨入全端網頁開發的新手,我覺得 Udemy 的課已經非常足夠了,假如是在職的人,可能一個月也看不完一堂課。 Udemy 課程的另一個好處是老師很多,同個主題妳可以有很多不同老師,加上有三十天內不滿意退費的機制,我覺得對初學者很友善。畢竟學程式這種艱澀的東西,找到頻率對的老師很重要。雖然我一開始是看 Andrei 老師的課,但後來發現不太對頻率,所以改買了另一個同樣在 Udemy 的 Angela Yu : The Complete 2020 Web Development Bootcamp 課程,就發現頻率很對。雖然兩個的內容差不多,但頻率對了就學得更順手。可能上面這兩個都跟你頻率不對,但沒關係,Udemy 很多老師可以選,選適合的才是最重要的! 除了全端開發之外,我也看了哈佛大學的 CS50 課程,來打電腦科學與運算思維的基礎。只能說實在太愛 CS50 的教學了,不論是 David Malan 教授教得主課程,還是 Brain Yu 講師教的 CS50 Beyond (偏前端網頁開發) 與 Web Programming (偏後端網頁開發),都是非常精彩、深入淺出。 #辭職專心衝刺 在開始看 Udemy 與 CS50 後,由於已經很確定自己要轉職,我就辭掉工作 (不然本來的工作實在太耗神) 全職衝刺。在全職衝刺的期間,我寫了兩個專案,一個是電商專案,一個是 CRM 專案。因為這時候很確定要往前端發展,所以也開始學 React (前端最多人用的框架之一)。我是透過 Udemy 上的 The Complete React Developer Course (w/ Hooks and Redux) by Andrew Mead ($300 台幣) 課程,搭配 Youtube 上的 Net Ninja Complete React Tutorial (& Redux ) 課程學。 邊學邊試著用 React 來寫我的專案,不會的、卡住的東西就上網查 (基本上就是靠 Google 與 Stack Overflow 來找)。舉例來說,想要在電商專案中做購物車功能,我就去 Google 上搜尋 “shopping cart react” 這類的關鍵字找教學來看。 當初之所以決定做這兩個專案放到我的作品集,是因為我先找了幾間自己很感興趣的公司,了解他們用什麼技術與語言,了解他們的產品,然後想我的作品集有什麼樣的專案,會讓他們覺得我是即戰力,最終才決定要做什麼。 #面試準備的自我懷疑時期 花了兩個多月邊學 React 與做專案作品後,在開始投履歷前,我花了兩週多全力準備面試。面試分成三部分準備,專案作品、JavaScript/React 考古題,以及演算法刷題。 專案作品就是要對自己的專案瞭若指掌,用了什麼樣的技術,為什麼選擇用該技術,都要能說得出來。JavaScript/React 考古題就是上網找「前端面試題目」、「React 面試題」等關鍵字找題目,題目看到後來都大同小異,這些題目多半也都能在網路上找到人分享答題。其中我非常推薦 Huli 的部落格,裡面寫的超多篇都是在回答面試必考題 (例如 淺談 JavaScript 頭號難題 this:絕對不完整,但保證好懂、我知道你懂 hoisting,可是你了解到多深?) 而演算法刷題就是大家耳熟能詳的 LeetCode 題目。刷題前我有買一本資料結構與演算法的書來讀,但後來發現網路上的資料也都寫得差不多,也有許多 Youtube 頻道有相關教學 (例如這個 CS Dojo),所以後來覺得沒有特別買書的必要。實際刷題我主要是刷 Easy 與 Medium 的。每次遇到新的題目會先自己想,真的解不出來才會上網看別人怎麼解。 上面這些或許有點輕描淡寫,但其實在轉職時,有好幾度覺得自己撐不下去、懷疑自己沒辦法做到。不論是專案卡關,或是刷題時怎麼都不懂。事後回頭看,我覺得建立良好心態很重要,不要期待所有觀念自己馬上就會懂,慢慢來,有些觀念看了好幾天才懂,也是常發生的事。上面提到的 CS50 有教一個 C 語言的指標 (pointer),我是重看到第五遍才懂,但那沒關係,最終有弄懂才是重點。 求職的最後階段是投履歷與面試。作為一個傳統定義的文組生,我的經驗是求職時沒有太吃虧。我開始投履歷後一共投了十多家,其中九成有一面,完全沒有因為學歷是文組而拿不到面試機會。拿到面試的也有七成有二面,沒有二面的也是因為白板題炸掉,不是因為自己的背景。開始投履歷的第二週拿到第一個工作機會,在拿到第四個工作機會後終止了剩下的面試。 回顧整個過程,我認為文組生轉職最大的障礙是自己的心態。能不能熬過自我懷疑,能不能在第一次沒弄懂後繼續堅持下去學習才是重點。轉職之路不容易,確定是自己想要的方向才是重要的。假如在過程中發現當工程師實在不是自己的路也沒關係,所學的不會白費,就像也有同為文組的朋友,學了程式後轉產品經理,雖然沒成為工程師,但依然轉到自己理想的職涯。 希望這個經驗分享對正在讀的妳與你有幫助,也祝福大家都能順利發展出自己理想的職涯 🙂
148
回應 26
文章資訊
7 篇文章136 人追蹤
Logo
每天有 15 則貼文
共 26 則留言
國立臺北科技大學
好文!
國立臺灣海洋大學
謝謝原Po😭😭
國立成功大學
想請教原po ~~ CS50大概花了多少時間完成呢? 目前自己也是沒什麼程式底子的人想修 看了網站上別人的分享 好像光是每次的作業就都要花好幾天才能完成?
國立成功大學 電機工程學系
B4 花多少時間不是重點 學會才是
國立聯合大學
請問文組自學拿到的offer起薪給多少呢 謝謝
B4 同意 B5 說的,因為不同概念的理解需要不同的時間,有些我看了一次就懂,有些重複看很多次。有時候卡住了,就直接 stack overflow 或看參考解答,不然一直卡著也不是辦法,當然後來還是要自己再想過
B6 有拿到的 offers 月薪是在 55k-60k 這個範圍中,但不同公司的年終跟獎金給的不同
馬來西亞國立大學
你超猛 我讀機械工程裡面也需要學一上coding的課 但我真的邏輯不太好 你分享的這些會好好參考的 超級謝謝你分享!!!!
中國文化大學
推爆!!目前也是文組商管畢業在資訊業工作一直有猶豫想轉工程師的念頭 但我認為自己的目標和企圖心不夠強烈而沒有做什麼改變及努力 很感謝原po分享了這些資源以及從零開始的過程 這是我可以試試看並努力的方向 一直都是畏懼改變 害怕踏出去結果不如預期怎麼辦 但其實我才23歲快24歲就開始自我封閉 這才是未來會讓自己後悔的事 #願我們都能成為更真實的自己
B9 感謝~ B10 不用怕,我是工作三年多才轉職,我文中分享的工程師作家,她是年過三十才轉,不需被年齡給限制!在前端界有個叫 Evan You (就是創建 Vue 的人),他到研究所時都是讀藝術的,後來轉到工程,現在幾乎是前端界無人不知的大神。 他曾說過「不要妄自菲薄。我覺得很多非科班出身的程式員經常會潛意識里給自己劃定範圍,啊這個是科班出身的人才懂的東西,我沒希望了。你之前學了啥跟你以後能學啥沒有什麼本質聯系吧。我本科學的是藝術史,只意味著我本科的時間大部分花在了藝術史上而已,不代表我以後不能再花時間在 CS 的東西上。其實很多所謂科班出身的人對於編譯原理的理解跟你的差別也就是三個多月一門課而已... 如果真的覺得編譯原理是自己的瓶頸了,那就下決心去學唄,可能並沒你想象的那麼可怕。」
中原大學
敬佩你!因為從你的文筆中感覺英文程度好像很好,想請問面試時還有薪水方面跟英文能力有相關嗎? 另外,如果可以的話方便透露一下你的英文程度供參考嗎?謝謝😁😁
國立中正大學
唉 寫軟體越來越廉價越來越不用門檻了
明新科技大學 資訊工程系
你的確是下苦工來學 身為學店可能就只去看看Youtuber教學+翻翻書而已XD 相信你公司也是被你的用心給打動
B12 以前有在國外交換學生過,英文考試的級距是在托福 115+ 的範圍中。但老實說,因為是面試台灣公司,所以我覺得英文沒有什麼太多的幫助,有幫助的是自學的很多資源都是英文的,在學習上幫助比較多。 B14 謝謝~
國立陽明大學
說個笑話, 台灣研發.
匿名
這則留言已被刪除
已經刪除的內容就像 Dcard 一樣,錯過是無法再相見的!
逢甲大學
加油,錄取了才是辛苦的開始
輔仁大學 新聞傳播學系
謝謝分享 也期待你有更好的發展!
元智大學
一直洗版是在?
國立成功大學
B8 算非常厲害!
國立成功大學
B13 並不完全是這樣,樓主挑的是最容易入門的前端,專職當然是比較容易的(但是能爭取這樣的薪水已經很不錯了),你說的門檻高的工程師應該是偏演算法設計的,這就真的很難轉了
逢甲大學
乾你娘推爆!!
真理大學 法律學系
Hi 作者您好: 我是負責1111人力銀行職場百味-面試經驗談 粉絲團小編,今天在貴網站上看到以下文章很適合我們讀者,不知是否有榮幸以『原文原PO,並註明原文作者及出處連結』的方式轉載於職場百味-面試經驗談網站,並轉發於粉絲團? 上架後會@通知您,謝謝您。
國立政治大學 資訊管理學系研究所
其他科系跨工程師的我公司也很愛收 不過跟本科系薪水差一萬以上就是了 便宜就是好用
國立金門大學 企業管理學系
大學念管理 目前在學程式