轉職心得分享|零程式基礎,自學八個月轉職前端工程師

寫這篇文章的目的主要是想紀錄轉職前端工程師的過程,以後才能好好回味這段美好回憶(?)

在分享之前,先稍微介紹一下自己:

背景
高中社會組、大學英文系、雙主修經濟系,總之就是一個百分之百的文組生,之前完完全全沒有學過程式,一點點都沒有,唯一跟資工有關的地方就是我有個讀資工也熱愛資工的弟弟(?ㄜ …似乎也跟我無關 😕。

現況
2022年4月全職從零開始學習程式,2022年12月開始投遞履歷,主動投遞約 15 間公司,面試邀約 3 間,總共面試了2間,因為已接受 Offer 所以拒絕一間,而面試的兩間都成功錄取!對我來說真的是一大鼓勵。

前期提要
如果有看過這篇的【工作】面試經驗分享|希伯崙股份有限公司(Live ABC) 的人可能知道,我在 2020 年底順利錄取了英語雜誌編輯一職,也在那待了差不多一年半的時間,工作忙碌所以後來也停止更新部落格文章。但既然我現在又開始更新部落格就代表著我又變成無業遊民了…嗎!?是的,沒錯。

擔任英語雜誌編輯約一年半的時間,今年四月決定辭掉工作踏上轉職的路。擔任編輯的日子其實過得還算快樂,不過這篇不是要分享當編輯的日子就先不多說了。只是,當初選擇離職的原因並不是因為工作痛苦或公司不好才離開。

那到底是什麼原因呢?

◉ 轉職契機

工作了一陣子後,也漸漸地明白工作對自己的意義是什麼以及自己重視的地方,當然這些想法也可能隨著年紀的不同而有所轉變。但對現階段的我,我發現我喜歡的是一份能從中獲得成就感、具有挑戰性的工作,並持續感受到自己正不斷地進步、變強。

當編輯的日子我也學習到了不少,只是因產業屬性的關係,我有點難去想像五年後的自己會是什麼模樣、甚至是十年後二十年後…少了對未來的憧憬,生活就過得沒什麼動力。每天穩定且平淡,這樣沒有不好,但心裡總是會有個聲音說自己可以做得更多、自己不是只有這樣而已。

大概工作滿一年的時候,轉職的念頭就一直存在我心中。但踏出舒適圈不是件簡單的事情,轉職有太多事情要考慮,包括那要跳槽到哪個行業?沒有經濟來源該怎麼辦?一些看起來好龐大的問題就讓我遲遲不敢有什麼實際的行動。

記得有次回家,吃晚餐時和在讀資工系的弟聊天。我常常會說很羨慕他,羨慕他有個明確的目標和興趣,然後這興趣的工作機會多、發展又好。他回我,他才羨慕我英文好,不受語言限制可以好好利用網路資源學習。原本一直覺得,如果大學讀的不是資工系,大概這輩子就跟寫程式無緣。不過我弟跟我分享,其實有很多人沒讀資工後來也成為工程師,例如他就有一個資工系的教授其實是英文系出身。大概就是他的這番話,讓我開始對自己產生了從未想過的期待。

於是開始上網搜尋相關轉職資訊,結果出乎意料地多,突然覺得也許可以從這裡開始試試。包持著「這麼多人都做到了,我也可以」的態度展開了我的轉職之路。起初真的完全不了解軟體工程這個領域,以為軟體工程師都一樣,工作就是寫程式。後來才知道,這領域涵蓋的範圍之廣!例如:前端、後端、遊戲、資安、App 等等…在大量爬文後,便決定先從網頁前端(也是大家認為對零程式基礎的人最容易上手的地方)作為轉職起點。

◉ 自學前端過程

1. 摸索階段

決定嘗試前端這條路後,就開始上網查詢大量的資料(前端必備技能、學習地圖、基礎知識介紹),當時主要的學習資源是 W3School21 Day Coding Challenge,這時還沒有系統性地制定學習計畫,比較像是閒暇之餘隨意看看文章、了解前端究竟是什麼。主要是趁下班還有上班午休時沒有壓力地到處亂看。

還記得那時初次認識 HTML,寫了個超級簡陋的標題和段落就很自豪 XD 對那時的我來說,以為只要是一堆英文加數字就是程式語言。 回家向資工弟炫耀一番說我會寫程式了,結果被翻了個大白眼:「HTML 不是程式語言」潑了一身冷水。

2. 全職自學

2022年4月辭去英語雜誌編輯一職,開始全職自學。首先,當然得擬定自學方式,上網爬了各種文章,知道有許多補習班和機構有開設專為轉職前端工程師量身打造的套裝課程:資策會、六角學院、ALPHA Camp,還有完全免費且口碑好的 App School,但最後經過各種考量(時間、地點和金錢),決定採取「自學中的自學」策略,學習地圖全部靠自己走出來、作業功課自己出,立志成為注定要迷失在浩瀚網路資源的冒險家。

當初會選擇資訊工程的其中一個原因就是因為這領域的開放性資源相當多,不用怕找不到東西學,只怕學不完而已。不參加套裝課程得冒著會撞更多次牆、會花費更多時間精力在尋找合適學習資源上的風險,不過這也正是個好機會測驗看看自己有多少能耐、是否真的有興趣,畢竟若真要走這行,往後的日子大概就是這樣子過。

回顧這幾個月來的自學過程,我認為自己的學習計畫並不算周全(網路上有更多制定得更好的學習地圖可以參考),總之我有開一個 Notion 筆記來記錄程式學習的里里叩叩,主要的紀錄方式是:

  • 列出前端必備的技能

老樣子上網大量爬文關於自學前端必備的知識有什麼,例如 HTML、 CSS、JavaScript、前端框架、Git、網路基礎概論 …等等(多到數不清)。每項技能都像是小目標,訂定每項技能的學習時間,例如:兩個月內我要學完 React。

但在實際執行上會遇到時間難以預估的困難,在完全不了解那項技能到底是什麼的情況下,老實說真的很難去預估自己要花多久的時間。因此,在學習某項技能的時候,得先決定好主要學習資源。例如:購買 Udemy 上的 React 入門課程作為學習 React 的主要學習資源,那我就會去依照課程總時數、一天可能可以上兩三小時去計算要花幾天才能上完。

  • 搜集整理學習資源

學習資源很多,有時候不小心亂逛就會找到好文章、好影片、好網站,當下沒有時間好好研究的話,就會趕緊把連結貼到 Notion 裡,趁有空閒的時間再把它們補起來。然後你就會發現,連結增加速度比你消化得還快 XD 但這很正常,畢竟要學的東西太多了,試著接受並習慣吧哈哈哈~

這裡就來介紹幾個自己覺得不錯的學習資源:

【初探階段】

  • freeCodeCamp:完全免費的學習資源。
  • codecademy:付費升級 Pro 的話會有更多測驗和 Projects 實作(但我沒有)。

以上這兩個網站會把某項技能拆分成很多個小主題,然後引導你一步一步實作,相當適合零基礎的初學者,像遊戲破關一樣很好玩(我覺得啦)。

  • Udacity:有些免費的課程,透過閱讀文章和影片的方式學習。
  • CS50:哈佛開給非資工系學生的電腦科學基礎課程,可以感受到教授對資工領域的滿滿熱情,看了讓人熱血沸騰哈哈。
  • CSSBattle:有點像是 CSS 版本的 leetcode,用最少的 CSS 程式碼來拼湊出指定圖形,滿好玩的!不過我覺得 CSS 需要有一定基礎才能體會到箇中樂趣。

【衝刺階段】

  • Udemy:推薦 Jonas Schmedtmann 開的課程,講得很清楚、初學者友善,語速很慢所以我都會開 1.5 倍速以上。Udemy 蠻常特價的,可以留意一下,我所有課程都是趁特價的時候買的。
  • YouTube:推薦 The Net Ninja、Web Dev Simplified、Kevin Powell(CSS 大師!),freeCodeCamp 也有超多超豐富的教學影片,會邀請不同工程師來教不同的主題。
  • Frontend Mentor:這網站很酷,上面提供了許多免費的專案 idea,它會提供素材和設計稿給你,你得跟著設計稿實作出完整的專案,部分需要付費才能解鎖。

【您終身的好朋友】

  • MDN:前端工程師必備
  • 各家官方文件
  • stackoverflow
  • chatGPT (?)

書籍的部分非常推薦這本《 0 陷阱!0 誤解!8 天重新認識 JavaScript!》,從剛開始學 JS 時就開始看,一直到面試前都有重新翻看了許多次。一開始看的時候一定會有很多不太懂的地方,但隨著認識的東西越多、看過越多網路文章,就會發現每一次看都又會再多了解一些!

3. 投遞履歷

如前面所述,12 月我才開始投遞履歷,最後很幸運地成功在年底得到了工作機會。面試前的準備可分為兩大方向:專業技術以及自我了解。

  • 專業技術:上網查「前端工程師面試題」就能找到許多面試題目,我準備的方式是一天會從中選 3~5 題,然後開始針對每一題找資料複習並一邊在 HackMD 上做筆記,隔天會和同為轉職人的戰友互相考對方。
  • 自我了解:任何有關「你」的問題,像是自我介紹、轉職原因、轉職過程、人格特質、做過的專案等等。我自己覺得準備這部分的題目比技術題還要更困難一些 🤣。但這是個好時機重新釐清自己轉職的初衷、好好地認識自己,痛苦但必要。

其中,我覺得最最最重要的是「介紹自己的做過的專案」。身為一個非本科且毫無經歷的轉職者,作品集正是證明自己能力的一大重點。比起擔心自己做的專案不夠酷不夠厲害,更要擔心的是你有多了解你自己做的專案。

那到底要了解自己專案到什麼地步呢?就是當其他人隨便指一行程式碼並問你這行在幹麻的時候,你可以馬上充滿自信地回答出來,而這只是基本中的基本。此外,你要好好回想一下做這專案時曾遇到什麼困難,以及是怎麼解決的。總而言之,你能越了解你的專案(包括使用到的技術)越好。

◉ 其他碎念

如果你是正準備要轉職的人(或者正在轉職路上),可以看看這一篇 《為什麼成為一名工程師這麼難 —— 從程式新手到準工程師的必經之路》。文中介紹到成為工程師你會經歷的四大階段,還記得我當時看到這篇文章時,我處在 hand-holding honey moon(手牽手心連心蜜月期),正如該篇文章所述,我覺得一切都好新鮮、像是發現新世界,成功用迴圈印出三角形就成就感爆棚。然而現在轉頭回顧,發現自己還真的經歷了那四個階段,尤其「絕望沙洲」的部分哈哈哈~

還記得有幾個夜晚,知識焦慮把我壓得喘不過氣,絕望到在 google 搜尋欄輸入:Is it possible to be too dumb to code? 看了許多勵志留言與文章才又振作起來。有一句話想要分享給正為知識焦慮所苦的人:「你不懂的東西很多,但這不代表你知道的很少。」後來我也慢慢地習慣了永遠學不完這件事,甚至樂在其中,因為這意味著自己會不斷成長進步,而這也是我當初想轉職的主因。

喔對了!據說這四大階段是個無限迴圈,以為只要度過絕望沙洲你這輩子就安全了嗎?太天真,可能過個幾個月它又回來找你了:)


我覺得轉職前端工程師的過程就像是搭上一列開往未知國境的火車,許多人對於這「未知國境」都抱持著美好的憧憬與期待(包括我自己),雖然偶爾會耳聞有人成功抵達後卻幻想破滅而又踏上回程路,不過仍然有越來越多的人搶著要搭上這班車,畢竟還是想親身體驗看看,不試白不試,也許這班車就載我找到了想做一輩子的工作。因為還是那句話:

If you don’t try, you’ll never know.

總之,冒險才正要開始,期許自己工作滿三個月後再來更新一下近況(喔當時開心地和資工弟分享錄取的喜悅,結果被吐槽:「等你做滿三個月再說吧」🥲)。

加碼期許自己趕緊把資工基礎(資料結構和演算法等)的知識補起來,雖然說許多文章都說前端工程師所做的事情和資料結構和演算法並沒有「直接」關係,就算不會還是可以活得好好的,但學起來總是件好事,不要自我侷限(其實是資工弟常威脅我:不會資料結構和演算法別自稱工程師欸)。沒有啦~我自己也是滿想多多學習,畢竟我是朝全端工程師為大目標邁進,好了與其繼續天花亂墜說夢話,還是趕緊學習去!

如果你也對前端知識有興趣,歡迎來我的 Medium 逛逛,在那裡我會分享學習前端知識的筆記,一起來討論學習前端知識吧!

大家 ㄅㄨㄞ~🌼

發表留言

使用 WordPress.com 設計專業網站
立即開始使用