自介
10 年工作經驗,大部分時間都在開發 Android App。
對我經歷有興趣可以看這邊:
https://resume.jarvislin.com/
--
本篇文章亦發表於:
https://jarvislin.com/automattic-interview/
前言
三年前我很積極地尋找東南亞公司,因為沒信心跟 native English speaker 溝通,便決
定先去東南亞練英文,打算之後再跳去美國公司,今年轉職自然是延續之前的規劃。
這次只找可以完全遠端的公司,主要是想增廣見聞,順便去體驗各地的居住心得,因為我
也還沒決定之後要在哪裡定居。由於刷題一直刷不出興趣,最後只投了 Automattic;實
作類型的面試內容是我最擅長的,此外 Automattic 面試幾乎都是使用文字訊息溝通,讓
不擅長英文的我,有機會用線上服務修改內容後再回覆面試官,使我安心許多。
今年六月租屋合約到期,為了避免面試過程被搬家雜事中斷,我決定搬完家才投履歷,而
弄完新住處的網路已經六月底了,此時才將履歷送出。
--
事前準備
1.更新履歷。
2.練英文。
3.試用 Automattic 所有產品。
4.爲官方 open source 專案做出貢獻。
三月中旬決定要投 Automattic 後,便開始著手處理面試前的功課。履歷改完後並不是很
滿意,後來外包給國外的 head hunter 幫我重寫履歷跟 cover letter;此外也買了英文
課,每週線上跟外籍老師練一小時,主要是練行為面試,很幸運地對方還幫我檢查履歷,
將不足之處修了一遍。
面試前我會研究公司產品,主要是看產品特色及缺點,並做些競品分析,若遇到產品人就
可以提出我的見解以及改善方向。我剛好是 WordPress 及 Tumblr 的使用者,所以主要
分析這兩個產品,至於其他產品就簡單把玩過一遍。
再來,我想在面試提及我對官方 open source 的貢獻以加深面試官對我的好印象;因之
前通勤會用 WordPress 寫文章,當時在 app 發現的問題剛好派上用場,便去官方
GitHub repo 開 issue 以及發 PR。
還有一項不在計劃之中:我搬完家改騎 YouBike 通勤,因為官方 YouBike app 太難用,
我自己寫了一個順手的,這個專案在第三關的 trial project 幫了大忙。
對這個專案有興趣可以看此文章:
https://jarvislin.com/bikeshere/
--
線上會談
跟 recruiter 約好時間後,便收到 Automattic Slack 的邀請,對方開了一個私人頻道
,接下來面試相關的內容都會在此頻道進行。第一關的面試官是來自希臘的 tech lead,
看他 GitHub 應該是網頁前端專業。
會談大約三十分鐘,全程都是純文字的交流,當時被問了不少行為面試的問題,雖然英文
課有練習,但正式面試完全不是那麼一回事。我字彙量不夠,有些問題要先拿去丟
Google translate 才知道是什麼意思,最慘的是翻譯完還看不懂,加上不想讓對方等太
久,最後回了一堆破碎的句子,還滿掉漆。
可能面試官專長是網頁前端的關係,他並沒有問太多 app 開發的問題,而是問我比較通
用的開發經驗;我剛好都有經歷過,也就順利回答出來,這部分我覺得有平衡掉行為面試
問題的表現。
會談結束三小時後,收到進入下一關的通知。
--
Coding Test
這關被加到一個 GitHub repo,裡頭放了一個 legacy project,我要修正有問題的部分
,並且根據需求加入新功能。這還滿像真實世界會碰到的狀況,確認完一些沒提到的細節
,我就開工了。這項測驗沒人跟我一起協作,所有細節自行決定就好。這關並沒有特別的
時間限制,根據 recruiter 的說法,大部分的受試者 7 – 10 天可以完成這項測驗;等
我告一段落已經是兩週後,recruiter 拉了一位工程師進 Slack 頻道要幫我 code
review,三天後這位工程師寫了這項測驗的回饋,便恭喜我進入下一關。
--
Trial Project
這關跟 Coding Test 滿像的,一樣是拿到一個 GitHub 上的專案,根據文件上的需求來
達成目標。差異在於這個階段會搭配一位 trial lead,每個 PR 都會被 review 後才能
合併;專案限時 40 小時,可自行安排每週要開發的時間,不用急著將專案做完。此外,
這關會需要用內部系統寫文章,除了整理開發思路,這也是跟 trial lead 溝通的工具
。 順帶一提:Trial Project 是有支薪的,每小時 25 美金,滿多面試者批評太低,但
以台灣薪資來看是個還可以的業外收入。
我在此專案其中一個限制是要使用 trial lead 寫好的架構跟 code stack,使用技術跟
我 YouBike side project 高度重疊,為我爭取到不少時間,這使我可以將大部分心力放
在實作功能跟寫文件,而不是入門各種不熟悉的事物。
將專案寫到我滿意的程度後,便提交給 trial lead 結束這回合。一週後捎來喜訊:面試
官要將我推薦給 CEO 及 HR 團隊。
--
Final Chat
跟 HR 約完時間後,我開始思考想要去的產品團隊,以及蒐集一些薪水相關的資訊。自己
對內容、社群較有興趣,私心想加入使用者多的產品團隊,無論是加入 WordPress 或是
Tumblr 都會讓我很開心。
到了約定時間,當天並沒有分組的環節,而是直接跟 HR 進入最後階段;一開始問我對面
試過程的心得,接著就開始問我預期薪資。當時薪資相關的資料準備得不夠充足,所以第
一次沒有談出結果,跟 HR 約了下週繼續。
第二次談判前我也沒閒著,去找了職涯顧問諮詢,也跟有美國工作經驗者詢問相關資訊,
以釐清現狀並擬定談判策略,最後順利談到我的理想範圍便接受 offer,兩天後完成簽約
。
--
事件表
06.26 投遞履歷
06.28 約線上會談
07.01 線上會談
07.05 Coding Test
07.16 作業檢查完畢
08.01 Trial Project
09.06 告知通過試用
09.20 約 Final Chat
09.27 Final Chat 面試感想&談薪
10.03 Final Chat 薪資談判&Offer
--
後記
這場面試長達三個月,算是我職涯中最久的一次,我想以後也很難有這樣的機會;這段時
間我覺得壓力滿大的,本業剛好在趕進度,下班後又要繼續處理面試的東西,而且持續好
一段時間,真是蠟燭兩頭燒。此外,五月起美國各大公司都在樽節、砍人,即便寫文章的
此時已經第四季了,美國科技業還是不乏裁員的新聞。中間有幾關通過後等了一段時間,
會胡思亂想受到不景氣影響,導致這個 headcount 沒了,這是過程中最讓我感到無助的
部分。
撇開上述的心理壓力,我自己還滿喜歡 Automattic 的面試方法,因為它更能全面測出我
的實力。有什麼方法可以知道面試者加入公司後的工作狀態?那就是直接跟他一起協作;
在 Trial Project 的關卡不論是程式品質、溝通狀況或是文件撰寫能力都無所遁形,這
是傳統面試方法沒有辦法做到的程度,也更貼近實際狀況。
--
後記之二
去年看到 AmosYang 整理的遠端職缺貼文,我才有機會去投這間公司,感謝。
原文:
https://www.ptt.cc/bbs/Soft_Job/M.1631576991.A.6E6.html
最後,我想感謝閱讀此文的你,願意騰出時間看到這裡;今天是週末的最後一天,願你在
週日晚間可以充分休息,然後明天與我一起在各自的職場上繼續打拚。
如有任何問題,歡迎詢問。
--