閱讀教材: - MDN 有前端相關的問題我主要都是看 MDN 文件居多,畢竟人家是官方的文件,一定會是標準的作法。 身邊的朋友問問題,大部分我也只是轉貼 MDN 文件的內容給對方看,導致有朋友甚至戲稱我跟本沒娛樂:「別人在看漫畫的時候我都在看 MDN 」。 另外我在看 MDN 時,我一律只看英文,對,我這個人的怪僻就是文件只看英文。 文件只看原文的原因是,我大學的時候曾接案做過翻譯,如果文件翻譯的太爛我可能會看到生氣,有時候我看中文都感覺他不是中文,索性只看英文文件。 這也是我前面說到,為什麼語言能力幫助我很多的原因。 我每天都在看 MDN 嗎?當然這不是真的,我還是看多動畫、影集的(喂)。
- 0 陷阱!0 誤解!8 天重新認識 JavaScript!: 前端神書,我至少嗑了十遍以上,對,就是重頭到尾看十遍以上,我還做了不少的筆記,沒有整本看懂你不要說自己很懂 JavaScript ,雖然到現在我也沒有全部看懂就是了。
- 重新認識Vue.js:008天絕對看不完的Vue.js 3指南: 我目前學 Vue 還依然在持續閱讀的一本書,可能書中提供的不會是「最容易懂」、「最好的作法」,但一定可以在開發上提供一定程度的導讀及靈感。
- 金魚都能懂的 CSS 選取器:金魚都能懂了你還怕學不會嗎: CSS 神書,在初學程式時我覺得 CSS 算是簡單易懂的程式語言,後來才發現大錯特錯,我花在 CSS 上的時間實際上並不亞於學習 JavaSCript 的時間,當我要合併 Sass 及其他設計模式做進階的 CSS 使用時,這本書真的給我幫上很多忙。
全職學習中期:放上履歷、試試水溫
從典型文組上班組,到前端工程師,我感受到最明顯的差異就是職缺的稀缺度。
我會建議大家在學習進度的中後期,也就是你至少對某一個語言有一定的掌握度時,或者說你有跟著課程,實作出一些小東西時,一定要在求職前放上求職平台,像是 cakeresume 或是 LinkedIn 等。
其實我是一個很沒自信的人,但我做了一個可以大幅提升我自己自信的行動,就是準備進入就業市場前,先將自己的履歷提前做好,在邊學習技術的過程中,只有有新的作品,我就會放上去,或是更新自己的學習技能。
這個舉動讓我在沒有主動投遞履歷前,讓我收到了五個面試邀請,其中不乏有國外新創、遠端類型的工作,這不僅讓我大幅提升自信,也能從面試的過程中,了解自己的目標在哪,了解自己目前還有什麼是不足的地方。
我強烈建議大家,如果你學習程式的最終目標是就業的話,絕對不要害怕公開你的履歷,也不要拒絕任何一場面試,每一次的過程都會成為你未來職涯中的養分。
另外我近期也收到一則讀者提問:「我目前在巨匠學習了 HTML、CSS 三個月,只有略懂略懂,請問我要投履歷嗎?」
不論你是在學習的哪個階段,投履歷都能立馬檢視出目前自己該往哪個方向努力。
如果沒有人要找你面試,要馬是你實力不夠,不然就是你履歷寫不好。
這時候可以試著優化自己的履歷,如果沒有用的話,就代表你目前的技能不足以應付你想要申請的職缺。
全職學習後期:準備作品、磨練底層知識
我認為作品是一個很基礎求職必備的要件,尤其是對跨領域轉職的朋友來說。
作品是一個能讓面試官最快了解你程度的方式,也是讓你的履歷更豐富的最佳方式。
至於要怎麼準備作品我覺得會分兩個面向:
第一個面向是,當你發現自己在課堂上已經有一兩個,可以「動」的作品,那就可以直接放上履歷,也許在你結束學習前,就會有人找上門來。
第二個面向是,當你的學習到了一定程度,對前端來說可能是學到框架了,那就要開始著手打造你的 side project ,這麼做除了是豐富你的作品集外,更重要的是在找到工作前,你要確保自己有持續學習,而不是上完課就覺得:「Oh! I'm done!」
至於作品集要往哪個方向準備,就看你自己對哪面有興趣,或是目前你在生活中遇到了什麼難題,但卻沒有現成的 Web App 可以協助你解決這個問題,那麼你就可以嘗試自己做一個。
說完作品集,接著我們來聊聊底層知識,所謂底層知識是什麼?也就是你目前專精語言的實作內容、常常被大家搞混的知識點。
為什麼要刻意增進自己的底層知識呢?除了能讓你在寫 code 的時候更知道自己在寫什麼之外,更重要的一點是,通常面試官都很喜歡拿這些底層問題作為面試題,舉例來說,我就曾經被問到以下問題:
Q:如果有一個狀況是 const a = {};請問 a == {} 與 a === {} 的結果分別為何?
Q:請問淺拷貝與深拷貝的差異在哪?什麼時候會用到淺拷貝?什麼時候會用到深拷貝?
Q:cookie 與 localstorage 的差異在哪?
Q:JavaScript 是多線程還是單線程的語言?
Q:請問如果程式在執行的過程中,穿插了 setInterval 的函式,請問現在 JavaScript 會怎麼執行?
現在知道自己該往哪個地方努力了吧?
如果你現在在學習的後期,請記得一定要幫自己設定目標與期限,也不要一直狂做作品,而拖延到找工作的時間,畢竟時間是最貴的成本,你再怎麼學也不會有直接去工作來的學更快。
轉職小總結
在最後,我簡單交代一下我花了多少時間轉職成為前端工程師,及統整一下我的學習方式。 在我轉職前,我花了約 1000 小時在寫程式,這個時間是我透過番茄鐘計算出來的。
全職學習約七個多月,在四個多月的時候我就開放了我的履歷,並且在七個多月的時候轉職成功。
在這七個多月中,我做了這些努力:
- 最基本的待辦事項( Todo List )我練了不下十次,從基本的純 JS 環境,到 Vue Cli 都練過
- 上述的課程我有九成以上都有把最終作業交出來,並且通過六角學院的審核。
- 008 天重新認識 JavaScript 我嗑了十遍有
- 只要有不會的內容,或是學到什麼新技術,我就會把它做成筆記
- 額外自己研究一些酷東西,像是硬要自己寫 Modal、或是硬是自己從頭寫了一個 Sass 的 library
- 我經營了這個部落格及 IG ,我分享技術筆記及轉職心得,並且從幫助他人中獲得力量並持續走下去
- 我在六角學院做了兩次志工,一次助教,批改過上百份作業、籌辦了技術寫作的活動
- 最後被老師邀請到火箭隊訓練營,跟著第七梯的夥伴接受了約一個月的自主訓練
老實說,要說我學習很迅速,或是過程很幸運好像都不太對,但我收過很多讀者、同學的私訊說:「我不像妳這麼厲害」又或者說「我不像妳語言天賦造詣好」。
但實際上,所有那些旁人看起來很厲害的結果,都是我努力追求來的,舉例來說,在我學程式的初期,只要學院有辦活動需要志工,我馬上就會自願,於是我後來有了當助教的工作機會,及參與訓練的機會。
前面說到的「別人在看漫畫的時候我都在看 MDN 」,在別人抱怨很難的時候,我直接放棄掙扎,任命嗑 stack overflow,一次找不到,我就找兩次,兩次找不到我就找三次,反正我就是噎著一口「我不可能做不到,隔壁室友整天打遊戲都可以當工程師了,我怎麼不可以」的態度在寫 code 。
事實證明,程式這件事一定可以後天養成的,就端看你的人生方向有沒有與這個工作吻合。
還記得我在前一份工作離職時,我那時的主管跟我說:「Vivian 你確定嗎?工程師是一條不好走的路。」
我只想說,沒有一件事是簡單的,我連要假日在床上賴著時,要不要出門買午餐都會耗我很多精力,就不要跟我談你想要輕輕鬆鬆變成工程師了。
輕輕鬆鬆?你做夢比較快,真的。
給要入這行朋友的小建議
我在撰寫這篇文章的時候,還沒有實際 on board,所以我真的不知道所謂軟體開發這行,RD 這一行到底長怎樣。
但我可以很確定的一件事是:「你如果還在仰賴別人解決你的問題,那你不要來。」
工程師大部分的時候,都是要自己想辦法解決工作上的問題,因為你會發現,也許公司裡除了你或是你那個部門的人,沒有人會這個問題了。
撇除很實際的技術面問題,你要花很多時間閱讀、寫程式,更要時時作為一個「解決問題」的角色,也不會太輕鬆。
但如果你我一樣,對這個世界感到很好奇,看到什麼酷東西就是要去玩一下,那麼軟體開發就會很適合你。
畢竟以台灣整個大環境來說,軟體工程師的福利真的比很多職業的福利好很多,至於工作內容好不好玩,那麼就很見仁見智了。
最後,能成功跨領域轉職,要感謝的人太多太多了,謝謝這七個多月中出現在我生命中的人事物,不論是好的壞的,你們都讓我成功成為了一位「開發者」。
我的挑戰之路才正要開始,我們之後的文章再見啦。
如果你有任何的職涯問題想要跟我聊聊,歡迎你用 Instagram 的小盒子私訊我,我會很樂意提供你協助。
希望今天的文章有幫助到正在閱讀的你,如果你喜歡我的文章的話,可以留下你的愛心或是收藏我的文章,也或者可以點選「贊助」,你的一杯咖啡絕對是我持續寫下去的動力!或是透過拍拍手,用你小小的行動支持我的創作!
我是Vivian,我們下次見。
關於我:
2019年從英文系畢業,2021下定決心開啟轉職工程師的新生活,相信不斷學習會有成長的一天。
|聯絡我:vivian.enlife@gmail.com