[北美] 美國PhD轉Data Scientist求職心得(一)

作者: judykeystsai (judy)   2018-11-22 05:28:26
Data Science領域現在在美國很紅,但感覺非相關科系的new grad求職還是很不容易,
去年秋季我開始在這個領域尋找機會,一直到最近終於拿到一份理想的offer,一路上
雖然辛苦但受到很多人的幫助,所以想將我的經驗記錄成四篇文章分享給大家,裡頭
分別會談到:
一、我的背景及轉職準備過程
二、介紹Insight Data Science Program
三、Data Scientist面試經驗分享
四、Offer negotiation心得分享
這一系列的文章可能比較適合非CS/DS背景出身轉DS或是其他在Analytics/BI roles的人
參考,也希望能夠藉此幫助跟鼓勵到還在這條路上努力的人 :)
◎背景:
BS in Atmospheric Science at NTU
PhD in Meteorology and Atmospheric Science at Penn State
我的學歷比較像是所謂的冷門理工科系,也不像CS/Stats/ITS跟Data Scienc有比較直接
相關,我的博班研究跟DS幾乎沒有關係,頂多就是用multiple linear regression看看
海溫對區域氣候變遷的影響這部分可以算是沾得上邊。然後大概知道PCA是什麼但也沒有
實際運用在我的研究上。
相關的背景知識也蠻缺乏的,所以一開始真的找DS的工作很不順利。
在Coding方面,當時我完全不會Python、SQL或一般業界常用的語言。而且在2017秋天以
前我幾乎不太知道Machine Learning( ML)是什麼,一些ML算法 像是logistic
regression、各種tree-based models、clustering techniques、SVM、neural net等等
是聽都沒聽過。CS相關課程像是資料結構、演算法等等都是零基礎。統計知識也很一般,
至於business/product sense也完全沒有。
不過在博班時因為有在Linux Cluster上跑氣候變遷的模擬與分析,這部分在對於一開始
的上手應該算有些許幫助。
◎轉職歷程概述:
為了踏入Data Science領域我花了些時間自學Python。因為念大氣科學的人多少有過用其
他語言寫script分析數據的經驗,只要花時間學一下語法的話,單就入門不會太困難。在
熟悉語法後,我嘗試將一部分的博班研究工作「翻譯」成Python,然後學著用jupyter
notebook將一部分的程式碼以及視覺化的成果放在我新建立的GitHub上當個小作品。
建議有心學Python的人也可以試試這個方法,因為這可以把你用Python分析的結果跟用別
的語言分析的結果做相互的對照,過程會比較好follow,也可以慢慢練習coding的能力。
比較熟悉Python後,我開始學習scikit-learn跟其他做資料分析時會用到的工具,例如
pandas、matplotlib、seaborn等等,偶爾逛逛Kaggle去觀摩別人的kernels來學習做
ML project 的思維。不過我只有跟著做過兩三個很簡單的projects熟悉一下,後來就荒
廢了,因為發現自己需要補強更多ML相關的背景知識,而且我不喜歡在我不知道這個
model在幹嘛的情況下直接調用,預測結果出來也不知道要怎麼interpret。於是開始斷斷
續續上網看各種Data Science相關的教學影片。
2017夏天時聽朋友提起她參加Insight Data Science Program的經驗,覺得好像可以試試
,所以隨手申請了2018一月的session,沒想到竟然最後被accept(不是炫耀文XD),於
是有點誤打誤撞開啟了要認真踏入Data Science career的旅程。我其實本來在參加
Insight之前一直有點排斥,會質疑自己花兩個多月是否值得?是否會學到東西?是否最
後真的能找到Data Scientist的工作?然後很害怕自己做不出data product。但現在回頭
看這些擔心都是多餘的,因為Insight帶給我的價值完全超乎我的想像。
我在Insight做的project在往後每一個面試都是個很棒的selling point,然後Insight的
network非常強大,在我自己找工作的過程中真的對我幫助很多。即便我在參加完之後並
沒有馬上找到工作,而且最後的offer也不是透過Insight拿到的,但我真心覺得能夠參加
Insight絕對是我人生中最重要且最棒的決定之一!誠心推薦給大家,詳情我會另寫一篇
Insight心得文跟大家分享。如果無法參加這個program也沒關係,我也會在那篇文章中
分享參加的過程與準備,如果可以試著follow他們的workflow應該也會對你有一些幫助。
今年三月初參加完Insight後,三月中旬就重回學校做研究寫論文準備畢業,中間陸續有
跟幾家Insight refer的公司面試,然後大概到4月中差不多都掛光了XD。不過即使
program結束之後Insight還是一直會po職缺以及介紹想聽我們demo的公司,所以多少還是
有一些機會。
但在4月後我就沒有積極找工作面試了,主要在準備論文口試跟忙其他事情,真正又開始
比較認真投工作跟面試是在六月中後,但此時又要準備收拾搬家,所以其實也沒能全心全
意在找工作跟準備面試。
九月初搬到芝加哥附近後有開始比較積極找工作。基於個人因素,我只想找芝加哥附近的
工作,且我又只偏好某幾種方向的Data Scientist,所以在諸多限制下其實要找到一個
很fit的職缺真的是困難重重。有幾次真的很想放棄,不過後來很幸運能同時拿到兩家
Data Scientist的offer,一家是畢業前一直想去的產物保險公司,業務還滿廣的,而且
是涵蓋我最有興趣的氣候╱農業相關的保險。另外一家是Slice,後來被Rakuten買下,
現在改名叫Rakuten Intelligence,主要做online shopping market research。
雖然除了自己喜歡網購以外,對這個產業了解並不多。但最後還是決定去Rakuten試試看
,原因是Slice的所有條件幾乎都狂勝另一家保險公司(體會到有多個offer的好處)
,而且manager跟teammates感覺都很不錯。
另外,我在決定選哪個offer之前,還利用Insight的network去跟之前在Slice待過的
Insight fellow稍微聊過(再次感到Insight network的強大XD),覺得各方面感覺都很
好,才做了決定。
◎Data Science準備過程與學習資源:
其實現在回去檢視整個找DS工作的過程,我覺得自己起步有點太晚,在DS相關背景知識還
不夠強就去參加Insight,所以參加program的過程會有一點辛苦,雖然之後在跟Insight
合作公司的面試時候有漸入佳境,但還是沒能夠透過這個管道拿到offer。但如今能拿到
這兩個很棒的offer,也是基於之前參加Insight以及過去面試失敗的經驗,所以不論面試
成功與否,如果能夠從這些經驗裡學習並一步步改進,過去的失敗其實是很珍貴的,面試
詳情我會在第三篇文章分享。
接下來想跟大家分享一些Data Science相關的學習資源(我都是用免費的option,也沒有
做作業)。面試Data Scientist需要準備的項目真的太廣了,其深度也會根據職缺要求
而異,不過總體來說可分為六大部分:
一、 SQL
(1) Codecademy
SQL語法:https://www.codecademy.com/learn/learn-sql
SQL練習:https://www.codecademy.com/learn/sql-table-transformation
SQL應用:https://www.codecademy.com/learn/sql-analyzing-business-metrics
我的SQL一開始就在這邊學的,個人比較喜歡介面是interactive 的方式。不過我個人不
是很喜歡SQL,比較偏好Python的pandas。所以沒有很認真地持續練習SQL,且我會盡量
避免需要寫超級advanced SQL query的工作,而我自己的面試從來沒有被考過需要當場
寫SQL,但有被問過說SQL會什麼command。
(2) SQL zoo
https://sqlzoo.net/
還不錯的練習,我無聊的時候會拿來refresh一下。不會SQL的人也可以從這個網站下手。
(3) Hakerrank
https://www.hackerrank.com/domains/sql
也是還不錯的練習,但是我只做到medium而已,因為真的不太擅長刷題。
二、CS Fundamentals
這個我真的不會,版上SWE分享文很多,就不在這野人獻曝了。
Insight有推薦這個網站好像不錯:
http://interactivepython.org/runestone/static/pythonds/index.html
另外Cracking the Coding Interview那本書聽說也很有用,刷題的話就Leetcode跟
Hackerrank。但因為我沒學過資料結構跟演算法,所以只寫了不到10個easy題就放棄了。
如果想學Python,我推薦Codecademy的課程:
https://www.codecademy.com/learn/learn-python。
這也也是interactive的介面,我的Python就是在那邊學的。之後的學習方式就是不斷
的Google跟Stack Overflow。
三、ML知識
(1) Machine Learning Foundations(機器學習基石)by 林軒田教授
(2) Machine Learning Techniques (機器學習技法)by 林軒田教授
我的ML學習之路是從這裡開始,影片在YouTube跟Coursera都有。滿喜歡看林軒田教授的
教學影片,因為覺得有些冷笑話很好笑XD。當初不想給自己太大壓力,怕自己無法堅持
看完所有影片,所以沒有很認真地逼自己拿紙筆一步步follow課程,我是以比較輕鬆的心
態在學,有點像看影集那樣一天看一小時,最後不知不覺地把所有的影片都看完(不推薦
這樣的學習法XD),並且開始對ML有點概念。不過這堂課還是滿多數學符號,且需要
線性代數、微積分跟矩陣運算的概念,這些基礎比較弱的人可能要注意一下。
(3) Machine Learning course by Andrew Ng
這門課在美國Data Science領域很有名,我自己沒上過,但聽說是不錯的ML入門課程。
(4) Applied Machine Learning in Python by Kevyn Collins-Thompson (Coursera)
我覺得算是不錯的入門課程,不過我自己是自學一段時間後才看這門課,所以覺得滿簡單
的。這門課跟林教授的課比起來簡單很多,比較少數學證明推導,但ML概念涵蓋還算廣,
整體來說偏應用,有許多使用Python實作ML的簡單例子,可大略地提供做
ML project pipeline的觀念,例如不同ML models選擇、data前置處理、evaluate
results等等。
四、Stats
統計相較於其他方向來說算是我比較熟悉的一個領域,不過在準備面試的過程中還是找
了一些線上資源來複習跟學習。根據我的面試經驗大部分會問一些regression、
correlation、statistical inference相關的問題。介紹幾個不錯的學習平台:
(1) Khan Academy
https://www.khanacademy.org
裡面的Statistics and probability部分很多人有推薦,但我沒有全部看完,裡面很多部
分可以挑著看。
(2) Statquest by Josh Starmer (大推!)
他是一位UNC-Chapel Hill Genetics系的教授,錄了很多統計以及ML相關的教學短片。
他的影片對我的面試準備幫助非常大!真的超級感謝他!他很擅長把很複雜的觀念或
ML模式用很淺顯的方式解釋清楚,這點不論是在觀念的理解上,以及在面試時能清楚
回答統計或ML相關問題都非常有幫助。
我的經驗是在communication skills在Data Scientist面試的時候是非常重要的一部份,
如果能夠將較深的統計/ML觀念解釋清楚絕對是大為加分的。我幾乎在每個tech screen
前都會再重看幾個比較重要的影片。而且他的影片都不長,不會造成太大的心理學習壓力
(點開影片的活化能較低XD),真的是非常棒的資源!
這是他的YouTube頻道:
https://www.youtube.com/channel/UCtYLUTtgS3k1Fg4y5tAhLbw
所有教學影片的分類細項:
https://statquest.org/video-index/
(3) Intro to Inferential Statistics by Udacity
作者: drajan (EasoN)   2018-11-22 05:30:00
好文!!
作者: dark104 (GB)   2018-11-22 05:42:00
感謝分享
作者: d611301 (任性放達的人)   2018-11-22 06:14:00
推個
作者: blizzard258 (鯛魚燒)   2018-11-22 08:26:00
感謝分享!
作者: david820505 (牛排)   2018-11-22 08:55:00
感謝分享!
作者: TAMSHUI (讓我醉死在夢裡~)   2018-11-22 08:59:00
感謝分享!
作者: wintercoldb (balance)   2018-11-22 09:12:00
P.s. 實在有點好笑感謝分享
作者: sexypilot12 (cutegirl)   2018-11-22 09:18:00
推推~
作者: swancloud (問題背後的問題)   2018-11-22 09:41:00
作者: rayu (.........)   2018-11-22 09:43:00
這篇太認真了!大推!
作者: becalm (小宅工程師)   2018-11-22 09:55:00
推認真! 但拿了博士再換新領域有種淡淡哀傷…
作者: umum29 (....)   2018-11-22 10:04:00
推 希望您能夠分享behavior questions的部分
作者: RoyKudo (Zack)   2018-11-22 10:29:00
推 非常感謝QQ!另外想問原po除了農業電商之外有接觸到醫療方面的DS嗎?
作者: bluebluelan (新陰流大目錄免許皆傳)   2018-11-22 11:50:00
很多亞 認識該領域top phd 在史丹佛做了幾年博後最後跑到sjsu洗一個MS找工作的
作者: resay543 (台灣之光!!)   2018-11-22 12:04:00
多謝分享
作者: keyut2433 (keyut2433)   2018-11-22 12:06:00
請問一下insight一定要花2個月fulltime?
作者: uni012157 (Uni)   2018-11-22 12:31:00
路過推推!
作者: rainingmoon   2018-11-22 12:33:00
感謝分享!
作者: ZERX (I am from Taiwan!!)   2018-11-22 13:11:00
路過推
作者: plankton   2018-11-22 13:14:00
感謝分享
作者: clemsontiger (Tiger01)   2018-11-22 13:32:00
感謝分享!
作者: philip09227 (philip)   2018-11-22 13:43:00
推謝謝分享獲益良多
作者: belindazo (矛矛)   2018-11-22 13:57:00
歡迎來芝加哥 XD
作者: bowin (盡其在我)   2018-11-22 14:20:00
Congrats!Insight Data Science Programe真的不錯,可惜需要身份才能報名,不然去年真的很想申請...
作者: abc53 (abc)   2018-11-22 15:22:00
作者: ryanlei (雷恩雷)   2018-11-22 15:41:00
感謝分享
作者: babyfang (Fang)   2018-11-22 20:05:00
推推
作者: tmtm39 (TM)   2018-11-22 22:10:00
感謝分享!
作者: CVPR2019 (feat. ICML2019)   2018-11-22 22:27:00
請問最後你沒有刷leetcode 那面式白板題怎麼辦?
作者: yenting1006 (Was mich nicht umbringt)   2018-11-23 02:33:00
推推學姐
作者: a972celia (ㄈㄈㄈㄈ)   2018-11-23 13:55:00
謝謝分享 已收藏
作者: jiayun0902 (RRRRR)   2018-11-23 22:05:00
感謝分享
作者: levenspiel (努力實現目標)   2018-11-23 23:44:00
push!
作者: oopsmarcia (marcia)   2018-11-24 09:56:00
好文推!!感謝分享
作者: AAABE (ZXBNRT)   2018-11-24 10:02:00
作者: bowin (盡其在我)   2018-11-24 16:22:00
感謝補充!我是台灣學位,所以無法申請
作者: BalloonBa (巴倫巴)   2018-11-24 23:50:00
感謝分享
作者: shawncarter (Duffy Huang)   2018-11-26 16:50:00
推分享
作者: lingon (林果)   2018-11-27 03:10:00
我收了兩個staff scientist都經過Insight, 品質真的不錯
作者: Sisssy (face it)   2018-11-27 04:01:00
同領域UNC-Chapel Hill PhD 認真考慮中 lol
作者: bleedwolf (123)   2018-11-27 07:07:00
感謝分享
作者: corey11 (.............)   2018-12-17 08:03:00
推一個 yo-yo 的新婚妻。恭喜留在芝加哥啊 來打羽球
作者: agape9453 (心之俱足)   2017-01-21 02:51:00
Push
繼續閱讀

Links booklink

Contact Us: admin [ a t ] ucptt.com