Side project 怎麼做 (資料科學、資料分析)

履歷中工作經驗不足時,做 side project 一個常見的、可行的彌補方式。

『動手做』是訓練技術能力最有效的方法,學習程式語言,數據分析,跟網站工程這類的技能,除了在工作中增加經驗值外,也可以自己做一些小計畫練練手。履歷中工作經驗不足時,做 side project 一個常見的、可行的彌補方式。


Side project 怎麼做呢?我們針對資料科學相關技能,簡單整理一些基本原則,其他領域(網站工程,軟體)也可以參考。

資料來源

要做分析、模型或是視覺化,要先有資料。

資料來源有兩種,一種現成的資料(datasets),最好是公開的,會有一定的公信力和價值(不是亂七八糟的資料,變成 garbage in garbage out)。很多人用的 Kaggle 上面就有很多現成的資料組,很多政府機關和公共部門也會有可下載的資料組。 Kaggle 上還有很多其他人的 project 可以參考,也非常適合學習和練手。但是放在履歷上的 Side project 最好挑冷門一點點,內容更一定要有新意。

進階一點的,可以使用『網路爬蟲』,蒐集自己的資料(或是與其他人合作)。好處是順便顯示自己的段位,而且主題可以更多元更有趣。網路爬蟲要注意,有些網站會在某個時間點(可能是發現你爬太多資料)禁止訪問或是修改設計。爬下來的資料要記得備份,至少呈現內容的用的 deliverable 不要仰賴於實時的爬蟲(萬一面試被要求被要求展示,不會受到網路等等的影響)。

無論採用網路上的公開資料,或是自己爬蟲,都要把『收集資料』的過程,相關程式碼保留下來。每一個步驟,都要清清楚楚,甚至任何人都可以用你公開的內容重現結果,這符合現在推廣的 reproducible research 的概念。

主要結構(要有料)

內容依照你的專長,可以分為分析為主或是模型為主(或是最好兩者都有一點)。如果分析為主,最好不要停留在 EDA (Exploratory Data Analysis) 的層次,而要延伸出(與其他人不同的)洞見 (insight)。即使是以很硬核的機器學習、人工智能模型為主打,也不要單調的呈現結果。

呈現的方式,除了展現技能外,可以用視覺化、互動、模擬應用來達到更好效果。『視覺化』就是圖或影片,用來說故事,表現洞見;除了符合資料表現的原則外,基本的美觀也很重要。如果可以,盡量加入『互動』的元素,讓觀眾、使用者可以輸入一些訊息,得到不同的反饋。最好的 project,呈現時也要模擬實務上的應用。

Deliverable & Pitch

Deliverable 指的是要呈現的東西,理論上可以是任何形式(文章、海報、投影片、網站、應用程式)。我們建議至少要有原始碼與視覺呈現兩個元素,也要有可以與口頭解說搭配,隨時做一個簡單報告(pitch)的設計。

原始代碼,最好可以用 github 整理,除了免費線上 hosting 之外,也可以展現你使用相關工具(git)和整理代碼的能力。最基本的視覺呈現,可以是 github 上帶圖片的文件檔(markdown)。

對於放在履歷上的 project,要準備簡單的報告,最好有短到長好幾個版本,例如:一分鐘以內的 elevator pitch,三分鐘、十五分鐘的報告,應付不同情境。(Elevator pitch 顧名思義就是『假如你在電梯裡碰到某個人,怎麼非常簡短介紹你在做什麼』:基本上 30 ~ 60 秒,三句話:我是誰,我做了什麼,有什麼影響)

Pitch 指的是『提案報告』,例如新創公司對潛在投資者的報告。在求職情境下,你要賣的產品就是『人才』:就是你自己。目標是讓重要的對方看到你的價值,對你的工作經驗和潛能,甚至是人格特質感興趣,願意投入。Pitch 的重點是要把握 project 可能的商業應用,可以針對求職的目標設計,也要準備解說過程中的技術困難點和你如何克服。


如果有個很好的 project,更要在求職過程中,把握每個可以 pitch 的機會。除了面試以外,各種 networking 的活動,甚至 informational interview 都可以是展現的機會。


#也可以參考 The Data Incubator 對於 Capstone project 的說明:這個機構的盈利模式之一,就是藉由訓練半路出家的 Data 相關人員,介紹給合作的公司然後跟公司收取獵頭費,所以他們的介紹很有實用價值。

Side project 怎麼做 (資料科學、資料分析) 有 “ 3 則迴響 ”

發表留言