想應徵美國軟體工程師,如何在履歷上精準呈現自己的工作經驗與能力?

想應徵美國軟體工程師,如何在履歷上精準呈現自己的工作經驗與能力?
Photo Credit: Shutterstock / 達志影像

我們想讓你知道的是

工程師的求職履歷要怎麼寫,才會是人資和面試官的命定款?雖然履歷格式在網路上一搜千百樣,但要如何系統性整理多年工作經驗,才能讓自己脫穎而出?讓修改過上萬份履歷的作者,傳授箇中心法。

文:Mia Chen

如何從繁雜的工作經驗中抓重點?

如果你在網路上搜尋「Resume Template」,會發現英文履歷的格式雖有百百種,但脫不了幾個重要的主題:學歷(Education)、工作經驗(Work Experience)、技能(Skills)、榮譽成就(Honors and Achievements)、領導能力(Leadership)。

這篇文主要試圖解答的問題是:「我該怎麼系統化地整理自己的工作經驗?」提供給想要應徵美國軟體工程師的讀者做為參考。

履歷是給提供職缺的公司人員看的,所以也要根據他們開的職缺需求來撰寫。而軟體工程師通常會要求三大能力:程式語言與工具能力、系統設計能力(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或客戶溝通工作項目的優先順序,甚至是協調產出長什麼樣,而不至於讓大家有錯誤的期待。

雖然軟體工程師大部分時間都只面對電腦,但我們畢竟還是在為人解決問題,我們的產出也是給人使用。就算不用面對客戶,一個大規模的軟體也是靠一群工程師開發出來的,無論如何都需要面對與其他人合作,所以領導能力也是軟體工程師不可或缺的能力。

Business meeting in a modern office
Photo Credit: Shutterstock / 達志影像

上述各個項目怎麼寫?

有了大方向要寫什麼後,終於要分享實際怎麼寫了!經過濃縮後的公式在此:

Active Verb + Context (what has been done) + Result (metrics, outcome, impact)

動詞一定要在句子開頭,但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」指導學生寫履歷,但鮮少有文章教你怎麼整理自己的工作經驗。

要系統化地整理自己的工作經驗,其實只要抓準職缺需求的類別(例如:工程師就是上面提到的工具能力、設計能力、領導能力),再依照各類別寫下自己的經驗,就可以清楚知道自己少寫了哪些需求類別、是否還有可提及的經驗來補強該需求,也能拿到更高的履歷分數。

延伸閱讀

本文經NEX 媒體實驗室授權刊登,原文發表於此

責任編輯:游家權
核稿編輯:翁世航


Tags: