Data Scientist,資料科學家,太火了,已經成為新一代改變世界的職業,引得每一個人都想往這個方向轉。
學 CS 的覺得做碼農太底層,給人打工,要轉資料科學家,完美。
學統計的覺得這個不需要過多的 Coding,適合自己,要轉資料科學家,完美。
學商科的覺得終於自己也可以成為科學家了,要轉資料科學家,完美。
似乎每個人都覺得自己可以成為,應該成為,也一定能夠成為一名資料科學家。
然而現實呢?
一片混亂。
“Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it” — Dan Ariely
人們的想像之中的獨角獸
幾乎所有讚美資料科學家的人,都認為資料科學家是這樣一類人:
精通演算法。例如各種機器學習演算法(聚類,分類,NLP,CV,IR, etc.),理解統計的原理。
全棧開發能力。能夠完成從資料清洗,到產品上線的全部工作,且能做各種資料視覺化與報表。
有資深的領域知識。瞭解行業背景,企業運行規律,懂得 Business、Marketing、Finance、Operations 等等知識,能夠幫助企業做決策。
除了技術能力要求高,同時還要有相當的軟實力,比如溝通和寫作的能力,比如領導團隊的能力等等。
哇,真是全能的獨角獸。
可能有這樣的人嗎?當然,這個世界這麼大,出幾個超牛的人並不是沒有可能。
你可以追求成為這樣一個人,但是認為所謂資料科學家就等於這一類人,並沒有什麼意義。
但是,從現實角度來講,你並不需要成為這樣一個人才能為企業帶來價值。大量和資料相關的職責都被認為是和資料科學家相關的,因此,更重要的是,找到合適自己的位置,使用新技術解決問題,創造收益。
兩類資料科學家
是的,Data Scientist 並不是一個 Well Defined 的職位,在每個公司的職責都不一樣。但是,不論怎麼樣,這個世界上不可能憑空出現一個職位:這個職位所解決的問題是以前從來沒出現過的,也沒人知道該怎麼解決的。或許我們可以慢慢逼近人們想像中的那個全能的獨角獸,但現在,資料科學家所擔當的職責,一定會跟現有的職位大量的重合。
現實中的資料科學家是怎麼樣的呢?常見的資料科學家被分為兩類。引用 Quora 上
Michael Hochster
的一個回答:
Type A Data Scientist:
The A is for Analysis. This type is primarily concerned with making sense of data or working with it in a fairly static way. The Type A Data Scientist is very similar to a statistician (and may be one) but knows all the practical details of working with data that aren’t taught in the statistics curriculum: data cleaning, methods for dealing with very large data sets, visualization, deep knowledge of a particular domain, writing well about data, and so on.
Type B Data Scientist:
The B is for Building. Type B Data Scientists share some statistical background with Type A, but they are also very strong coders and may be trained software engineers. The Type B Data Scientist is mainly interested in using data “in production.” They build models which interact with users, often serving recommendations (products, people you may know, ads, movies, search results).
我對於這兩類的理解稍有出入,但也大體相同:
Type A 資料科學家:
偏 Analysis,一切為資料驅動的決策服務。主要的工作是在清理資料,做分析,找 Insight,做 Report 等等。可以說是某類升級版的 Analyst 或者 BD。
一方面這意味著對你的你要求跟做 BD 或 Analyst 的要求一樣甚至更高,對市場瞭解如何?對行業瞭解如何?對公司運作瞭解如何?而所謂 Machine Learning 等工具只是技術與手段,能夠幫助更好地解決問題,但是問題有哪些,才是根本的問題。
另一方面傳統 Analyst 不足的地方在於隨著資料越來越大,越來越複雜,如果要更快更准,需要使用更好的模型(機器學習等),在更原始的資料中探索與分析,不能只等待其他人把資料都處理好。因此需要更強的資料處理、分析能力和對於新模型、工具的掌握和理解。
往這個方向發展,要補齊 Marketing、Business、Finance、Operation 等知識,同時掌握各種機器學習的演算法與工具。
Type B 資料科學家:
偏 Research & Product,在演算法即產品的職責下讓演算法能夠與產緊密結合,甚至主導演算法驅動的產品。主要的工作是把演算法從 Research 做到 Product。
一方面要對各類機器學習的演算法瞭解足夠深刻,瞭解各種機器學習演算法的常見應用(NLP,CV,Recommendation,IR,etc.)。同時對工程要求更高,畢竟做 Prototype 和上 Production 是完全不一樣的。
另一方面要對產品的需求有更深層次的理解,以及瞭解公司的業務邏輯,因為隨著不少演算法的成熟,產品的需求已經不僅僅來自於 product-market-fit,而是來自於演算法本身的進步,因此能夠把成熟的演算法推向產品是非常重要的能力。
往這個方向發展,Coding 的要求與所有通用 Software Engineering 的要求一樣,該修 CS 課可能一樣都不能少,同時要能瞭解公司的業務邏輯,更好地推動產品的上線,讓不可能變成可能。
職業生涯的起步與發展
既然典型的資料科學家是兩類,那麼對照著這兩類對自己的技能樹查缺補漏就行。要麼補業務知識,要麼補代碼能力,要麼補機器學習相關的技術與工具。總之,不要一味追求所謂的新演算法,而沒有基礎的分析或者工程能力,這樣並不能解決任何問題,也不能帶來任何價值。
從一位分析師或者程式師開始職業生涯,都是很好的選擇。
然而,職業生涯的追求肯定不是一個 Title,而是某些能力,對照著理想中的獨角獸差缺補漏,確實是非常好的辦法。
雷鋒網按:原作者
陳然
,本文原載于作者的
知乎專欄
。