掌握三大心法與公式! 美國軟體工程師職缺非你不可
究竟在美求職履歷要怎麼寫,才會是人資和面試官的命定款?雖說格式與內容在網路上一搜千百樣,但多年工作經驗,要如何系統性整理,才能讓自己完美演繹職缺一顆星,在茫茫人海中一眼被相中?讓修改過上萬份履歷的作者,獨家傳授必中心法。
如果你在網路上搜尋“Resume Template”,會發現英文履歷的格式雖有百百種,但大多脫不了幾個重要的主題:學歷(Education)、工作經驗(Work Experience)、技能(Skills)、榮譽成就(Honors and Achievements)、領導能力(Leadership)。
我的生涯自從大學畢業後就在工作,所以這篇文主要解答的問題是:「我該怎麼系統化的整理自己的工作經驗?」
Work Experience 怎麼抓重點?
履歷是給提供職缺的公司人員看的,所以也要根據他們開的職缺需求來撰寫。而軟體工程師通常會要求三大能力:程式語言與工具能力、系統設計能力(System Design)、領導能力(Leadership)。
敲門磚心法一 程式語言與工具能力必備
基礎的硬實力:利用各種工具來達成需求或是目標。例如說開發一個後端跟資料庫溝通、開發一個前端讓使用者使用、分析資料以擷取insights、提升測試涵蓋率以優化產品、發佈一個產品。而為了達成這些需求,你會使用不同的工具,例如說用Node.js開發後端、React.js開發前端、Python分析資料、JaCoCo計算測試涵蓋率、AWS發布產品。
審履歷第一關就是人資,但人資通常不是工程師出身,而程式語言與工具的名稱就成為他們的關鍵字。人資可以迅速理解你會的工具是否符合他們的需求、你軟體開發的經驗有多豐厚、你是不是一個擅於學習新工具的人。所以,在寫工作項目時,程式語言與工具絕對是必提的項目!
敲門磚心法二 進擊的系統設計能力
進階的硬實力:針對問題設計解法與權衡利弊的能力。系統設計能力包山包海,例如API與資料結構設計、資料庫和server如何溝通、哪種資料該選擇哪種資料庫存取、cache資料如何更新、資料如何備份等等。可以展現此能力的工作項目可以是「設計新的資料庫架構以改善效能」、「開發了某API讓客戶取用我們的某些資料」、「架了某application處理極大量的request」、「新增replica以提升availability與效能」、「讓系統的response從1秒變0.5秒」。
工具百百種,主管一聲令下誰都會用,但有經驗的工程師需要設計解法並決定使用哪種演算法或工具,以提供目標需求的最佳解。此能力的關鍵字通常是量化的數據,或是API、schema、availability、performance等。
敲門磚心法三 領導能力是壓倒對手關鍵
工程師從一開始就需培養的軟實力,也可以說是管理與溝通能力。一開始我覺得這個能力很抽象,或只有manager或senior engineer才有管理經驗。但在美國工作後,我發現可以自己獨立運作(working independently)就是一種領導能力(畢竟要可以領導自己,才可以領導別人)。
例如,你可以獨立找到封閉式問題的答案—你可以自己解決實作開發大部分的問題;你可以獨立解決開放式問題的答案—自己為一個複雜的問題設計解法;你可以獨立和其他不同崗位的人協調出一個大家都滿意的解方—你可能被分到多種不同的工作項目,而你能夠自己跟PM或客戶溝通工作項目的優先順序,甚至是協調產出長什麼樣,而不至於讓大家有錯誤的期待。
雖然軟體工程師大部分時間都只面對電腦,但我們畢竟還是在為人解決問題,我們的產出也是給人使用。就算不用面對客戶,一個大規模的軟體也是靠一群工程師開發出來的,無論如何都需要面對與其他人合作,所以領導能力也是軟體工程師不可或缺的能力。
每個項目怎麼寫? 獨家公式大公開
有了大方向要寫什麼後,終於要分享實際怎麼寫了!公式在此:
動詞一定要在句子開頭,但Context和Result的順序可以對調。以下提供一些例子協助大家理解:
- 你開發了一個網站:「Launched a web application with 100K targeted users using React.js and Node.js.」
- 你用資料庫replicas來提升系統效能:「Enhanced system performance by 12% through creating database replicas using AWS RDS.」
- 你帶領工程師開發:「Led a team with 5 engineers through development, testing, and deployment to deliver a product with 8K targeted users.」
- 資料庫從MySQL換成NoSQL:「Migrated from MySQL to NoSQL, which enhanced the performance by 8%.」
- 開發了一個資料分析的pipeline:「Developed a data-analyzing pipeline which handled milions of data and generated insights for clients.」
- 和客戶/PM討論requirements:「Negotiated requirements and releasing schedule with clients/PM to ensure clients/PM satisfied with the result and we would not break the contract.」
有些時候,Result是沒辦法量化的,那至少要如最後一個例子,把Outcome寫出來。
勝者為王! 工作項目順序決定能見度
洋洋灑灑的寫完了十幾二十個項目後,要按照項目與職缺需求的相關性排序,最好人資看到第一行就知道你是他們要的人!例如說徵前端工程師,那就把前端開發經驗擺在前面。此外,能夠提供量化數據的項目也傾向於擺在前面,讓人資或是面試官有更多數據佐證你對該工具的熟悉度。
另外如果在同一間公司有不同的職稱,也可以按照能力需求撰寫重點項目。例如Junior Software Engineer只要求你會使用工具,那就著重寫程式語言與工具能力;Senior Software Engineer著重系統設計能力與領導能力,那就減少使用工具經驗的篇幅。
工作經驗勿成流水帳 為自己當一回細節控
其實在網路上搜尋關鍵字(“resume template”、“resume writing guide”’、“resumb verbs” )就能找到許多資料,美國各知名大學也都有公開的“Resume Writing Guidance”指導學生寫履歷,但鮮少有文章教你怎麼整理自己的工作經驗。
要系統化的整理自己的工作經驗,其實只要抓準職缺需求的類別(例如工程師就是上面提到的工具能力、設計能力、領導能力),再依照各類別寫下自己的經驗,就可以清楚知道自己少寫了哪些需求類別、是否還有可提及的經驗來補強該需求,也能拿到更高的履歷分數!
認識本文作者:Mia Chen
在高雄長大,高中畢業就開始漂向遠方的遊子。工作時是理性的工程師,下班後是情感豐沛的追劇少女。喜歡聽別人的故事之餘,也在想著自己的故事可以如何幫助別人。
執行編輯:I Cheng Huang
核稿編輯:Sophia Cheng
《NEX媒體實驗室》為NEX Foundation台灣未來基金會提供給讀者與作者的意見交流平台,所有言論不代表NEX媒體實驗室與NEX Foundation台灣未來基金會立場。本文章內容僅反映作者個人意見,並經作者保證文章內容並未侵犯任何人之權利或違反相關法令。