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

看板Oversea_Job作者 (judy)時間5年前 (2018/11/22 05:28), 5年前編輯推噓43(4305)
留言48則, 43人參與, 6年前最新討論串1/1
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 https://www.udacity.com/course/intro-to-inferential-statistics--ud201 這門課對重新複習Inferential Statistics還滿有幫助的,這部分的課程算是A/B Testing跟product面試的基礎。 五、Business Case Studies 由於我從來沒有在業界工作的經驗,所以真的非常沒有business/product sense。 我只能談談我是如何慢慢學習的: (1) A/B Testing by Udacity https://www.udacity.com/course/ab-testing--ud257 這門課很多人推薦,我一開始上的時候常常需要反反覆覆看,不是很習慣他們談話性的 教法,不過算是對A/B Test有初步的了解。建議有Inferential Statistics的概念後再上 比較好。 (2) Lean Analytics: Use Data to Build a Better Startup Faster http://leananalyticsbook.com/ 這本書是Insight推薦的,Insight要我們去onsite前一定要看。但我來不及看完所以只有 看個大概。我覺得是培養以data的角度對business的了解還不錯的入門書。 如果沒有時間看這本書,滿推薦看作者(Alistair Croll)的演講影片: https://www.youtube.com/watch?v=-CB4w_OtrKw
我看完有種恍然大悟的感覺,覺得有學到新東西,不過可能是因為我沒有任何業界經驗的 關係。 六、Behavioral interview questions Behavioral questions在Data Scientist面試中也是很重要的,因為Data Scientist除了 需要好的溝通能力,也需要知道如何跟其他人合作,所以這部分絕對需要好好準備, 我會在之後的文章分享我的準備方法。 第一篇先寫到這裡,當然DS需要學習的東西還有很多,如果有好的資源也歡迎分享。 附上我的LinkedIn:http://www.linkedin.com/in/chiiyuntsai 歡迎Data Science領域的朋友們connect,我的Data Scientist職涯才剛起步,希望前輩 們不吝指教,也祝福還在往這條道路上努力的朋友找工作順利,找工作是很孤獨又辛苦的 路程,希望這些分享文可以幫助跟鼓勵到你。 p.s. 我是#1RvJ9zZo的原po,感謝版友的意見,但我不知道stan1234567是誰XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 24.13.233.115 ※ 文章網址: https://www.ptt.cc/bbs/Oversea_Job/M.1542835716.A.DAB.html

11/22 05:30, 5年前 , 1F
好文!!
11/22 05:30, 1F
※ 編輯: judykeystsai (24.13.233.115), 11/22/2018 05:35:11

11/22 05:42, 5年前 , 2F
感謝分享
11/22 05:42, 2F

11/22 06:14, 5年前 , 3F
推個
11/22 06:14, 3F

11/22 08:26, 5年前 , 4F
感謝分享!
11/22 08:26, 4F

11/22 08:55, 5年前 , 5F
感謝分享!
11/22 08:55, 5F

11/22 08:59, 5年前 , 6F
感謝分享!
11/22 08:59, 6F

11/22 09:12, 5年前 , 7F
P.s. 實在有點好笑
11/22 09:12, 7F

11/22 09:12, 5年前 , 8F
感謝分享
11/22 09:12, 8F

11/22 09:18, 5年前 , 9F
推推~
11/22 09:18, 9F

11/22 09:41, 5年前 , 10F
11/22 09:41, 10F

11/22 09:43, 5年前 , 11F
這篇太認真了!大推!
11/22 09:43, 11F

11/22 09:55, 5年前 , 12F
推認真! 但拿了博士再換新領域有種淡淡哀傷…
11/22 09:55, 12F
哈哈,是有一點點捨不得本來做的研究沒錯>< 不過真的不少PhD跟postdoc都轉行了

11/22 10:04, 5年前 , 13F
推 希望您能夠分享behavior questions的部分
11/22 10:04, 13F

11/22 10:29, 5年前 , 14F
推 非常感謝QQ!
11/22 10:29, 14F

11/22 10:33, 5年前 , 15F
另外想問原po除了農業電商之外有接觸到醫療方面的DS嗎?
11/22 10:33, 15F
我只有面過一間美國滿大間的retail pharmacy company耶。如果對醫療跟Insight有興趣 ,可以考慮health data science program。

11/22 11:50, 5年前 , 16F
很多亞 認識該領域top phd 在史丹佛做了幾年博後
11/22 11:50, 16F

11/22 11:50, 5年前 , 17F
最後跑到sjsu洗一個MS找工作的
11/22 11:50, 17F

11/22 12:04, 5年前 , 18F
多謝分享
11/22 12:04, 18F

11/22 12:06, 5年前 , 19F
請問一下insight一定要花2個月fulltime?
11/22 12:06, 19F
根據Insight的program安排及強度我覺得是。詳情可以看我第二篇文章分享的program內 容再衡量一下。

11/22 12:31, 5年前 , 20F
路過推推!
11/22 12:31, 20F

11/22 12:33, 5年前 , 21F
感謝分享!
11/22 12:33, 21F

11/22 13:11, 5年前 , 22F
路過推
11/22 13:11, 22F

11/22 13:14, 5年前 , 23F
感謝分享
11/22 13:14, 23F

11/22 13:32, 5年前 , 24F
感謝分享!
11/22 13:32, 24F

11/22 13:43, 5年前 , 25F
推謝謝分享獲益良多
11/22 13:43, 25F

11/22 13:57, 5年前 , 26F
歡迎來芝加哥 XD
11/22 13:57, 26F

11/22 14:20, 5年前 , 27F
Congrats!Insight Data Science Programe真的不錯,可惜
11/22 14:20, 27F

11/22 14:20, 5年前 , 28F
需要身份才能報名,不然去年真的很想申請...
11/22 14:20, 28F
不太確定你說的需要身份的部分,不過我補充一下,F1 OPT跟已經有H1B的都是可以參加 的。我參加的時候是F1在學學生。

11/22 15:22, 5年前 , 29F
11/22 15:22, 29F

11/22 15:41, 5年前 , 30F
感謝分享
11/22 15:41, 30F

11/22 20:05, 5年前 , 31F
推推
11/22 20:05, 31F

11/22 22:10, 5年前 , 32F
感謝分享!
11/22 22:10, 32F

11/22 22:27, 5年前 , 33F
請問最後你沒有刷leetcode 那面式白板題怎麼辦?
11/22 22:27, 33F
我的面試比較少碰到白板題,可能是我申請工作的時候會稍微查一下該公司如何面試。不 過我碰到過的leetcode題都不太難,部分是OA(可google查)或是“口述”。倒是碰到過 比較多需要做data challenge然後再present結果。不過DE和machine learning engineer 那類的還是建議要努力刷題。

11/23 02:33, 5年前 , 34F
推推學姐
11/23 02:33, 34F

11/23 13:55, 5年前 , 35F
謝謝分享 已收藏
11/23 13:55, 35F

11/23 22:05, 5年前 , 36F
感謝分享
11/23 22:05, 36F

11/23 23:44, 5年前 , 37F
push!
11/23 23:44, 37F
※ 編輯: judykeystsai (24.13.233.115), 11/24/2018 04:48:11

11/24 09:56, 5年前 , 38F
好文推!!感謝分享
11/24 09:56, 38F

11/24 10:02, 5年前 , 39F
11/24 10:02, 39F

11/24 16:22, 5年前 , 40F
感謝補充!我是台灣學位,所以無法申請
11/24 16:22, 40F

11/24 23:50, 5年前 , 41F
感謝分享
11/24 23:50, 41F

11/26 16:50, 5年前 , 42F
推分享
11/26 16:50, 42F

11/27 03:10, 5年前 , 43F
我收了兩個staff scientist都經過Insight, 品質真的不錯
11/27 03:10, 43F

11/27 04:01, 5年前 , 44F
同領域UNC-Chapel Hill PhD 認真考慮中 lol
11/27 04:01, 44F

11/27 07:07, 5年前 , 45F
感謝分享
11/27 07:07, 45F

12/17 08:03, 5年前 , 46F
推一個 yo-yo 的新婚妻。恭喜留在芝加哥啊 來打羽球
12/17 08:03, 46F

01/21 02:51, 6年前 , 47F
Push
01/21 02:51, 47F

03/23 21:16, 6年前 , 48F
Push~
03/23 21:16, 48F
文章代碼(AID): #1RzSu4sh (Oversea_Job)