Master是否應該去找software engineer的工作而不是data scientist?

CMU小碩一枚,對機器學習非常感興趣,修了不少相關課程(701, 725, 605等),實習也和這個相關,但無奈發現data scientist的職位提供給Master的真的不多,招聘會簡歷投過一輪也大多石沉大海。我明年暑假畢業,在此之前我是否應該多刷題,學學Web學學infrastructure(我會基本的Spark和Hadoop,但對database無知)給自己多一條找software engineer的路呢?如果仍然要找data scientist,如何進一步豐富簡歷呢?感到很迷茫。


要注意,有的公司,比如微軟,data scientist只是個title,做的事情可能是test。因為現在已經不招tester了,就改用data scientist的名義招人。具體事情是分析各種dump數據和用戶使用情況數據,聽著是scientist,其實是原先tester的活。

software engineer則沒有這個問題。


之前有投過DS的職位,感覺面試除了演算法編程,還有各種機器學習和統計,甚至sql,感覺準備的知識更廣,壓力比較大。

結果來看面DS的職位我都掛了,bar更高吧,於是一心一意準備sde的面試,最後曲線救國,去SDE做machine learning相關的組就行了,title什麼的,沒有實際的工作內容重要。而且相比數據分析,我對應用機器學習更感興趣。


之前在美國交流的時候,有人問到了關於Data Scientist 學歷的問題,IBM Sr. Data Scientist Saeed Aghabozorgi專門做了問答, 他的看法和大部分企業的要求一樣,能力決定一切。不管是本科學歷,研究生學歷都可以成為數據科學家,目前企業招聘的時候一般也沒有限制學歷,一般是要求工作年限和經驗。

技術決定能力,能力決定就業,道理令人信服。但是為什麼實際情況中,身邊的數據科學家80%是Master及以上學歷呢?為什麼Data Scientist 崗位看起來要求不高,實際很高?主要是因為你的競爭對手實力強。數據科學是一門新學科,Glassdoor新發布的全美國50個最佳工作名單,數據科學家又是當之無愧的NO.1 其中排名Top10的工作中,有一半與Analytics、Big Data、Data Science相關:

  1. Data Scientist $110,0002
  2. DevOps Engineer $110,0003
  3. Data Engineer $106,0005
  4. Analytics Manager $112,0007
  5. Database Administrator 8$93,000

因為工資高,而且對專業沒有限制,很多其他專業的Ph.D都轉投Data Scientist崗位,拉高了這個崗位的競爭門檻,就像前幾年非常火爆的諮詢行業一樣。而且Ph.D們通常不屑於去做CS等軟體開發類工作,所以才給了Master機會。就好比BAT在校園招聘的時候表面上大家都可以投簡歷,實際上能夠通過篩選,參加筆試的非211、非985學生很少。就算一起參加了考試,同樣的成績甚至分數低點,HR通常也會優先考慮重點大學的畢業生。因為他們的師兄和師姐已經打下了良好的口碑,HR覺得選學校好的肯定不會落下口實。所以學歷高,在應聘中肯定是加分項。

這裡我的建議是,有好的工作機會就先工作,慢慢往Data Scientist方向上靠攏。其實從上面這份名單你就可以看出,成為一名數據科學家之前,你可以先成為一名軟體工程師、也可以是數據工程師、數據分析師甚至資料庫管理員,所以不要太拘泥於當下某一條路徑,現在開始干就好。如果志存高遠,現在開始準備申請CS 方面的Ph.D也是可行的。

資料:

2016 post where Data Scientist was also no. 1 job in USA

數據人的自我修養:

預見未來 - 知乎專欄


學校招聘會上投簡歷石沉大海對於data scientist來說很正常,就我個人經驗來說,學校招聘會上Data Science有關的職位數量極為有限,甚至可能沒有,所以題主沒必要因為沒有迴音就過於沮喪。想當年我在學校招聘會拿到了一堆SDE的面試,但Data Science只有一個。如果真要找Data Science相關的職位,海投比學校招聘更有效。

Data Scientist這條路比Software Engineer這條路難走,坑少、bar高,除了相關專業畢業的博士碩士外,還得與一大幫生物、物理、化工等專業的博士競爭,如果題主想要走這條路,至少應該認識到這些壓力與困難。

刷題是一定要刷的,不論是做Data Scientist還是Software Engineer,好好刷題在目前來看是沒有錯的。

如果想找Data Scientist的工作,豐富簡歷最好的方法是找一個相關實習,如果找不到相關實習,看看能不能找個教授在實驗室里跟著做點東西,雖然這個出成果比較慢;如果實驗室找不到,那就上一兩門需要做大Project的課程,或者做做Kaggle,把一兩個項目做深做精做透。

另外,好奇題主是什麼專業的。


和題主背景比較像,ms第一年,坐標灣區,剛剛結束找intern,也是做ds。我這邊面到的基本是一半coding一半統計,還有一些關於該公司產品的open question,所以我覺得準備這方面工作主要就是leetcode medium+probability+statistical inference(比如各種test)+ML,然後刷刷公司的engineering blog裡面相關的內容,感覺就差不多了。實際上如果你在這幾個方面準備全一點,就算不能直接做ds,也可以先從data engineer入手,而且題主cs背景的話,做那種要寫一部分data pipeline的ds是最合適的。

然後ds的學歷要求也分你是哪一種ds和在什麼公司。一般偏純統計的比如Google的quantitative analyst就幾乎只招phd(昨天去他家internal的活動,他們的原話是"phd degree is not required, but phd training is important",感覺還是說要phd ),偏business analytics的比如fb和linkedin的非core-data scientist就挺歡迎ms的,身邊也有在那邊工作的ms學長學姐。

如果題主對web,system那些東西不是那麼感興趣,我覺得強行在上面花時間也沒有多大意義,以你的背景,完全可以在數據領域能進能退(前提是你喜歡)。

祝題主早日找到喜歡的工作。


題主的資歷是很厲害的,但是很不幸,目前對熱門一點的公司來說每天收到的cmu stanford之類學校的各種統計系計算機系master簡歷簡直看都看不過來。更不幸的是,同樣在投data scientist職位的名校phd們也很多。

不太清楚您本科是在哪裡讀的,如果是比較常見的國內名校美國ms的組合,那麼你的簡歷價值又會再打個折扣。做DS是需要理解business的,做DS也是很需要能把故事講圓的。只有兩年左右的美國教育和生活經歷很難培養出足夠的biz savvy和communication。

如果以熱門初創公司或者pre-ipo為目標的話,現實一點的路線是尋求machine learning engineer,data engineer,data analyst這樣的工作機會。前兩者要和cs科班的競爭,注意刷題。analyst要和很多商科背景的競爭,注意講故事和分析的能力。


我建議你去工業界實習一下。尤其是去個startup. 給多少錢不要太在意。小公司一般靈活。你去ds組做做。在dev組也轉轉,看看自己到底喜歡什麼。以後找全職的時候好好改改簡歷。這年頭ds都水了,好好改改簡歷沒有找不到的。


強答一個,我在linkedin上掛了AWS技能,亞馬遜有個recruiter發信給我,我看職位描述里寫了要做big data,但是職位還是software engineer。我以前面過KLA也是要招big data software engineer。僅供題主參考


想找大公司SE工作的話刷刷leetcode就好了。你可以選機器學習相關的組,簡歷上有了大公司經歷之後再轉DS會容易一些。其實兩個崗位界限沒有那麼分明的。

另外如果喜歡偏演算法研發的崗位,可以考慮去讀個PhD...


就我們了解到到情況來看,master還是有能夠找到DS title的崗位,但有幾個要求:

1. 技術和知識過硬,這個不用說。DS對python machine learning 和統計的要求都有,而且要刷題。要刷題。要刷題。至於刷到什麼境界,每個公司不一樣,普遍來說,刷到easy可以應付大部分企業了。我認識去面巨硬DS的,onsite4個小時,3個小時再考演算法。這個跟公司,甚至具體項目組有關,不具普遍意義。

2. 要有項目經驗。公司一般不認可學校裡面的course project。我知道Stanford或者伯克利的統計系有很多大project其實很有分量,但無奈,很多學校裡面的course project都很水...如果你是Stanford或者伯克利的話,那找你的師兄師姐推薦一兩個實習,不是問題。

3. 面試要練習。面試DS比較討厭,不像面試CS。CS面試是有套路的,但現在DS面試經常讓人摸不著頭腦。要多練習,才不會被臨場問懵。

這裡面的原因是什麼?我覺得是以下幾點:

一. DS並不是一個well define的領域

DS發展很快,一方面是跟Machine Learning,Deep Learning飛速發展相關,又跟大數據的發展有聯繫,還跟企業的如何利用DS有關。最後這一點不是每個企業都有統一的認識。Data Engineer還比較好定義,因為你面臨的問題就是數據量大,種類多樣,要求實時進庫,目標還算清晰。

但Data Science在企業里的角色是什麼?功能有哪些?為了實現這樣的功能,DS的Skill set應該有哪些?對這些的理解,其實還在動態的變化中,而且我覺得很多企業還是沒有想清楚自己到底需要DS來幹嘛,這就導致了在跟風招DS後,很多企業並不清楚怎麼用,所以更謹慎了,並且在這個DS的定義還在不斷變化的過程中,為了避免風險,企業傾向於招募基礎更好,更有學習能力的候選人。那麼這個時候,Phd會比剛畢業的master有優勢。

二. 不同的領域,對DS的要求其實不一樣,尤其是對domain的知識

很多DS崗位為什麼要求具有多個項目經驗的master? 那就是因為對domain知識有要求。醫藥領域的DS如果沒有任何的醫藥背景,我覺得還是不要去申請了;同樣,對於Fintech互聯網金融,你必須對收益率,risk management等很熟悉。

那麼這就為master求職DS提供重要啟示了:多做幾個實習,多做幾個項目。不見得是DS的實習,什麼DA,product analyst, 都可以。並且在面試中,一定要強調,自己有實際的經驗,對domain已經比較了解了,而且具備強大的自學能力。


目前Data Scientist的職位比較碎片化,各個公司的定義和期望不一樣,前面已有答主提到了微軟的data scientist的情況。這方面可以參考我在下面這個問題上的回答:

美國大型互聯網公司中的 Data Scientist 有哪些職業發展路線?

所以籠統地說適不適合去找data scientist的工作,是一個非常難回答的問題。不知道題主除了cmu的碩士學歷還有什麼其他背景情況可以介紹。要做一個好的software engineer其實是非常不容易的,更別說做一個有領軍能力的software engineer,所以如果題主本人對SE相關的領域和技能沒有特別的興趣,那麼未來走這條路也會非常辛苦。

題主既然說了自己對機器學習感興趣,那麼不妨試試看去走這條路。目前雖然職位上data scientist非常異構,但是和data science相關的課程、教材、論文、kaggle等非常多也非常方便獲得。萬變不離其宗,只要把概率統計、機器學習、大規模數據處理、可視化和有效溝通、R/Python的內功練好,無論哪個公司的data scientist職位都不是高不可攀的吧。


不說別的,簡歷石沉大海是常事。除非你是TOC統招就面上,否則基本上會埋沒在其他常春藤畢業生簡歷里。我認識的同學大部分都是投了三四百封簡歷才找著心儀的工作的。不要因為這個覺得自己不適合干某一行。


先刷leetcode,進了公司再弄其他方向。機器學習現在感覺泡沫太多,企業也是要PhD的多,先要有活命的本事,培養自己工程的能力。


是這樣的,career fair聊了一大堆公司,ds/ml基本都要phd。。。

樓主還是專心sde吧。。。


從市場需求上來看,純碼農和數據科學家都搶手。頭銜如果是數據科學家,必定傾向於phd,但是不用糾結於頭銜。比如數據工程師,或者數據分析師,聽著沒有科學家厲害,但是其實都會覆蓋相同範圍的工作,只是工作重點稍有不同。更多的還要看自己的資質和當時的人員結構,比如你有做某件事的資質並且適合,正常的公司不可能說死卡你的學歷,偏不讓幹嘛,公司內部流動性應該很大。所以如果你的興趣在此,還是有很多途徑來在工作崗位中做到的。

操作起來,先選公司,公司要有相應的需求和部門(別笑,不一定所有公司都有這樣的需求),盡量能大一點。然後可以走general碼農的入口,因為直接scientist的確卡學位,master稍微吃虧。進公司後選組再盡量挑偏緊這個領域的崗位,我知道的master甚至本科生從事數據科學相關的崗位很多,事在人為。

祝好。


可以找找data eningeering吧 不一定要走software


分頁阅读: 1 2