[心得] 北美 CS 業界求職 resume 技巧

作者: FRAXIS (喔喔)   2017-10-01 01:20:59
寫履歷是每個求職者必經的過程,但是要寫個好的履歷並不容易,需要
一些訣竅和技巧。我在這邊分享我的一些心得,本文的目標讀者是在北
美找全職 CS 工作的應屆畢業生,或是找實習的在學生。或許也可適用
找 CS 類初階工程師工作的人,對於其他工作或是其他領域我就不知道
這篇文章有沒有幫助了。
網路上有很多 recruiter 介紹如何寫履歷的文章,也有不少工程師介紹
對 CS 工作的履歷寫法,但是 recruiter 和工程師看重的點其實不太一
樣的。我自己本身也不是 recruiter,所以我只能猜測 recruiter 的觀
點,提出我個人的建議,大家可以討論。
履歷的功能
履歷的主要作用是要讓公司的招聘人員,可以在短時間內了解求職者的
背景,然後決定是否要進一步聯絡。而履歷的功用大概到這邊就大致結
束了,履歷寫的再好,也不可能會讓求職者直接拿到 offer。
然而履歷寫的好還是有優點的,可以把求職者過往的經歷清楚的表現出
來,幫助 recruiter 了解求職者。當有兩個經歷相差不遠的求職者,如
果一個可以明確的在履歷上表現自己,而另一個則寫的比較隨便,那前
者就會有些優勢。當然這也是有一定限度的,不可能說一個經歷有十分
的求職者,因為履歷寫的好就會對一百分的求職者佔有優勢。
所以在寫履歷的時候要搞清楚你的目標對手是與自己有類似背景的人,
而不是那些背景比你好的人,這樣寫起來會比較輕鬆自在,不會一直覺
得自己寫的很虛。
雖然履歷很重要,但是不要走火入魔花非常多的時間在修改履歷,一直
計較排版、顏色或是修辭,履歷再怎麼寫也是無法彌補經歷薄弱的問題,
把時間花在多作幾個 project 可以更有效的提升履歷可看度。
我分享的這些心得,主要是想幫助沒有寫履歷經驗的人,讓十分的經歷,
在履歷上看起來也有十分。
履歷範例
在開始寫履歷之前,可以先看看這個範例 https://careercup.com/resume 。
這是 Cracking the Coding Interview 的作者 Gayle Laakmann McDowell
提供的範例,她同時也給了十二點對於寫履歷的建議。
當然她的經歷不是一般人能比的,她總共做了四次實習,還有其他經驗,
所以她的確需要不少空間來放所有的經歷。而一般在校生如果按照她的
template 來寫,版面很容易會變得很空。不過她履歷的寫法以及對履歷
的建議還是很有用的。
對於在校生而言,除了沒有寫求職履歷的經驗,所以不知道怎麼寫的困
難之外,更大的困難點是沒有東西可以寫,尤其是之前沒有工作經驗,
而且也沒有實習的人,除了學歷之外就只能拿一些課程 project 來塞版
面,而對於課程 project 不多的人,寫履歷又更困難了,所以接下來我
會介紹該如何有效率的寫履歷。
考慮讀者
首先要了解履歷的讀者是誰,才有辦法知道該如何寫好履歷 。
一般來說讀者有三種:
1. Recruiter: 履歷一般都是由 recruiter 來閱讀,recruiter
會依照招聘條件來過濾掉不合格的申請者,同時按照某些規則來
挑選比較合適的申請者。
2. Applicant tracking system: 因為電子化的關係,每家公司都
會收到大量的履歷,導致 recruiter 需要花大量時間讀履歷。
因此許多公司使用 ATS 系統來管理申請者的資料。ATS 會分析
求職者的履歷,過濾掉不符合招聘條件的履歷,然後把求職者作
排序,方便 recruiter 挑選。
3. Engineer: 在面試前和面試中,工程師會閱讀面試者的履歷並進行提問。
對於找工作而言,履歷寫的好只是要拿到面試的機會,開始面試之後,
履歷就不是那麼的重要了,畢竟面試時可以親口解釋給面試官聽,但是
如果沒辦法吸引 recruiter ,就沒有第二次機會了,所以寫履歷時首
先要考慮 recruiter 和 ATS ,其次考慮工程師。當然也不能完全忽略
工程師,因為他們可能會在面試的時候問求職者問題。
因為現在 ATS 系統大多只是作學經歷審核和關鍵字配對而已,所以應對
ATS 系統很簡單,學經歷沒辦法作假,但是可以想辦法把職位所需技能
的關鍵字寫到履歷裡面,網路上有很多工具可以幫忙檢查 [1],在這邊
就不詳細說明了。接下來的部分都只是針對如何吸引 recruiter 。
Recruiter 如何讀履歷
要寫出 recruiter 喜歡的履歷,首先要考慮 recruiter 是如何閱讀履
歷的。Recruiter 閱讀履歷的目的就是要挑出合適的人聯絡,所以要從
履歷中判斷該求職者的能力,並且與其他求職者作比較。所以 recruiter
會想要在履歷中看到求職者比其他人優秀的證據。
Recruiter 會先用幾秒鐘判斷一下求職者是否滿足職位最低要求 [2],
有的話才有可能認真閱讀。所以如果學經歷不滿足職位最低要求,很難
通過這一關。換言之,學經歷的部分一定要明顯的標示出來,不要讓
recruiter 漏看了。
對於初級工程師職缺而言,滿足職缺最低條件的求職者還是很多,所以
職缺一般會有 preferred qualifications。除了公開的 job description ,
recruiter 選人還有些內規,像是 GPA 限制,學校和工作經驗的偏好
等等。不是說不滿足就直接刷掉,而是會用這些條件總觀的來排序求職者。
準備履歷的材料
寫履歷的第一步是先把自己的經歷好好思考一次,然後把可用的經歷先
紀錄起來來幫助寫履歷,像是學歷、工作經驗、實習經驗、助教經驗等
等。獲獎經驗、論文著作或是 side project 也是不錯的材料。接下來
可以考慮課程的 project ,條列自己喜歡或是拿過高分的課、線上課程
等等。也可以思考一下自己有什麼技術專長。而在每項經歷的旁邊可以
附註上使用到的技術,這樣可以幫助整理可以使用的關鍵字來應付 ATS 。
除了技術相關的經驗之外,也可以列出課外活動,不管是跟專業有關的,
或是無關的。在這個階段先不要考慮寫不寫的進去一頁,也不要考慮這
個經歷是不是很吸引人,就只是先把所有可以用的材料先整理起來,之
後再來安排如何使用這些素材。
接下來,先不要考慮版面問題,先把每個經驗和 project 都寫至少兩點
的描述,雖然感覺很浪費時間,但是這是個重新認識自己經驗的過程,
而且這些材料可以在你想要客製化履歷的時候派上用場。
草稿
履歷最重要的是架構,因為這會直接影響 recruiter 怎麼讀你的履歷,
架構不好,修辭再好也無法挽救,因為 recruiter 根本就不會細看,
建議要多跟人討論,認真的想想該怎麼幫自己的履歷佈局。
從準備好的材料中,先想好你的特長是什麼,依照不同的 job description ,
判斷出哪些是吸引 recruiter 的點,哪些是弱點,然後分配大概的空間
和順序。一般來說要考量下列因素:
1. 與 job description 的相關性:這是 recruiter 最看重的,你有
沒有該工作所需的技能。與 job description 無關的經驗,列再
多也沒幫助,所以經歷所分配的空間要與 job description 關聯
性成正比。這問題對於轉專業的人特別大,因為以前的工作跟 CS
無關的話,那基本上就沒什麼可以寫的了,但是如果履歷大部分都
在描述與 job description 無關的經歷,那 recruiter 大概也會
不感興趣。所以與其浪費空間寫 recruiter 不想讀的東西,還不
如認真的把自己僅有的相關經驗寫清楚。
2. 經驗的可看性:簡單來說,實際工作經驗 > 實習 > 課程 project ,
對學生而言,實習經驗絕對是第一優先,因為實習是真的在業界工
作,而不是在學校,所以在大部分的情況都是放在學歷之後。但是
這建議也不是死的,如果你實習都是在打雜,但是你的碩士論文有
個很好的結果,把碩士的 project 往前也是種選項。
3. 年代:基本上,越久以前的經歷就越不值得提,因為 recruiter
只想知道你現在有多少戰力,所以只重視近幾年的經驗。所以建議
要逆時間順序寫,對於大部分學生來說,因為沒什麼工作經驗,唯
一的經驗可能就是一個實習加上各種課程 project 。如果這些
project 都是在近幾年發生的,那有沒有按照時間順序寫其實差別
不大,把覺得吸引人的往前放就好了。
4. 熟悉度:寫在履歷中的所有東西,就算只有一句,都要有被問的打
算,因為工程師都只是從自己看得懂的部分來問,來判斷面試者的
能力。所以就算你寫的部分跟 job description 關係不大,而且
也不是主要經歷,如果剛好面試官以前作過類似的,很有可能就會
被問了。回答不出來的話,履歷上的其他部分可信度會大幅下降。
在草稿的部分要想清楚,有哪些部分是希望 recruiter 在 10 秒內可以
看到的,要用粗體標示,基本上學校、工作經驗是非標不可的,同時要
想清楚放置的順序。如果你覺得某些東西很吸引人,像是 GPA 滿分、
project 成果得到比賽冠軍等可以用非常少的字數顯示出你的價值的,
就直接放在該經驗的標題旁,而不是放在內文裡面等 recruiter 認真讀。
如果 recruiter 看了你強調的部分還是沒被吸引,那大概你的經歷對於
此職缺而言還不夠有競爭力,只好寄望其他公司了。而如果 recruiter
看了你強調的部分,覺得這履歷值得一讀,你就有點希望了。而這也是
本文的重點,如何在 recruiter 認真閱讀的履歷中脫穎而出。
如何寫學歷
關於學歷的部分,除了學校、學位和畢業年份之外,往往也會提供成績。
一般建議是 GPA 超過 3.0 就可以寫上去,如果沒超過就試著寫寫
Major GPA 或是 last 2 year GAP 。而獎學金也可以列上去。如果是需
要寫論文的學位,也可以介紹論文的題目。除此之外也可以條列一些自
己比較拿手的課程,如果有特別得意的課程 project ,也可以考慮放在這裡。
對於轉專業的人,除了 GPA 之外,建議要詳細列出 CS 相關的課程,並
且列出成績,來證明自己是有相關背景的。
如何寫經歷
在寫經歷之前,先思考一個問題:為什麼 GPA 低於 3.0 就不要寫出來?
原因很簡單,因為一旦 GPA 太低,recruiter 拿你的 GPA 跟其他應徵
者比一下,履歷就進垃圾桶了,所以乾脆不要寫,強迫 recruiter 看其
他地方。
同理,當人覺得某項經驗不好,但是又不能不寫的時候,就會寫的很模
糊,讓人看不清楚,所以 recruiter 從過往經驗很容易推論出,經歷不
好的人的往往把履歷寫的很模糊,讓人無從比較。
而寫好履歷的方式就很簡單,把經歷寫清楚,免得直接被歸類成故意寫
模糊的那群。另外,寫的清楚還可以增加可信度,經歷吸不吸引人是一
回事,不可信的經歷,再怎麼吸引人也沒用。
舉例來說,假設你的經歷有一項是實作搜尋樹,有人會這樣寫
Implemented various search trees with fully testing.
但是這樣寫不是很好,原因是太模糊,various 這個詞實在是太含糊,
fully testing 又是什麼意思。要知道很多沒真正做事的人,都會這樣
含糊帶過,這樣寫很容易就被歸類成沒做事的人。
考慮換成下列的句子
Implemented 18 search trees in C++ with unit test using GoogleTest.
這樣就提供了多一些資訊,像是搜尋樹的個數,使用的語言,使用的套
件。但是 recruiter 還是可能看不懂 search trees 有什麼意義。
考慮換成下列的句子
Implemented 18 search trees that support efficient insert/delete/find
in C++ with unit test using GoogleTest.
這樣就提供了稍微多一點的細節,更完整的表達了你的工作。
但是這樣是不夠的,要知道履歷上的重點不是你作了什麼事情,而是你
作的事情有多少價值,因為 recruiter 非常難從你的描述知道你作的事
情的困難度,而且有很多人都做過相似的系統,實在很難判斷出哪個人
比較優秀。沒有寫履歷經驗的人常常會花很多篇幅在介紹自己的系統,
有什麼功能,以及底層技術,因為這是工程師每天都在作的事情,所以
很自然的就寫很多內容。但是真正重要的是你的系統到底有什麼價值?
對公司而言,最重要的目標就是賺錢,如果你可以寫你的系統賺了多少,
那就是一個很棒的成果。
當然不是每個人的系統都是直接可以賺錢的,但是每個 project 開始的
時候都是有個目標的,要從這些點著手。
建議是使用成果導向來寫履歷 [3]:
Accomplished [X] as measured by [Y] by doing [Z]
先寫自己有什麼成果,以及評量的標準,最後解釋如何辦到的。
要知道,大部分的 recruiter 很難了解 Z 的,所以如果句子編排是先
寫 Z 再寫 X ,recruiter 可能看到 Z 就放棄閱讀了,因此成果一定要
放在句首。
回到之前的例子,recruiter 可以看得出來你實作了很多搜尋樹,雖然
可能無法完全理解,但是還是沒有回答到最根本的問題,你實作這些資
料結構到底有什麼用?
考慮換成下列的句子
Reduced 10% insertion time of tree data structures compared
with C++ standard library by investigating 18 search trees in
literature and achieved 100% test coverage using GoogleTest.
我不是說履歷上的每一個句子都必須要寫成這樣,因為很有可能你沒有
那麼多可以量化的工作,而且提供太多細節會佔很多空間。但是,對於
你想要主打的經歷,一定要清楚的提供成果和夠多的細節,絕對不能含
糊帶過。
最後,要知道 recruiter 不是工程師,沒辦法看懂技術的細節。想像你
被指派去讀一篇你完全不熟的領域的學術論文,而且要在短時間內交出
心得,你唯一能夠做的就是在論文裡面挑出一些看得懂的詞,然後想辦
法拼湊出作者想要表達什麼。
同樣的道理,如果一直寫技術名詞,recruiter 是很難看得懂你要表達
什麼的,所以必須要使用一般人可以懂的文字來解釋你的成果,然後搭
配一些關鍵字來介紹你的技術。另外也不要對關鍵字作太多假設,假設
job description 上面寫語言 A 然後你寫一個基於 A 設計的
framework B ,工程師可以看得出來 B 只能用 A 開發,但是
recruiter 不一定了解這個關係。
回到之前的例子,如果寫成
Reduced 50% branch misprediction rate of red-black tree compared
with std::set by removing parent pointers, and achieved 100%
TER3 using GoogleTest.
對於熟相關技術的人來說,或許看得懂你要表達什麼,因為
branch misprediction rate 跟執行時間是有關的,std::set 是 C++
的 standard template library 而且底層大多是用 red-black tree 做
的,而 red-black tree 一般會需要 parent pointer 來 backtrack,
GoogleTest 又是常見的 C++ unit test framework,所以可以看得出來
你是一個懂資料結構、會最佳化 C++ 程式碼且有作測試的工程師。
但是對於 recruiter 而言,這些詞就只是英文字母而已。這邊要用常識
來判斷你寫的所有技術名詞能不能被 recruiter 看懂,最安全的作法是
盡量使用 job description 上出現過的詞,或是與這些詞有強烈相關的
詞,盡可能的減少太特殊的詞。
許多人會覺得 job description 上的詞根本就不能清楚解釋自己作過的
事情,但是對履歷來說,重點是在你做的東西的價值,技術只要符合
job description 就好,不要為了展現自己的技術而放了一堆技術名詞
和縮寫。
如果你使用了 job description 上沒出現的技術名詞,你要多想想你這
段話的目標讀者到底是 recruiter 還是工程師。要記住,如果
recruiter 不喜歡你的履歷,工程師是讀不到你的履歷的。
總歸來說,寫經歷有幾個階段。
1. 寫清楚,讓人相信你的履歷。
2. 寫出技術細節,讓人知道你有什麼經驗。
3. 寫出 impact ,讓人知道你經驗的價值。
要達成 1 和 2 是不難的,只要有心都可以,只是大部分的人都是不經
意的把自己履歷寫的很模糊,所以蠻可惜的。至於 3 就不容易,尤其是
對學生來說,很多時候你花了許多時間,但是結果卻不怎樣、缺乏比較
基準、或是無法量化,這也就是為什麼有列出 impact 的履歷吸引人的地方。
版面調整
建議再看一次範例,https://careercup.com/resume。這履歷充分利用
了整個版面,像是把聯絡方式放在姓名兩側,而且每行都有一定的字數,
如果你覺得空間不夠的話,可以按照這種方法調整版面來放內容。
許多經歷不好的人會很習慣性的調整間距,或是留白,讓版面看起來不
會很空。還有人會故意讓一行只有幾個字,像是把 GPA 獨立成一行、
project 的網址使用一行或是使用的程式語言獨立成一行。
而很多人浪費空間的原因其實很單純,因為可以寫的經歷太少了。但是
這種操弄留白的技巧其實一眼就看得出來。當 recruiter 看到留白很多
的履歷,自然就會下意識的覺得這求職者的經歷應該很弱,所以一定要
避免沒意義的浪費空間。
還有些人會使用粗體、底線、斜體來強調某些內文,要知道這些是用來
幫忙 recruiter 快速瀏覽用的,如果把語言、工具、或是一些量化的數
字都強調,那就失去了強調的意義。簡單來說,履歷上強調的部分必須
是可以在 10 秒之內全部讀完的文字。
如何改進履歷
當履歷初步完成之後,自己可以再認真檢視一下架構。10 秒之內能夠得
到的資訊有哪些,這些點跟 job description 相關嗎?跟你想強調的點
一致嗎?順序一致嗎?這些資訊會直接影響到 recruiter 有沒有興趣細讀。
接著再研究一下內文,經歷的順序,是不是由強到弱?
分配的空間是不是合理?
各項經歷有沒有寫清楚使用的語言、library和 framework?
關鍵字有沒有跟 job description match 。
這些都是比較高階的檢視,當覺得架構沒問題了,可以再確認一下版面,
版面的空白有多少?有沒有哪些行裡面只有幾個字而已?能不能調整版
面來增加空間的使用率?
最後才來檢查修辭。
首先把履歷裡面的形容詞挑出來,看看是不是 weasel word [6] 或是 buzzword [7]。
eager, passionate, anxious, zealous, excited, enthusiastic,
motivated, energetic
有興趣,但是沒有貢獻。
accountable, responsible, strong work ethic, honest, trustworthy
這些是 must 。
strong, exceptional, good, excellent, outstanding, smart, talented,
ambitious, highly qualified, extensive experienced
bluff 慣用詞。
team player, problem solver, hard-worker, results-oriented, go-to person
沒有證據就只是空話。
不是說這些詞絕對不能用,而是履歷上要著重可以證明的部分,用作過
的事情來證明自己的人格特質與興趣是更有效的。
如果是描述作的事情,履歷常見的形容詞有(我只是大概分類)
大 big, large, huge
多 massive, enormous
數個 several, numerous, various, assorted, disparate, diverse
準確 accurate, high-precision
像這類的詞,最好要直接寫數據,而不是寫形容詞。
新 new, innovative, novel, creative, original
複雜 complex, complicated, sophisticated, heterogeneous
形容程式的品質
readable, maintainable, high-quality, flexible, extensible, fully-tested
像這類的詞比較難提供數據,但是要提供證據,而不是寫形容詞。
平行/分散式系統 large-scale, parallel, concurrent, distributed
大量資料 high-throughput
快速處理資料 streaming, real-time, low-latency
容錯 robust, fault-tolerance, high-available, resilient
有效率 efficient, performant, high-performance
省空間 space-efficient, succinct
同樣的,要有數據,不然都是空話。
基本上,所有的形容詞都要認真的思考,能不能換成數據或是證據,
讓證據說話。形容詞用的愈多,代表履歷越空虛 [8] 。
然後把動詞挑出來,有些動詞是很虛的,像是
interest, attract, engage
有興趣,但是沒有貢獻。
involve, learn, study, observe, read, watch
基於興趣花了時間學,但是沒有貢獻。
review, gauge, think
學完之後也花時間思考了,但是沒有貢獻。
propose, recommend, suggest, advise, advocate, outline, plan, draft
思考完提出建議,但是沒有做。
help, aid, assist, contribute, participate, involve
幫人打雜,貢獻很難評估。
co-led, collaborate, cooperate
靠隊友,貢獻很難評估。
initiate, begin, start
只做一點,貢獻很難評估。
公司當然希望員工有興趣、肯學習、會思考、能計畫、樂於助人、擅長
合作,但是對於學生來說,最重要的是獨立作戰能力。不是說這些詞絕
對不能用,而是要避免使用無法顯示你有明確貢獻的動詞。
而作的事情有很多種,有些是 job duty
attend meeting, schedule tasks, meet deadline, satisfy requirement,
debug code, test program, maintain system,
這些是工程師的日常生活,寫這些流水帳並不能看出你比其他人好在哪
裡。所以要寫一些明確的事情,來證明自己的能力。
履歷上常見的動詞有(我只是大概分類)
作系統 develop, design, build, implement, code
作產品 launch, deploy, productionize
分析 analyze, investigate, examine, evaluate,
inspect, scrutiny, qualify, quantify
領導 lead, coordinate, orchestrate, organize
發明 invent, devise
指導 teach, coach, mentor, tutor
大部分的履歷十之八九都是這些字開頭,因為這些是在描述你作的事情,
不過成果導向的寫法是要著重你作的事情的價值。
想想看能不能換成這些動詞開頭(我只是大概分類)
強化 optimize, improve, enhance, maximize, minimize, strengthen
增加 increase, boost, promote, expand, grow
減少 decrease, reduce, lower
加速 accelerate, speed up, reduce time
重構 refactor, refine, upgrade, update, simplify, streamline
達成 achieve, accomplish
單純只是用這些詞開頭是不夠的,一定要搭配上數據,而且第一類字其
實有點模糊,很多情況下都是可以換成比較精確的字的,像是
optimize performance,如果是指執行時間的話,直接清楚地寫
reduce running time 就好了。
對於可比較的成果,建議要寫清楚比較的基準,像是得獎要寫清楚有多
少參賽者。設計新的方法,可以寫跟常見的 library 比起來,效能提升
了多少,這樣會提供 recruiter 更多資訊,而且可以顯示你做的是公平
的比較。
另外,有些數據是很容易灌水的,像是只要犧牲 precision ,recall rate
是可以很輕鬆的變成 100%。在工程上有很多東西都是 trade-off,時間
與空間,latency 和 throughput 等等,所以盡量提供完整的數據。當
然,你不提供的話 recruiter 大概也不會覺得奇怪,但是工程師面試你
時發現你是刻意操弄這種 trade-off 來達成吸引人的數據,那你履歷的
可信度就大打折扣了。
有人會寫連續好幾個動詞,像是 design and implement,但是實際上的
成果,跟你用多少個動詞是無關的,建議省點空間換成具體的證據。
總結來說,就是要盡量用清楚且明確的文字來描述經歷。
這些檢查都結束之後,我建議要試著把履歷印出來看看。雖然 recruiter
不太可能印出來看,但是面試的時候是有可能會把履歷印出來看的,有些
顏色或是字型印出來會有點奇怪,所以要檢查一下。
常見問題
Q: 要不要寫 objective?
寫 objective 是要讓 recruiter 知道你要申請哪個職位,但是現在都
是電腦化了,當 recruiter 拿到手的時候系統早就登記你要找什麼職位。
而且 objective 是以求職者的觀點來寫的,說你想找什麼工作,但是公
司只想知道你可以幫公司賺多少,不是讓你追求人生目標,所以
objective 已經不重要了。
Q: 要不要寫 personal summary?
對於有豐富工作經驗的人來說,在履歷上寫 personal summary 並不少
見,因為在一頁的履歷裡面放不進所有的經歷,就把所有的經歷濃縮成
幾句話放進 personal summary ,因為有真的經歷當佐證,讀起來比較
可信。不過如果履歷安排的好,recruiter 只要看你 highlight 的幾點
就可以得到你所要表達的 summary,那其實 personal summary 就可有
可無了。
對學生而言,因為能夠當證據的經歷並不多,personal summary 不能主
打自己的技術,只好寫自己聰明機敏、積極主動、勤奮樂觀、學習快速、
熱衷挑戰等等人格特質。公司當然喜歡這種特質的人,但是在履歷上這
樣宣稱的人太多了,這種 personal summary 很難吸引人,還不如省點
空間寫其他內容。
Q: 要不要寫 skill?
有很多人喜歡在履歷上列出一堆技能,但是大家也很清楚,一個人是不
可能同時間熟這麼多技能的,一定是有些比較熟,有些只是用過而已,
更何況每個人對於熟的定義差別很大,就算求職者自認是某項技術的專
家,這也只是他自以為而已。所以技能表大多是用來幫忙 recruiter 篩
選人的。
因此如果要寫技能,要寫一些跟職缺直接相關,而且可以經得起測驗的
技能,最好要可以跟經歷相呼應,這樣 recruiter 才能大概看出你的經
驗。不要寫一些對於職缺沒有幫助的技能,自己不熟的技能就不用寫了。
Q: 要不要列 publication?
要看你的 publication 跟公司有沒有相關,沒相關列了也沒用,就是浪
費空間而已。如果要列出來,最好是在經歷裡面提到這部份工作是有論
文發表的,然後把出處縮寫列出,來節省空間。因為 recruiter 很難從
論文的標題和出處去評估論文的貢獻,按照一般論文格式花個三行來列
一篇 publication 很不划算。
Q: 要不要寫與技術無關的課外活動?
對於學生而言,公司最在乎的還是有沒有獨立作戰的能力。如果你經歷
已經很豐富,寫些課外活動來展示領導能力,是可以加分的。如果你只
是因為與工作相關的經歷不夠多,所以要找些東西來塞版面的話,效果
應該不大。雖然公司都希望員工有溝通協調和領導能力,但是對於畢業
生要求沒那麼高。
Q: 如何解釋 gap year?
對於轉專業的人,或是有服兵役的人,履歷上常常有 gap year。如果
gap year 是很久以前的事情,其實可以不用管了,但是如果 gap year
發生在近幾年,而且長於一年的話,就需要一些說明。或許你作的事情
跟你要找的工作是無關的,但是這就是你的人生經歷,只是不用在履歷
上花很多篇幅就是了。不要刻意的把某些經歷的年代刪除,讓人看不出
來你的 gap year,因為不寫清楚會降低你的履歷可信度。
Q: 沒有可量化的成果怎麼寫?
常有人覺得評量的數字看起來很不亮眼,所以就不放上去。但是數字亮
不亮眼是一回事,履歷可不可信又是另一回事。在履歷上提供了清楚的
細節,會增加履歷的可信度。在履歷上支吾其詞,並不會讓履歷變得比
較好。
雖然沒有可量化的成果,但是總有一些客觀的數字,像是資料大小、執
行時間等等,雖然缺乏比較基準,這些數字意義很小,但是這些數字提
供了更多關於 project 的細節。
Q: 如何描述課程 project?
在校生或是畢業生因為沒有太多工作經驗,而且非技術愛好者也不太可
能去參與開源專案,所以往往會需要使用課程 project 來填履歷。寫課
程 project 的時候常常會越寫越心虛,畢竟大部分的課程 project 並
不大,而且可以自由設計的部分不多。但是這是很正常的,合理的面試
官不會預期你的課程 project 有千萬美金的價值,所以只要如實的寫就
好了,沒必要過於美化,或是把多人合作的工作講成是自己的功勞。
在履歷中可以優先考慮寫跟應徵工作相關的 project ,或是傳統上較困
難的 project 像是 OS、compiler 和 network 之類的,會比較有說服
力。再來可以考慮是自己設計的 project ,最後再考慮老師已經給好規
格,單純只是實作的 project 。
如果課程 project 沒有什麼可以量化的成果,可以考慮寫程式的大小,
測試的覆蓋率等等很傳統的 software metrics。
Q: 如果有很多小的經驗,通通寫上去感覺很虛,但是不寫又可惜怎麼辦?
如果有很多小 project ,那麼可以自己想辦法幫這些小 project 想個
主題,然後整理成一項經歷就好了。如果這些小 project 的性質差異很
大,沒辦法有個主題,建議就是拿來當成客製化履歷的材料就好了,有
相關的才寫進履歷中。
Q: 如何客製化履歷?
客製化就是基於 job description 調整內容,讓相關的部分內容增加,
順序靠前,只要一開始材料有準備充分,客製化會容易許多。
Q: 經歷很少,履歷很空怎麼辦?
對碩士生而言,把課程作業寫上去大多可以塞滿版面。但是對於不太喜
歡選要寫 project 的課的學生而言(像我就是),並沒有很多課程
project 可以寫,所以版面可能會有點空。對於轉專業的學生而言,經
歷很少也是很常見的。
如果有投履歷的 deadline ,那沒有選擇也只好投出去了,有投有機會。
有時間的話最好認真的作幾個小 project 出來,然後慢慢把履歷補上。
結語
履歷的好是相對的而不是絕對的,可能過幾年因為大眾寫履歷技巧的提
升或是電腦寫作技術的提升,現在認為的好履歷到那時就變成陳腔濫調
了。我所提供的建議並不是死的,真正要滿足的是寫履歷的原則:展現
量化的成果、提供有力的證據以及描述清楚的細節,只要能夠滿足這些
原則,我的建議一點也不重要了。
在送履歷之前先確認一下沒有犯一些常見的錯誤 [4,5,9],希望大家都
可以找到好工作。
最後附上 Google 官方影片教導求職者如何撰寫履歷。
1. Applying to Google: Resume Specifics—How to Show 'Project Work' on a Resume
https://www.youtube.com/watch?v=HcNr23p-92U
(10:18) 列舉重要相關的課程,像是
Data Structures, Algorithms, Math/Physics related classes.
Machine Learning, Artificial Intelligence, Distributed Systems,
Advanced Algorithms, Databases 寫 experience 的時候同時要放上量化的 metrics 。
2. Applying to Google: Technical Resume Tips with Google Recruiters
https://www.youtube.com/watch?v=ZjeXxLnnH5I&t=1259s
(5:22) 列舉重要相關的課程,像是
Algorithms, Compilers, Networking, OS, Distributed Systems, and AI.
3. How to: Prepare Google Technical Resume Hangout on Air
https://www.youtube.com/watch?v=8npJLXkcmu8
(6:29) Objective 不是必須的。
(10:37) Publication 列在最後面就好,不要佔據 resume 重要的空間。
(18:00) Cover letter 是不需要的。
4. Hangouts On Air: Google Recruiters Share Resume Tips & Tricks
https://www.youtube.com/watch?v=5wa9J7iXOh0
(22:14) Recruiter 提到說 resume 應該著重在個人的 impact ,自己
實際上做了什麼,而不是你的 job duty。
(27:51) Recruiter 提到不要在 resume 上面列舉一大堆技能。
[1] JobScan
https://www.jobscan.co/
[2] Keeping an eye on recruiter behavior
https://goo.gl/eZMbLB
[3] My Personal Formula for a Winning Resume
https://goo.gl/xD7GGL
[4] The Biggest Mistakes I See on Resumes, and How to Correct Them
https://goo.gl/bXZMSf
[5] The Biggest Mistakes I See on Resumes, Part 2: Your top 8 questions
https://goo.gl/jhnD2n
[6] 5 secrets for writing the perfect data scientist resume
https://goo.gl/rPc6fY
[7] 10 Worthless Words to Delete from Your LinkedIn Profile
http://www.businessnewsdaily.com/3510-linkedin-buzzwords.html
[8] How to Write a Terrible Software Engineering Resume
https://goo.gl/tcKAt4
[9] Avoid a Bad Hire: How to Assess a Software Developer's Resume
https://goo.gl/baorL9
作者: bluebluelan (新陰流大目錄免許皆傳)   2017-10-01 01:34:00
comprehensive!個人是先把從大學到現在所有做過的事列出來 依照屬性分類 再隨著Job description刪除掉不相關的類似back-end的職缺就把CUDA還是kernel的東西拿掉對於在找工作的new grad很難也沒時間針對海投每一個職缺都客製化履歷 倒是可以依照想走的方向各弄出一版專為C/C++ low-level;偏front-end or back-end各弄出一版履歷來海投但真的讓履歷脫穎而出的大概都是你的工作經驗跟實習經驗對盤惹...
作者: b29308188 (ben)   2017-10-01 03:13:00
推! keywords很重要 常常看到寫了一堆還是沒寫到技術細節 或者寫了太多太深入可是recruiter不會感興趣
作者: fishlinghu (令狐瑜)   2017-10-01 04:10:00
真 實習過之後LinkedIn跟Piazza都開始有人聯絡了XDDDD
作者: drajan (EasoN)   2017-10-01 07:50:00
感謝分享 寫履歷是一門很重要的知識
作者: shawnfu (...)   2017-10-01 08:23:00
作者: infernoking (infernoking)   2017-10-01 08:36:00
用心大推!找時間來大修一下
作者: dark104 (GB)   2017-10-01 10:25:00
推,感謝分享!
作者: svin (呼呼呼)   2017-10-01 10:58:00
很詳細
作者: bnn (前途無亮回頭是暗)   2017-10-01 11:10:00
這篇非常推薦。
作者: JJ1622   2017-10-01 12:41:00
推 感謝分享
作者: Recorder (克里斯)   2017-10-01 12:43:00
推前輩熱心分享!
作者: urmfo (Bambi)   2017-10-01 12:52:00
感謝分享!<(_ _)>
作者: dyadi (dyadi)   2017-10-01 13:04:00
作者: krauserq (null)   2017-10-01 14:18:00
push
作者: beambean (Chelsea)   2017-10-01 14:58:00
大推
作者: ron0908 (榮恩)   2017-10-01 15:39:00
非常棒的分享,的確很多HR是不懂技術細節和專有名詞的
作者: chuwenchen (文)   2017-10-01 15:40:00
推無私分享
作者: fakeprince (DEREK)   2017-10-01 15:48:00
大推。實用文
作者: pest (這些分鐘妳有沒有想過我?)   2017-10-01 20:02:00
推分享
作者: wangyc (╳乂ㄨメX乄χ×x)   2017-10-01 21:40:00
作者: MudHan (有點疲累吧)   2017-10-02 00:50:00
寫的太棒了!!
作者: jasson15 (π)   2017-10-02 14:08:00
推。履歷只是為了拿面試,能讓HR吸住目光才是真的開頭動詞真的要用有possitive的, 且要解釋對公司的impact, 要不然HR 30 秒內沒看懂也就只好被略過了
作者: MVagusta (Dragster RR)   2017-10-02 22:13:00
大推!
作者: smdf (我依然相信)   2017-10-04 08:52:00
作者: DONmilK (DONmilK)   2017-10-04 10:39:00
推 最近剛丟了FB履歷沒回應 看到這篇文又可以再改了

Links booklink

Contact Us: admin [ a t ] ucptt.com