美國生活

實習/正職求職之路

Chi-Yen (Jina) Chen
Programmer & Experience
8 min readMay 15, 2020

--

落地之後,還沒享受太多熱情陽光和蔚藍海岸挑戰便接踵而來,並沒有太多的時間緬懷巷口的手搖杯和7–11,甚或十分鐘車程的胡椒餅,因為大多數來到美國的我們渴望在這找到落腳處,從實習一路到正職,能夠一路闖進矽谷,在世界上數一數二的科技聖地留下些許足跡,或多或少。

先偷渡一張學校裡我最喜歡的圖書館之一。

USC Hoose Library of Philosophy
USC Hoose Library of Philosophy. Shot w/ iPhone8+

在紛紛擾擾的環境下,找到一個能夠讓自己沉靜下來的地方尤其重要,可以是圖書館,可以是房間裡,也可以是某片草坪甚或某棵榕樹下。

LeetCode讀書會/mock interview (模擬面試)

並不難想像在美國希望成為軟體工程師的這條路競爭程度已經到了所謂白熱化的程度,無論目標放在Software Development Engineer或是Machine Learning Engineer,原則上第一關的online assessment都是考coding,透過刷題(LeetCode)來熟悉考題方向和複習/學習各式資料結構是最常見也是我認為cp值最高的方式了。

很多人會猶豫需不需要買LeetCode Premium,我覺得Premium內容中最有價值的是公司tags,包含近兩年內某公司的面試題目和top xxx company questions,再來是針對各大公司的mock interview,還有Problem list中的新題目,這個對有些人來說可有可無,個人覺得如果目標是FLAAG等級的公司買個premium對未來的薪水真的只是冰山一角,是個有效投資,如果正好遇到student discount活動,買!不要猶豫了。

為刷題而刷題的過程對我來說十分枯燥而且乏味,如果可以的話最好找幾個朋友一起,不僅僅能夠互相討論也能給彼此鼓勵,對於漫長的求職路上也顯得沒那麼孤寂。很幸遇的在剛落地便結識一群朋友組成LeetCode讀書會,透過每日聚會,討論當天的題目以及練習在白板上解釋思路,模擬面試情況,真心覺得每日這樣的累積在面試實戰時幫助很大,提前熟悉電話面試/onsite interview的應對以及如何消弭緊張感。

Think out loud是許多面試都很注重的面向,紮實的coding skills很重要,不過如何將自己的思路清楚的表達出來讓面試官了解你的想法遠比coding skills更為重要,畢竟面試官不是你肚子裡的蛔蟲,常理上也不會讀心術,如果不把腦子裡的想法說出來,對方怎麼能理解呢?就算三兩下得出最佳解但是面試官不理解,這場面試的結果很有可能就是coding skills超強但是無法溝通(FAIL)。即使一開始沒辦法想到最佳解,也要先把目前有的想法說出來,跟面試官討論,萬一真的好死不死想不出解法,面試官也能給你提示引導你解出來。模擬面試的時候練習在Google Docs或是白板上面寫code,順道將思路重點寫下來,像是複雜度分析、舉例子的時候、(時間真的不夠的話)也可以留psuedo code,讓面試官回頭寫報告的時候有些東西可以參考(笑)。

刷題求精不求多,若是兩者能兼具當然最好,不過就現實層面考量(腦容量短缺,記憶力不足的情況下),常常是刷了新題忘了之前刷過的題目,所以不時還是得回頭複習之前刷過的題目,大約前兩百題被視為是經典題目,如果在面試時遇到都(應該要)能迎刃而解,另外在拿到面試之後可以針對公司tag去刷,可以大致猜測近期的出題方向跟題目包裝,提升手感外也能更熟悉公司(心理層面)。

取得面試機會

即便出國前聽過很多分享者提到用小公司的面試經驗換取大公司的面試成功,現實中遇到的卻是根本拿不到面試。找實習過程我投了200+職缺,找正職過程投了至少400+個工作機會,大約20%會收到回覆,但其中還包含了罐頭拒信,真正拿到面試機會的大約不到5%。曾經懷疑過自己跟那些分享經驗的強者是不是活在平行時空,抑或是自己的背景真的太過薄弱,無論如何懷疑人生,仍然得把握好每一次的面試機會。

根據自己經驗拿到面試機會依效果大致分成三種:

  1. 內推
    內推來源主要有朋友、學長姐、一畝三分地內推版、LinkedIn Network。
  2. 學校活動 (Trojan Talk/Career Fair)
    會有公司來學校辦活動,包括On Campus Interview,Info Session,Coding Challenge等等,這些時候有機會可以遞交履歷給HR或工程師。如果是coding challenge的話也有機會因為表現優異而拿到面試機會;另外Career Fair就是公司來學校擺攤收履歷,運氣好的話有機會拿到面試機會。
  3. 網上海投
    看到公司開缺就投,我自己註冊了很多Job hunting的帳號,在很多地方掛了履歷,提高曝光度,也因此得到一些HR直接聯繫約面試。

自己拿到offer的管道有透過內推取得面試(正職)和On Campus Interview (實習)。

清晰流暢的解釋能力

公司除了注重technical skills外,culture fit也是很重要的評量依據,畢竟要是公司hire了一個超強的geek然後完全無法跟同事合作,也是蠻困擾的。Culture fit本身是很難量化的,該如何判斷這個candidate適不適合這間公司,適不適合某個組,這種時候會透過behavior questions(BQ)交流了解你適不適合這間公司,下面針對我準備Amazon面試的過程做個紀錄。

面試Amazon的時候,因為知道他們是業界數一數二有名注重culture fit的公司,看面試者是否符合他們的leadership culture,在準備的過程中甚至花了整整一週練習如何架構答案,如何編故事(不是),如何有條有理的回答BQ。準備面試時我看了如何準備BQ,以及前Amazon面試官分享的How to interview at Amazon — Leadership,運用S.T.A.R.方式來組織我的每一個回答。

S.T.A.R. Technique

STAR是很常見用來回答BQ的方式,也可以用來presentation,其中包含四個部分:

SSituation — background info,給面試官一個背景概述,讓他了解你接下來要說的時空背景。

TTask — what you had to do,你的責任所在,應該完成什麼任務。

AActivity — what you did,你最後做了什麼,這部分要佔整個回答的最大篇幅,盡可能詳細的敘述用了什麼技術,完成了什麼,是整個回答最能畫龍點睛的部分。

RResults — positive; quantifiable; what you learned; what you would do differently next time,而當你做了這些事之後得到了什麼成果,若果能夠量化就量化,簡潔明瞭的讓對方了解你做這些事的價值,以及可以再更改進的地方。

根據Amazon Leadership Principals去構思每一個答案,以及舉例說明,除了訓練自己編故事的能力外,也能趁機整理自己曾經做過的projects,更有邏輯而清晰的敘述曾經做過的事情同時也才發現原來在不知不覺中,自己已經默默地前進了這麼多。

另外,我覺得軟實力的累積可以透過善用身邊各式資源來培養,無論是參加不同類型的活動累積人脈,包括private party、career fair、校友networking event,練習和不同領域的人溝通,或是去career center咨詢求職方向、履歷撰寫,嘗試將自己的困惑表達出來,都是很好培養溝通實力的管道。

履歷撰寫

關於履歷,以結果論來說,針對公司qualification客製化非常重要,客製化客製化客製化,非常重要所以說三遍。我的過去經驗主要落在NLP、Machine Learning、Deep Learning,確實是時下十分熱門的領域,但是也正因為熱門競爭者眾,非常難找到相關的工作,無論是Applied Scientist或是MLE。針對領域相去甚遠的Data Science跟Software Engineer,我分別做了不同的resume,包含對經驗敘述,Project選擇以及著重點的不同,接著再細分針對不同公司的職缺要求去完成客製化的部分,讓你看起來像是為了這個職缺而誕生的。對於每間公司多花一點點時間去看清楚requirement,微調一下履歷,讓自己至少能夠通過第一關履歷關進到下個階段。

找工作後期我想因為針對每間公司客製化,也拿到一些NLP相關的面試機會,雖然最後沒有拿到offer,但是肯定的是因為客製化履歷,讓自己的技能凸顯在某個特定領域,例如SDE,例如NLP,例如CV,讓HR甚至是工程師想看看你的潛力,跟你聊聊公司的發展,更深入的認識你。

後記

身為拖延症重症患者,拖了良久才將這些過程記錄下來,希望給未來的自己在某個懷疑人生的時刻可以回頭看看原來曾經遇到過的這些挑戰都能夠迎刃而解,或許並不是一帆風順,但是至少默默地發現自己已經向前走了這麼多。

心情調適在求職的過程中尤其重要,在看見身旁的朋友陸陸續續上岸,自己卻連岸邊都還看不見,不免心慌意亂;但還是得適時調整心情才能繼續找工作這條漫漫長路,只要撐到最後,就會有一篇美麗風景等著,能夠一飽眼福。未來可能會是康莊大道,也有可能是茂密叢林,唯有繼續往前走才能揭開未知。

--

--