分享花費了許多心血,4 年多來的矽谷找工作系列、經驗文章、及人物專訪總結
矽谷-世界的科技之都,對很多有人又著莫大的吸引力, 在我來到矽谷之前, 我會幻想著到蘋果、Google、Facebook 的公司總部,一窺這些帶來世界性改變的公司的辦公環境及氣氛,並實際和在這些公司工作的科技人士交流。
自從我來到矽谷,在當時美國最大的太陽能公司 SolarCity 上班後,我開始把我的矽谷找工作面試經驗分享在我的半路出家軟體工程師部落格,分享的契機是有一些朋友對於我的半路出家轉職的經驗很有興趣,同時因為一些人不在矽谷,很想了解在矽谷的找工作經驗是怎麼樣的。
於是我在幾年內,陸續分享了在美國矽谷找工作經驗系列,一共寫了 12 篇原創文章,從我的總結找工作經驗分享、軟體工程師找工作需要會什麼程式語言、美國軟體工程師的面試流程、如何寫 LinkedIn 讓各公司人資或獵人頭主動找上你、到美國現在主要用什麼工作平台來找工作、面試要如何練習、及被錄取後要如何談判,找工作的常見 F&Q等等,以下是我這 12 篇文章:
1. 軟體工程師美國找工作經驗分享
2. 程式語言- 到底學哪個好?我想進Google,我沒學OOO,他們會接受我XXX語言背景嘛?
3. 簡介美國軟體工程師面試流程
4. 等待機緣- 我要如何被人資或獵人頭發現? 我要如何脫穎而出? LinkedIn重要嘛?
5. 主動出擊- 我要找工作了,現在美國都用什麼找工作?哪個網站平台能讓我有較多面試機會?
6. 軟體工程師面試準備- 面試要練習什麼? 找工作和練習的時間要如何平衡拿捏?
7. 被錄取了- 我該注意什麼,我可以談判要求多一點薪水、股票或假期嘛?
8. 矽谷找工作之常見問題 FAQ
9. 面試技巧及心得,如何有條理的說服面試官?
10. 如何到美國科技公司工作?
11. 英文履歷怎麼寫? 美國科技公司注重什麼?
12. 最有效得到面試的方式- 內部推薦: 尋找內推資源 & 歹晚郎互助網絡
這一系列的找工作文章,加起來有超過 10 萬以上人次的閱讀, 有許多讀者的互動、共鳴、及詢問,更激勵了許多讀者、採取相關的行動, 面試了美國的科技公司,來到了美國、或是矽谷。
在找工作系列之後, 我關注探討了一些全球科技業及軟體工程師的現況的文章。 從 “2017 年科技業全球薪水趨勢 (2019 更新)”中分享了矽谷雖然名目薪水是全球之冠,但在考慮物價及支出水準之後, 德州奧斯汀其實是實質薪水最高的地區,比矽谷高出近 50 %。 總結來說,全世界的科技業人員的薪水還是在逐年上升的趨勢中。
在 “矽谷流行指南:矽谷標準配備入門包”, 我介紹了目前矽谷比較知名的一些流行事物。 許多在我們矽谷習以為常的日常所見事物,對於不在矽谷的朋友也算是開了眼界,多了解矽谷的現況。
“有感 ”陳瑞聰之矽谷誰在一例一休?" 不知是哪個矽谷?”,則是因為當時台灣許多人因為陳瑞聰用矽谷來評論一例一休,我用我在矽谷的經驗提出的觀察。 矽谷這裡大家都很拼命沒錯,我覺得在美國,應該就是矽谷的步調最快、壓力最大,要和全世界人才競爭,大家都很有自覺努力。但就工作時間來說,但除了在像是在 Tesla 工廠需要 24 小時輪班的工人及工程師要 6 點換班上班,軟體工程師們的上班時間都很彈性。況且上位者不是應該帶領大家走出更好的路,讓大家工作生活更有品質嗎?矽谷這裡公司都是在比福利的,領導階層是不會(也不敢)公開的要大家長時間工作的。
“Is winter coming? 凜冬將至?”, 則是我閱讀了 Uber 早期投資人 Jason Calacanis 寫給他投資的 250 多個創業者的信,他預估接下來兩年市場會有 20~30% 崩盤的機率。我佐以其他例子,像是許多科技公司趕著上市從資本市場拿錢,上市後的公司估值沒有想像中高,表示市場可能正在冷卻。而我們關注產業、世界趨勢。如果整個市場都即將修正,我們可以參考過往歷史,提前準備,避免自己及家人陷入危機之中。
“選擇比努力重要” 則是看到我的前公司 Tesla 的裁員新聞有所感觸, 一位我所尊敬的前輩說過 "職涯的成功發展,選擇非常重要,做什麼產品,跟什麼人一起工作,比每天埋頭加班更重要。一次好的選擇能讓你領先同儕十年、二十年,一個差的決定,也能白白浪費一個頂尖人才數年的人生黃金時期。" 在我們職涯發展,切記不要終日低頭努力,也要抬頭觀察趨勢,做出對自我最好的決定。
而在 2019 年以來, 我也嘗試藉由直播訪問矽谷傑出的人物,由了解他們的生命故事,來給大家帶來更多啟發。
第一個直播是訪問擁有多經驗的矽谷產品行銷經理(Product Market Manager) ,同時也是知名部落客矽谷阿雅, 幾個重點像是許多時候大環境不好,我們需要更加努力。阿雅主動出擊和教授、校友聯絡、參加networking event 先做好功課查詢好有誰會去,還準備好企劃書呈現。 我在參加農業圖書館的 conference 時準備好和館長自我推銷等等。 很多時候機會是可以被創造出來的。
許多人常有疑慮說我不知道我可不可以做ABC...請就勇敢的去嘗試把!不管是轉領域、換工作、換大學專業、出國、你可以小小的在業餘時間嘗試、上課、做兼職、你做了一陣子就會知道你會不會想要真的百分之百的投入! 不管你做或是不做, n 年後你都會變老 n 歲, 不要 30 年後你後悔在 2019 年沒有做你現在有的念頭。
我不知道我的經驗會不會不夠? 公司不要我? 怎麼辦? ...我們也不知道阿,你可以試試看投履歷阿? 像我 2015 年請朋友內推臉書工程師職缺,早上內推完,下午就被拒絕了! 那我就知道我的經歷還不夠,達不到臉書標準! 之前有朋友說我都找不到工作怎麼辦? 我問了一下他投了幾個工作,他告訴我投了 10 來個!我 2012 年投了 800 多份履歷,2015 年找工作投了 180 幾個, 阿雅也提到她 2008 年投了 500 多份履歷, 如果你沒有投超過 100 份以上,先別說你還找不到工作阿!
和矽谷阿雅訪問的完整內容歡迎收看影片: https://www.facebook.com/PivotSoftwareEngineer/videos/255076742045622/
第二個直播訪問了矽谷的社會學家及 UX(使用者經驗) 研究員 Tiffany, 社會學的她目前在矽谷頂尖科技公司做使用者經驗研究員,她同時也是換日線的知名作者"葉蒂芬/出走社會學家的音樂之旅"。
她從醫療領域的 consulting 出發, 一步一步的走到 UX (User experience 使用者經驗) Researcher 的身分。 從訪談中,我了解到 Tiffany 做事情認真的一面。 她說, 在醫療器材公司的時候,如果她要訪問醫生,她會把所有可能相關會談到的期刊都讀過,並且把專有名詞都搞懂! 事情做到極致, 成功就只是時間的問題了。
在美國科技公司的 UX 團隊, 成員組成可能有社會學家、人口學家、經濟學家、心理學家, 大家用研究方法,來探詢使用者想要或是還沒想到的功能。
最後,學生時期,社團的朋友們在找工作的時候會幫忙很多,大家在學生時期多認識朋友交心,未來可能都會是你生命路上的貴人。 如果可以在學生時期多去實習的話,盡量多得到實習經驗,這可以幫助你快速判斷你是否想要做一件事情。
和 Tiffany 訪問的完整內容歡迎收看影片:
https://www.facebook.com/PivotSoftwareEngineer/videos/1100681920124093/
第三個直播訪問了女神學霸 PM Jackie, 她是 MIT 畢業的高材生,2011 年 MIT 林肯實驗室以她的英文名字,為火星附近編號 26424 的小行星命名。她的故事也被出版成書 “星星女孩遇見MIT:台灣洪瑀勇闖麻省理工學院的追夢旅程”, 她目前也是矽谷知名科技公司的 PM Manager。
她的經驗分享中告訴了我們,她是各很會為自己規劃目標,並且強力執行的人。 同時她很多生命的關鍵決定,像是在某個時間點做什麼實習, 錢不是最大的考量!每個經驗她都是為自己人生的終極大目標而決定的!
而矽谷的 PM , 有別於其他地方,注重 Business Plan 撰寫, 產品的方向規劃、用戶需求的痛點、各種分析。和 engineer、 researcher、 analyst、 data scientist、designer 等合作。如果想要往 PM 領域發展, Jackie 的建議多嘗試 & 多學習!網上許多資源的可以幫助你,像是Medium 上的文章, 還有也推薦 High Output Management 這本書。
和 Jackie 訪問的完整內容歡迎收看影片:
https://www.facebook.com/PivotSoftwareEngineer/videos/605409796634177/
第四個直播訪問了我的偶像大師士旗,大師是台灣政治大學畢業、清大碩士, 畢業後曾任職於趨勢科技、台灣 Yahoo 。 後來調來矽谷 Yahoo, 隨後又在 Spotify、 Netflix、及 Facebook 任職。 集各大亮點經歷於一身, 2017 年,因為看好區塊鏈的未來, 毅然決然辭掉 Facebook 總部工作, 加入台灣新創奮鬥。
大師分享了在工作上要勇於 Say no ( Focusing is about saying no),並勇於做決定 Ask for forgiveness, not permission,許多時候你的專案你就是最了解的人,不需要因為你的老闆或是其他資深人員的意見而動搖你的專業判斷。
大師找工作經驗算是一個奇蹟旅程, 調來美國的機會是剛好來美國 Yahoo 出差的時候聊到,剛好有缺就立刻面試。Spotify 是前 Yahoo 同事去紐約 Spotify 做事,推薦他一起去 (fun fact: 那時候近 30 歲的他將近是公司年紀最資深的員工)。Netflix 也是前 Yahoo 同事介紹, 認同要做原創內容(像是紙牌屋)所以加入,Facebook 是因為認同 Facebook 在前端領域的技術及新突破,想要加入在引領趨勢的公司。
而加入台灣新創則是剛好有學長聊到要做的新創, 因為認同公司的理念及目標,所以放棄在矽谷的累積回台灣一起加入。大師同時也希望可以有更好的環境可以讓年輕工程師發揮, 他們的公司也在盡一份心力提升台灣的軟體工作環境 ,其中一個例子像是希望每個加入 MaiCoin 或 AMIS 的工程師至少可以拿到 100 萬台幣的年薪。
和大師士旗訪問的完整內容歡迎收看影片:
https://www.facebook.com/PivotSoftwareEngineer/videos/2381514728798071/
第五個直播訪問了矽谷狂熱棒球魂的軟體工程師,同時也是鳥人球棒台灣負責人的麒仁。 麒仁大學念政治大學資管系, 畢業後先於仁寶電腦擔任軟體工程師, 並來美國 Carnegie Mellon 念碩士, 畢業先到矽谷 Oracle 擔任軟體工程師。 目前是 Workday 的軟體工程師。
除了軟體工程之外, 麒仁有一個熱愛棒球的心。 他週末都會參加灣區的棒球聯盟, 曾在棒球聯盟得到冠軍,之後更籌組灣區台灣棒球隊。 為了讓更多人用到好球棒, 他也在業餘時間幫忙推廣“鳥人球棒”。 蘋果日報今年還有訪問他的專題。
在訪問中他提到了許多棒球上的科技輔助,而他幫忙的鳥人球棒則是因為他一起在灣區打棒球認識的好朋友,鳥人球棒的創辦人想要拓展市場, 於是麒仁就開始幫忙台灣的部分。希望介紹美國的好球棒給台灣的職業、業餘、或是喜愛棒球的朋友。
他白天上班,晚上及週末忙棒球事物,他完美的讓大家知道夢想和工作是可以並存發展,如果你有想要達成什麼目標,你一定可以找到時間做到的!。
和麒仁訪問的完整內容歡迎收看影片:
https://www.facebook.com/PivotSoftwareEngineer/videos/2318037851743236/
第六個直播則是特別針對的主題,訪問前臉書工程師 Alexander 談如何成為頂尖的行動開發工程師。Alex 是前 Facebook 工程師, 也曾任職於 WhatsApp、 Tango、及 Instagram,目前是是全球最大同志交友平台 Grindr 的行動開發 VP。
訪問中我們先定義一流人才是是能幫公司把一個 app 從 80 分做到 100 分的人, 矽谷科技公司願意花大錢雇用這樣的人,因為一個成熟的 App 會遇到很多有挑戰性的問題,而頂尖的行動開發工程師可以在程式碼審核中把關,在架構上調整, 讓 app 可以持續進步。
頂尖的行動開發工程師常常有的特質是: 邏輯思維清晰、知道如何做有效率的溝通、有App 效能優化的經驗、善長解決棘手的問題、能夠做好審核程式碼、並且知道如何定義好個人及團隊的方向。
而挑選一個能讓自已快速成長的戰場則是讓人可以快速變成一流高手的秘訣。公司能提供的發展空間很重要,對於自已的 career path 在規畫的時候,須要注意自已做事的內容,是不是有持續的提昇自已的價值。另外,公司有發展、持續賺錢,有正向現金流,個人也才會相對的有機會發展。加入一間公司前可以仔細查看公司的商業模型/成長/高層的背景, 並多了解自已老板的背景,很多人做不開心是因為老板不懂自己的貢獻,自己被低估。
台灣的軟體業及行動開發近來有顯著的成長,希望各位軟體工程師都有找到方向,早日晉升頂尖的工程師。
和 Alexander 訪問的完整內容歡迎收看影片:
https://www.facebook.com/PivotSoftwareEngineer/videos/489210741639987/
未來的許多直播也在聯繫規劃中,希望藉由我一系列的工作文章、生活體驗、以及人物訪問,帶給大家更多矽谷經驗及成功故事啟發。
https://brianhsublog.blogspot.com/2019/07/SiliconValleySummary.html
效能效率的實際例子 在 高雄好過日 Facebook 八卦
#屏東捷運延伸之前你應該懂的七件事
#樂見中央投資高屏但更需發揮最大效益
近期,中央政府頻頻宣布屏東交通建設重大投資案,繼高鐵東延案後,高雄捷運延伸屏東規劃作業,4條可能路廊也期中報告中曝光,包含南北向路廊「#小港東港線」,以及東西向路廊「#大寮屏東線」、「#左營屏東線」、「#大寮萬丹潮州線」等。
值得注意的是,林園沿伸線就包含在「小港東港線」規劃內,去年因效益太低故合併入前瞻計畫從長規劃,不料韓國瑜剛愎自用,抹黑為「中央卡韓」,自行花費二備金單獨做可行性規劃,可說是重複投資,平白浪費市民血汗錢。
對於南北國土平衡規劃,加碼高屏投資,是中國黨政府執政期間,絕無可能進行的計畫。在等待許久後,蔡政府願意重視高屏發展,固然值得肯定。但如何把錢發揮最大效益,真正翻轉高屏,則更是我們的期待,以下,我們就分為幾點提出討論。
1. #台鐵為何在民眾心中不如高鐵和捷運?
到了選舉,台灣各縣市不分藍綠,政見都是要「高鐵」、「捷運」,「台鐵」的延伸改善,除了「立體化讓車比較好開」以外,卻很少被論述。難道,台鐵真的是跑得比高鐵慢,服務比捷運差,就一無是處嗎?
在台鐵局長年的官僚體系與管理問題,以及過去中國黨殖民時期,政府缺乏完整的軌道發展概念下,台鐵在1970年代後逐漸被公路打趴,也給人品質低落的印象。
相對而言,採寬軌規格,土木機電均獨立於台鐵系統,採公司化經營的各城市捷運與高鐵,由於沒有過去包袱,並更接受市場化思維與新觀念,不論服務品質甚至美學都大幅改進。也讓民眾養成「台鐵就是次等」,我們要「高鐵、捷運」的慣性想法。
2. #但傳統鐵路真的比不上高鐵捷運嗎?
實際上,在運輸學上,軌道系統並沒有這麼明確的邊界,許多國家的「地鐵、捷運」等城市運輸系統,也和台鐵一樣,屬於傳統鋼輪鋼軌鐵路,採架空線供電,在郊區也有平面路段、平交道。
而在日本,JR(國鐵民營化後各社,和台鐵可說有遙遠的血緣關係)或私鐵的通勤路線,許多是比城市地鐵運量更大,車輛更新更快的黃金路線。
而在日韓,許多地鐵路線和傳統鐵路,在系統相容下可以「直通運轉」,也模糊了捷運與鐵路的邊界,讓同條路線可以兼有兩者優點。
3. #軌道系統應以效能來分類分工
運輸學上,軌道分類的不同在於「服務對象(運量)」和「優勢區間」的不同。大體上高速鐵路以服務城市間連結(Intercity)為主;通勤鐵路以服務大都會區通勤(如衛星城市)為主;捷運則以服務中距離旅客為主。
在中距離的通勤鐵路方面,歐、日採取略有不同的作法,如德法等國家的RER,有些是全新建造的軌道系統網,在市區立體化,郊區可能為平面,和城際列車主線分開。而日本則簡單說是透過直通運轉、車站增建通過軌、緩急分離等機制,讓鐵路運能上升。
台灣最適合擔負通勤鐵路角色,定位在高鐵、捷運間互相串聯的,其實就是台鐵。然而台鐵在軌道容量未擴增下,還要運行城際列車與通勤列車,有部分老車拖累系統,閉塞等控制系統技術也落後,當然無法有效提升班次。
4. #屏東捷運乘客來自哪裡?
我們在先前的文章中就分析過,屏東人口分佈極為不均,屏北人口佔全縣一半的40萬,其中20萬人集中於屏東市。而大潮州地區人口約僅20萬,核心市鎮潮州僅5萬多人;大東港地區類似,人口約17萬,東港鎮則不到5萬人,但人口密度略高。
屏東另外一個特徵是,跨縣市就業人口多,超過10%以上,以高雄為主要工作地。因此高雄-屏東之間每日搭台鐵通勤旅客就超過萬人,然而也以屏東站進出旅次最多。
也就是說,未來屏東捷運的通勤客群,仍以屏東為較具發展潛力之旅次來源地。小港-林園-東港-大鵬灣一線,因經過聚落多,又經過工業區和觀光景點,因而潛在客群應居其次。
5. #屏東捷運效益來自哪裡?
然而,屏東市人口雖有20萬,但無論從橘線接出,或是高鐵分出,所經過大部分地帶均是人口密度低的非都市計畫鄉村地區,運量集中首尾兩端,此種分佈模式其實不宜興建捷運,而仍應以「區域鐵路」為首選。
再者,若以高捷經驗,高捷從南岡山往北延約3公里,接近人口10萬的岡山市區(南岡山)站時,當年度新增淨運量約6~7000人(南岡山站約萬人,但橋頭車站衰退3000人以上)。高捷南延屏東,長度約接近整條橘線長度,因旅次起迄組合增加,預計運量不只增加北延南岡山的2倍。但若只達到4~5倍,也僅增加3.5萬運量,不符合高運量捷運之成本。
因此,不論何條路線,軌道發展重點還是能否有效啟動TOD開發(包含市區聯開、郊區住宅、產業發展等),並將部分公路運量轉移。必須有新創造的運量,而不是只看當前,捷運投資才會有效。
6. #替代方案是什麼?
如果台鐵加密到5-10分鐘一班,橘線延伸1~2站至後庄或中庄與台鐵共構,則高屏地區的軌道需求可以大幅優化。
根據台鐵官方說明:「台鐵捷運化」有 #增設改建通勤車站、#擴充軌道容量,及 #新購電車 三大重點工作。但以高雄地下化為例,雖然完成了第一項的增設、改建車站,卻沒有擴充軌道容量,目前南部增加的運能(列車與司機)也還不足,自然無法完成「捷運化」。
我們過去已經多次強調,未來高屏鐵路能否真正捷運化,進一步加密班次,將和落實 #擴充軌道容量,及 #增加列車運能 有關。
前者在土建修改已經不可能,必須透過調整閉塞效率(全線升級 ERTMS/ETCS Level 2/和未來3 )等方式來完成。
而後者將和台鐵簡化車種、新購車輛與補充人力有關,希望地方政府不只要求看得到的「立體化」,也要要求看不到的「機電升級」和「運輸效率」!
7. #一定要捷運的話怎麼蓋?
屏東捷運規劃延伸有幾個問題,我們誠摯建議政府必須重視:
#未配合新計畫變遷
屏東捷運延伸規畫案是去年做的,但今年行政院才拍版高鐵延伸,因此高鐵的聯外只有台鐵,反而花大錢蓋的屏捷無法串聯高鐵與市區,這又讓屏捷失去一大客源。
#轉乘節點規劃分散
從幾案中,我們看不到市府確立屏東轉運核心的思維,例如大寮屏東,左營屏東案,都交會在復興南路一帶,而非屏東車站,勢必要增設一個台鐵通勤站,但這站又大概不會停對號車。
然而,屏東的轉乘機能,商業機能集中在站前,捷運沒起到整合反而是分散。高鐵一個核心,台鐵一個核心,捷運一個核心,轉乘零散不便。
#人口稀少區怎麼蓋?
不管哪線,都會經過大量低密度人口地區,在這些地區興建車站,注定使用率低落。
我們期望,中央配合軌道建設,與地方合作於郊區設置產業發展,教研發展與社會住宅用地,和車站共構,作為培養運量所需。
而在非都市計畫地帶,使用路堤、路塹等較接近平面封閉A路權,但仍和道路立體交叉方式,可降低成本。例子如奧斯陸地鐵郊區段,亦有很長的平面第三軌供電區間,並非特例。在壓低土建成本,提升轉乘效率,大幅增加TOD發展收益下,屏捷才會是成功的建設!
效能效率的實際例子 在 矽谷輕鬆談 Just Kidding Tech Facebook 八卦
S1E38 矽谷資深軟體工程師後疫情時代面試心得 Facebook/Robinhood/Coinbase/DoorDash
2020 年是個動蕩不安的一年,因為疫情的關係,很多公司都在年中進行了規模不小的裁員,包含大家耳熟能詳的 Airbnb、Uber、Lyft、Yelp、LinkedIn、Mozilla、Intuit、Salesforce 以及 WeWork 等等族繁不及備載。根據 layoffs.fyi 的統計,這波裁員潮集中在今年的 3 月到 7 月,8 月以後逐漸趨緩。
這對於在這段期間要找工作的絕對不是件好事,因為很多人被裁員,意味著同樣的職缺會有更多競爭者,也因為景氣不好以及疫情不確定性的關係,很多公司開始減緩招人的腳步。不過 7、8 月以後情況逐漸好轉,隨著美國各大城市解除封城,人們意識到必須跟疫情共存好一陣子,於是實體經濟活動恢復了,美國人畢竟是擁有自由的靈魂不能隨便被囚禁的呀!最近是美國各公司的財報季,各大科技公司紛紛發布第 3 季的財報,表現都非常好,也應證了在疫情下經濟轉好的事實。
我在 8 月下旬的時候開始投遞履歷,9 月初開始電話面試,10 月中結束 Onsite 面試 (都是線上進行),面試了四間公司:Facebook、Robinhood、Coinbase 以及 DoorDash,最後拿了前三間公司的 Offer,級別都是資深工程師。在這篇文章我會分享各公司的面試流程以及體驗、我做了什麼準備、怎麼談薪水以及我最後的決定,希望可以對在美國求職的人有幫助!由於有簽保密協定的關係,我只會提到面試的流程,不會提到具體的題目以及 Offer 數字。
Medium 文章好讀版 https://bit.ly/2Ii9vLc
Apple Podcasts https://apple.co/36fLCMh
Spotify https://spoti.fi/2IcyJdv
#面試的動機
蛤!?面試不就是為了換工作嗎?對大部分的人或許是如此,但對我而言這次並沒有非換工作不可的理由。我在 Square 待了三年多,整體的滿意度一直都很好,公司的股票從我加入以後基本上都是一個上漲的趨勢,最近也來到歷史新高。一年多前從 Android 開發換到後端的 Traffic Infrastructure 組以後,更是一直處在學習的狀態,了解怎麼規模化公司的後端架構,支援更多的應用場景,工作上也需要一直動腦,思考各種方法的優缺點、我們為什麼要這樣做並且撰寫許多技術文件,負責的專案也很有影響力,最近的成果是把公司很重要的 reverse proxy 升級成 Envoy,讓系統的效能更好並且支援更多新的功能。或許因為疫情一直在家工作的關係讓我有點工作倦怠,但這個倦怠並不是源自於工作的不開心,而是真的在家太久了,很需要好好放個長假讓腦袋放空充電一下。
言歸正傳,這次面試的主要目的是測試自己的市場價值,看看自己能否適應資深工程師面試的強度,畢竟上次面試已經是四年前了 (當時的面試心得),很多當時對於面試的理解也需要進行修正,我的心態是保持開放的態度,如果遇到很好的機會,當然可以考慮換工作,沒有的話待在現在的公司也很好!另外我自己過去的主要經驗都是 Android 行動開發,在後端只有一年多的經驗,也很好奇這些公司會不會讓我面資深後端的缺,還是會將我過去經驗打折?事實證明是我多慮了,我面的這幾間公司都有把我在 Android 的年資完整算進去,最後也給了我資深軟體工程師的 Offer,Facebook 甚至幫我安排 E6 (Staff Level) 的面試,只是因為系統設計表現得不夠好,最後給我的是 E5 (Senior Level) 的 Offer。
我還蠻建議大家即便沒有特別想換工作,也可以定期去外面面試看看,在沒有非換不可的情況下,習慣面試的緊張感跟壓力,這樣會讓你以後的面試更自在,跟面試官可以像是在平常工作時一樣互動,發揮自己的實力。一開始會有這個觀念是在幾年前讀 hello, startup 這本書時看到,作者建議大家每一年定期去外面面試,審視自己的能力,進而補足自己不夠好的地方,當然我覺得每一年對一般人來說可能有點難,畢竟邊工作邊準備面試不是易事,而且還得跟公司請假去面試,但至少每兩三年可以去外面看看,避免自己的能力跟求職市場脫勾太久。在矽谷以專門招收資深工程師聞名的 Neflix 甚至在他們的文化守則裡提到:「員工的薪水取決於他們個人最高的市場價值,我們鼓勵員工去外面面試並且跟他們的主管討論,我們認為這是健康的行為。」
#資深工程師的優勢
在一般情況下,5 年以上工作經驗可以面資深工程師 (L5) 的職位,10 年以上工作經驗可以面 Staff level (L6) 以上的職位,我有約 6.5 年的工作經驗 (3 年台灣 + 3.5 年美國),所有公司都是讓我面資深工程師以上的職缺。
這次找工作我感受最深刻的事情就是:我再也不用海投一大堆公司了!四年前當我還是求職市場裡的菜雞的時候,投了超過 150 間公司,只有 1x 間公司回應我,轉換率不到 10%。這次 Facebook 跟 Robinhood 都是 recruiter 主動從 LinkedIn 聯繫我進行面試邀請,Facebook 的 recruiter 更是從 2019 年初就開始定期聯絡我,到後面我真的不好意思持續拒絕她,於是接受了面試的邀請,真的還蠻感謝她不斷地嘗試,讓我定期思考一下要不要面試。Coinbase 跟 DoorDash 我都是從官網直接投履歷,沒有透過內推,一個禮拜內就收到了 recruiter 的來信,而這也是我唯二主動申請的公司,真的從以前我找工作,到現在變成是工作機會找上我了。
另一個很大的改變是:刷題不再是最重要的一環。隨著你越來越資深,系統設計跟行為面試所佔的比例也會越來越高,而且除了年資以外,這兩種面試的表現基本上就決定了你的職等,Facebook 的 recruiter 也在電話中跟我說,針對比較資深的應徵者,Coding 的要求會比較寬容 (lenient),所以建議大家不要對刷題過度著迷,一昧的追求題數不是好事,而是應該重質不重量,題目是無限但觀念是有限的。
最後一個體悟是在拿到 Offer 之後,談判的空間變得很大。美國科技業的求職市場一直是呈現一個兩極化的狀態,對於剛畢業的人來說,競爭者多而且職缺少,公司有較高的話語權。但是當你是資深工程師以上的時候,情況就反過來了,大多數公司不管景氣如何,任何時候都在招有經驗的工程師,職缺一直開在那但總是招不滿。上次找工作的時候,能夠讓公司提高年薪 1 ~ 2 萬美金就歡天喜地了,但是這次有兩家公司給我的初始 Offer 跟最終 Offer 都差了好幾萬美金。
#準備過程
軟體工程師的面試主要分成三種:Coding、系統設計以及行為面試。我自己是花比較多時間在系統設計上面,再來是 Coding,最後是行為面試。
關於系統設計的準備,我在軟體工程師系統設計面試準備指南有比較完整的介紹,這邊補充說明一下,準備系統設計最好的方法是來自於工作,最好你工作上就是要去思考怎麼設計系統,各種方法的優缺點以及思考各種 edge case 以及解法,這樣子學到的深度跟廣度都遠多於看那些準備素材。如果工作上沒有碰到也沒關係,可以先從 system design primer 看起,理解系統設計的各種面向。另外我推薦看一些公司的 Tech talk 來了解他們實際上怎麼設計系統,為什麼要這樣做以及不同方法的 Trade-off 又是什麼,理解為什麼要做這個決定是最重要的。如果已經接近面試了,建議可以看 InterviewBit 的系統設計篇,總共有八題,我認為寫的還蠻好的,比 Grokking the System Design Interview 還深入,看個兩次完整理解以後對面試很有幫助。
Coding 的部分我還是要再強調一次,不要過度迷信刷題的數量,應該要重質不重量,重點放在在訓練你的解題思維以及邏輯思考,練習使用常見的資料結構並且把想法轉成可以執行的程式碼。剛開始寫題目的朋友,我會建議相同的題型一起刷,培養對同類型題目的敏銳度,題目難度主要以 Medium 為主,搭配少量的 Hard 題。
很多題目一開始寫不出來,或是寫不出最佳解是很正常的,如果一題你卡超過一個小時,建議可以參考討論區的最佳解,但是切忌直接照抄別人的解答,因為那可能不是最適合你的方式,比較推薦的方式是你去理解背後的演算法,清楚地知道每一個步驟,再用你自己方式寫出來,這樣即使換了一個程式語言,你應該也可以寫得出來。當你開始發現沒看過的題目你也可以自己想出最佳解,並且實作出來,程式碼也很精簡,那代表你已經成功培養出解題的思維了。
我自己還會做一件事,就是想辦法分辨好的題目跟壞的題目,有一些題目的答案很明顯就只適用於這一題,用一些很特殊且不好理解的方法、實際上工作也不可能用到,這類型的題目我就不會花太多心思在上面,如果真的被考到,我會認為這是面試官的不用心。相反地,有一些好的題目:在觀念上很實用、有好幾種解法、工作上有機會用到或是系列題,這種就很值得練習,比方說 Graph 或是 Design 題就是我很喜歡的類型。
雖然說題數不重要,還是提供我的數據給大家參考,我在寫了 50 題的時候開始安排電話面試,最後一個 Onsite 結束時寫了約 120 題,我是以比較新的題目以及高頻題為主。
最後是行為面試,要再細分的話可以分成兩種,一種是 Project Deep Dive,你選一個你最近做過的專案,解釋一下專案內容、解決了什麼樣的問題、你的角色是什麼、最後的成果以及中間遇到的困難,另一種面試是來判斷你是否符合公司的文化以及價值,衡量你過去解決衝突跟溝通的能力。不管是哪一種面試,只要你好好回顧你過去做過的事情,能夠完整講述前因後果,把自己的故事清楚地講給面試官聽,輔佐一些例子,基本上就不會有太大的問題。
#遠距面試 #VirtualOnsite
因為疫情的關係,大家都在家工作,所以所有的面試包含電話面試都改成線上視訊進行,這個情況至少要到 2021 年的夏天。遠端面試的好處就是你不需要舟車勞頓,時間安排上也比較彈性,但是壞處是跟面試官的溝通比較沒那麼順暢,線上的交流絕對是沒有實體見面來得好,而且有的面試官網路很差,我甚至有遇到差到面試官需要把影像關掉的情況。
另一個要注意的點是,系統設計的面試會需要用到線上白板來畫圖,我自己覺得沒有實體的白板順暢,主要有兩種方法,你可以使用 iPad 搭配 Apple pen,或是用鍵盤滑鼠直接拉,選一個自己習慣的方式,面試前稍微熟悉一下白板軟體的使用,面試也會比較順利。
#DoorDash
第一輪是一個小時的電話面試,前 20 分鐘聊過去的工作經驗以及這個組在做的事,後 40 分鐘 Coding。題目是一道經典的 Hard 題,我對於該題印象很模糊,於是在面試中慢慢想,最後是有跌跌撞撞的寫出來,當時自我感覺良好,面試官給我的感覺也蠻算滿意的,但是隔天還是收到了拒信。事後回想應該是因為這是經典題,所以標準相對高,我並不是一次就寫對,而是慢慢修正,所以相對於其他應徵者表現不算太突出。
#Robinhood
他們家固定有兩輪各一個小時的電話面試,第一輪前 15 分鐘給你一段程式碼,要找到潛在的 bug 並且問你要怎麼修正,後面 45 分鐘 coding,題目比較偏向 Robinhood 工作上會遇到的演算法題。第二輪是系統設計,這是我第一個系統設計面試,微緊張,原本以為表現不夠好,但從 recruiter 那得到的反饋是還蠻好的。
Onsite 出乎我意料只有三輪,一輪 45 分鐘 coding,一輪一小時的系統設計,以及 45 分鐘的 Project Deep Dive,Coding 也比較偏向實作工作上會遇到的問題,面試官提到不用特別在意效能,以實作出來並且跑過測資為主,最後 10 個測資我只過了 9 個,不算完美。接下來兩輪跟面試官都聊得蠻開心的,並且有蠻不錯的討論,最後順利拿到 Offer!面 Project Deep Dive 有個小插曲,面試官到一半網路突然掛了,他後半段只能打電話加入簡直尷尬。
#Coinbase
Coinbase 的面試體驗是所有公司裡最讚的!從面試的流程跟題目都可以感受到他們的用心,面試官的平均素質也很好,你可以感受到他們是真心想要認識你這個人,面試過程中對於很多問題都有深入地討論,對於我問的問題他們往往也能給出很好很真誠的答案。
不過他們的面試過程也是最累的,電面是一小時的 Coding,Onsite 總共有五輪,其中居然有兩輪各 90 分鐘的 Coding!你可以在自己的電腦使用平常的開發環境,並且分享螢幕,題目不是傳統的演算法題,而是要你實作一個小型專案,其中一輪是實作一個小遊戲,另一輪則是實作一個系統,最後要 call Coinbase 的 API,所以對於送出網路請求並且處理 JSON 要有一定的熟悉度才行。整體的面試過程還蠻好玩的,面試官也會幫你,但一輪 90 分鐘真的有點太久。另外有一輪一小時的系統設計,以及各 30 分鐘的行為面試跟 Hiring Manager 面試。總共五輪五小時,中間休息一小時,面完真的氣力放盡了。我對整體的表現還算滿意,沒有一輪有感覺明顯不好,最後順利拿到了 Offer。
#Facebook
雖然 Facebook 都是進去以後再經過 Bootcamp 新生訓練選組,但是應徵的時候就要分不同的 Track,主要的分類有 Product、Infrastructure、Android、iOS 以及 Machine learning,Coding 的部分應該都差不多,而系統設計會根據你選的 Track 而有所不同。recruiter 一直建議我選 Android ,畢竟我的履歷上 Android 還是佔了一大部分,她提到 Facebook 現階段非常缺 Android 的人,不過她也補充說明這不代表面試的標準會比較低就是了。我最後還是堅持選擇面 Infrastructure,這樣對我來說準備起來比較方便,不用再額外花心思準備 Android。
我的 recruiter 覺得我可能也適合面另一個職缺 Production Engineer,於是就介紹了另一個 recruiter 給我,我可以選擇同時面兩個缺,最後如果拿到兩個 Offer 可以到時候再決定。實際聊過以後我還是婉拒了,因為不想花時間準備 Linux System 面試。
我們也聊到了預期的級別,她說以我的經驗我可以選擇面 E5 或 E6,這讓我感到蠻意外的啦,平心而論我認為不管是年資和能力我都還沒有到 Staff Engineer 的水準,不過既然 E6 只比 E5 多一輪系統設計面試,我就大膽地挑戰 E6 了!
Facebook 除了系統設計是一小時以外,其餘的面試都是 45 分鐘,電話面試是一輪 coding,Onsite 總共有五輪,兩輪 coding、兩輪系統設計以及一輪的行為面試。最後 Facebook 給了我 E5 的 Offer,原因是兩輪系統設計一輪還不錯另外一輪普普,沒有達到 E6 的標準。
雖然我最後有拿到 Offer,但我還是必須說 Facebook 的面試體驗蠻差的,面試官給我的感覺是他們不在乎我這個人,只想趕快在有限的時間內盡可能地蒐集一些訊號來判斷我有沒有通過,我並不反對有效率地蒐集一些訊號,但是面試是雙向的,作為應徵者的我們同樣也在面試這間公司,面試時我也在看未來我會不會想要跟這個面試官一起工作?而 Facebook 在我的標準裡顯然是不及格的。當然也有可能是我運氣不好,剛好遇到這樣子的面試官,但這也代表 Facebook 對於面試官的訓練不夠嚴謹,導致素質參差不齊,又或者是面試體驗並不在 Facebook 優先考慮的事情,不管是什麼原因,這都是一個警訊。
這個現象在 Coding 面試尤其明顯,面試官就是在看你能不能在有限的時間快速寫出最佳解。不過我倒是沒想到在行為面試也會遇到一樣的問題,我的面試官就按著他預先準備好的問題一個一個問,大部分的時間他的眼睛都盯著螢幕在做筆記,我實在是不確定他有沒有在聽我說話,有時甚至還會問我剛剛已經回答過的內容。
除此之外,Facebook 要求在 45 分鐘內解出兩道程式題,通常都是 LeetCode 原題並且要求最佳解,即使這種面試或許對我是有利的 (其中一輪我只花了 30 分鐘就寫出兩題的最佳解,然後我們閒聊了 15 分鐘),但我認為這種填鴨式的面試方式完全不能反應一個人的工作表現,這或許可以招到一定聰明程度以上的人,但是他們不一定是個好的工程師或是很好合作的人。我認為維持這種大考式的 Coding 面試也是一種偷懶的表現,但這個面試形式卻會深深地影響招進去的人的類型,是我的話我會盡量避免跟這類型的人合作,因為我認為思考過程跟溝通比你能不能快速寫出最佳解還要重要。
如果這段文字有冒犯到在 Facebook 工作的朋友的話,我在這邊先說聲抱歉,但這確實是我面試完以後真實的感受。
#談薪水
近年來由於 levels.fyi 的關係薪水變得越來越透明,這對求職者來說是個好事,你可以知道某公司的某個級別合理的薪資範圍在哪裡。如果你對談薪水這個主題有興趣的話,可以參考這兩篇經典文章:
1. Ten Rules for Negotiating a Job Offer https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/
2. How Not to Bomb Your Offer Negotiation https://haseebq.com/how-not-to-bomb-your-offer-negotiation/
我自己談薪水的策略沒有那兩篇文章寫得那麼複雜,我認為最重要的原則是誠實,不要假裝你拿到其他公司的 Offer,也不要虛報你其他 Offer 的數字 (即便這個數字是合理的),你可以選擇性揭露你的資訊,對方問到你不想揭露的資訊時,你可以禮貌地說你不方便透露,但絕對不要說謊。
公司在給你 Offer 的時候會考慮到很多因素:年資、面試表現、現在的薪水以及職等、其他公司 Offer 以及其他的面試者等等。這其中大部分資訊我們是不會知道的,比如說每個因素佔的比重、總共有多少面試者、我們在所有面試者裡面的表現如何,而且年資跟面試表現基本上已經確定了,所以實際上你能夠用的資訊就是其他公司的 Offer 或是你現在的薪水以及職等 (當然是要比較高才有用)。
當然最有用的談判手段,就是你拒絕掉這個 Offer 也沒關係。公司招人需要成本,從一開始收履歷、電話面試到 Onsite 面試,他們已經在你身上花了這麼多時間,也給你 Offer 了,所以在這個階段公司也很希望你能加入,除非這是你夢想中的公司,你很怕談薪水所帶來的風險,不然一般來說求職者在這個階段是有比較大的話語權。
另一個建議是請把 recruiter 當成你的夥伴,通常他們是要看業績給獎金的,所以她是跟你站在同一陣線,要幫助你跟公司談出更好的薪水說服你加入。Facebook 的 recruiter 這方面做得很好,她很多資訊都很透明地分享給我,包含這個級別可以拿到最好的 Offer 以及我的面試表現,一開始給我初始 Offer 的時候還告訴我這只是標準包裹,她不預期我會接,整個很 Real!後來給我的 Offer 也比原來的高出了不少,並且我如果下定決心要加入 Facebook 的話,她可以幫我要到這個級別的頂包。
Robinhood 也對我蠻有誠意的,在過程中不斷溝通,安排我跟主管以及同事聊天,有必要的話還可以讓我跟上面的 VP 聊聊,解答我對於 Robinhood 所有的疑惑。後來在得知我有 Facebook 跟 Coinbase 的 Offer 以後,給了一個很有誠意而且超過 Facebook 的 Offer,真的是受寵若驚。Coinbase 給的 Offer 相對前兩家低了不少,而且往上談的空間不高,他們給的理由是他們現在使用的估值是兩年前募資的數字,所以實際上的股票價值遠高於那個數字,而且他們 Refresh 也會給的比較大方,讓你在四年以後薪水不會降。
#最後的決定
我在選擇公司時,通常會考慮三個點,第一個是這個職位本身,我在什麼組、負責的產品、使用的技術、發展的機會以及同事跟主管的做事風格等等,盡可能知道每天工作的樣貌,判斷自己未來的開心程度。第二個是關於公司,我會問自己兩個問題:
1. 公司的文化跟價值我是否認同?人生很短,千萬不要浪費時間在幫跟自己核心價值不合的公司賣命。
2. 我是否相信公司所描述的願景,公司在未來的 5 ~ 10 年內能持續成長並且有好的發展嗎?
第三個是薪資結構,包含了底薪、股票、簽約金、獎金以及 Refresh 等等,來預期未來幾年的薪資。
除了以上三點以外,還得考量到現在都是遠距上工,跟同事以及主管建立感情也相對比較困難,所以在新公司的適應難易度也得列入考慮。在綜合考量之下,我這次還是選擇先留在 Square,或許明年再看看有沒有更好的機會!
如果這篇文章有幫助到你,歡迎按讚拍手,有任何問題也可以在底下留言,或是私訊給我們也行!
效能效率的實際例子 在 效率效能實例在PTT/Dcard完整相關資訊 的八卦
關於「效率效能實例」標籤,搜尋引擎有相關的訊息討論:. 效能(Effectiveness)與效率(Efficiency)-知識百科-三... - 3people.com.tw效能和效率是不同的兩個概念:. 1. ... <看更多>
效能效率的實際例子 在 效率效能實例在PTT/Dcard完整相關資訊 的八卦
關於「效率效能實例」標籤,搜尋引擎有相關的訊息討論:. 效能(Effectiveness)與效率(Efficiency)-知識百科-三... - 3people.com.tw效能和效率是不同的兩個概念:. 1. ... <看更多>