找工作必須面對的煎熬與成長 — 國外篇

Hannah Lin
Hannah Lin
Published in
7 min readFeb 20, 2020

雖然我想會發這種文的都是已經找到工作了 (我也不例外)

網路上搜尋 “美國面試心得” 9 成都是分享如何進入 flag (Facebook,LinkedIn,Amazon/Apple,Google) ,而這些人都是來自世界 99.9% 的頂尖人才遙不可及。我相信有另外一大群人最後並沒找到工作而回到自己國家,但很少人寫出來(至少我沒看過),所以導致很多人都覺得軟體工程師工作很好找。但事實是像我這種普通人(不是相關科系私立大學畢業)真的是超超超難找的啊!

所以想寫篇文分享像我這種普通人找工作的心酸,尤其想著重心理上的煎熬與成長

之前曾寫過一篇 夢想與現實的差距之國外工作亂聊最終章,講自己在美國的第一份工作跟自己理想的工作環境/工作內容落差非常大。內心怠惰的聲音跟我說 “找得到工作就好了啊,至少有份薪水,多少人找不到”。但知道自己其實工作的不開心,主要原因是更想專精在寫 JS / React 而不是一直改 CMS 版型 / 刻 CSS / 打雜。

離開舒適圈並不容易,我知道自己可以在現有公司過上好一陣子,但我更討厭每天都在抱怨卻不願改變的自己,所以最後還是決定要換工作。

當然工作並不是想換就換得了,況且自己的弱勢很多。除了沒有美國學歷、工作經驗、不是 CS 科系還有最關鍵的: 演算法很弱
我給了自己一些目標

我是 11 月開始面試的,本來想說在 12 月底搬家前找到,這樣可以找離公司比較近的公寓,但事實證明我太天真了,因為美國面試流程(不論大公司或新創) 真的長到讓人心力交瘁,最高紀錄應該是同一間公司面了 10 來關然後拖了兩個半月 (還 onsite 了兩次)。

另外有回家作業叫你做一個小型 web app, 然後作完過了繼續線上考演算法的公司也佔了 1/3。

回顧這三個月真的壓力大到爆棚拉肚子次數跟面試一樣多到無法計算也常常為了寫面試回家作業弄到半夜三四點。

面試真的會讓人自信蕩然無存,但現在想起這種 “意識到自己有多弱” 挫折心態其實很好,因為層層挫折所以不管是心理或技術還有語言上都讓自己成長的更強壯,最後會坦然面對反正不會的東西就趕快補起來。

下圖簡單畫出自己三個時期面試的心境變化,雖然辛苦但這段準備面試的日子真的是近幾年來進步最多的幾個月。

初期

初期基本上是在測試自己在市場上能力,畢竟大家都說面試造火箭,工作擰螺絲。同一間公司待久可能也不清楚外面面試在考些什麼。我在初期有機會接到 Facebook 電話面試 (延伸閱讀: Facebook 面試考什麼 — DOM Tree 篇) 跟 Linkedin 面試,讓我自信心大增,但沒想到接下來就是一連串打擊。Linkedin 考了很多演算法觀念跟 Web Accessibility (延伸閱讀: 我不知道的 HTML Semantic) 讓我發現自己對相關知識還是很不熟。而 Facebook 考得不只要你會 JS ,還要非常精通。

挫折期

打擊我的實在太多了,最主要分為兩部分第一是語言,第二是認清自己能力有多不足。

語言

自己英文非常普通,雖然在美國生活一年後有些許進步。但每次面試都還是很緊張,最害怕接到印度人或口音超重的人。我唯一能回應的只有 Excuse me, Can you say that again? 每每問到第三次我都不好意思問下去,果真這種聽不太懂對方在說什麼都不會有下一輪,但能怎麼辦只能一直面一直練習練到我都可以猜到他們要問什麼 (就知道我到底面了多少間了吧 XD)

能力

來美國前,總覺得自己在台灣應該還不錯(自我感覺良好?!)

  • 不要是太新奇的設計稿基本上都可以很有效率用 CSS / SCSS 寫出來
  • JS 核心概念例如 Closure、Scope、常見 ES6、 Promise、this… 等都有融會貫通
  • 用過 Vue 從零開始串接資料寫中型網站(但像 Middleware 處理就不熟)

結果來到美國全部打掉重練例如

  • 面試著重演算法,不然第一關都過不了
  • 沒人在用 Vue,大家都用 React
  • 很重視 HTML Accessibility (台灣網站根本沒人在管這塊吧)
  • 都會問你會不會寫 testing
  • 非常非常重視 JavaScript 核心,除了會問 this、 Closure 這種基本問題還會問如何用 for 實作 .map, .reduce 這種然後再帶到是他是如何運用 functional programming 等
  • Walking the DOM (以前我只會用 jQuery 對於原生 DOM 方法很不熟)
  • 另外特別的是沒有一間問 git、只有一間問 CSS / SCSS (台灣前端工作排版應該是必考題吧)

總體而言會以考 “原生 javaScript 跟 DOM” 為主,框架或 library( jQuery、 lodash…) 完全不能用。而 React 通常會以回家作業形式請你寫出一個 feature 或一個小的 web app。

我從最初還會挑選自己喜歡公司,到後來看到 Front-End 就投,海投了 60 幾間,Phone interview 約莫 25 間到最後 Onsite 5 間都沒上,心情真的來到谷底。

成長期

前輩說能有 onsite 機會就是肯定 (通常是最後一關),代表技術沒有太大問題。

我拿到第一個 onsite 時自認表現很好,所以最後得知沒上真的難過了一個禮拜。但也學習到了面試真的不要放太多感情,面完就交給上帝不要太期待結果。但這種意念到了 onsite 五間公司卻一間 Offer 也沒拿到時,真的也在自我懷疑了。另一半一直安慰我沒上的可能太多,不一定自己的問題。能做的就是繼續投繼續刷題繼續變強。

拿到 Offer

其實我很感謝之前公司遲遲沒發 Offer 給我,因為最終拿到這間真的待遇跟福利是所有 onsite 裡面最好的。拿到 Offer 之後前面有些讓我等到天荒地老的公司才終於要跟我談薪水,終於輪到我拒絕他們也是有點開心的 XD

結論

其實自己還是很幸運因為我看過好多人海投了好幾百間都沒得到回覆,雖然有一些年的開發經驗但自知刷題刷得真的不夠多,演算法也學得不夠深入 (幾乎都只刷 Easy 跟一點點 Medium )。希望自己找工作後還能繼續抱持這種學習的熱情。

2021/3 更新
此篇文想參加六角徵文比賽所以依照規定放上六角官網連結
很誠實的說自己只買過六角的進階 JS 跟 node.js 課程,所以不便對其他課程做結論
但非常喜歡這個線上學院帶出來的氛圍
社群大家都樂於分享,也辦過很多免費活動例如前端修煉屋JS 勇者地下城來精進技術
是認真感受想讓台灣的前端變得更強,甚至我在美國的華人同事都知道六角學院呢

--

--