文章最後更新於 2022-10-07
資料科學家 Data Scientist,曾經在2012年的哈佛商業評論裡,資料科學家被稱為21世紀最性感的職業!
在這個資料量指數型成長的時代,資料裡掏金成為每個公司不可或缺的角色!
Uber, Google在找哪種人當數據科學家?薪水有多少呢?需要具備什麼技能?未來職涯發展如何?
我在文中,有舉Google, Uber的徵人要求。
從自動駕駛車、臉部辨識、商業中的推薦系統,甚至是Amazon藉由模型來預測購買人的消費行為。
提前將貨,送到消費者家附近的倉庫,藉此提升物流速度,並且大大提升消費者的滿意度!達到可以隔日、當日送貨!
在這篇文章中,我也會分享我之前做過的卷積神經網路的Project!
美國求職攻略
希望陪你走過美國求職馬拉松,整理了我自己、朋友的經驗,幫助你在逆境中,找到好工作!
內容包含:簡歷、LinkedIn、相關準備資源、準備面試的方法,希望讓你在美國求職路上更順暢。
- 找工作資源彙整
- [美國求職] #0 美國面試資源彙整,必備15個網站、2本書、4個Projects
- [美國求職] #1 北美科技產業市場,SDE? DE? DS? DA? BA?
- Resume & LinkedIn
- 面試準備
- [美國求職] #4 Amazon, Google面試,常見的3個面試流程
- [北美求職] #5 如何準備面試?實用技巧?需要多少時間準備?
- 職涯剖析系列
- Data Analyst: [數據分析師 Data Analyst] 薪資最高不是Google?
- Data Engineer: [資料工程師Data Engineer]年薪20萬美元?Meta在找哪種人?3個技能要求
- Data Scientist: [資料科學家Data Scientist] 年薪薪水20萬美元?Uber在找哪種人?職涯發展
- Full Stack Engineer: [全端工程師Full Stack Engineer] Meta, Google薪水不是前五?職涯發展
- Backend Engineer
- Machine Learning Engineer
- 學習資源推薦
歡迎訂閱我的IG: @nyc.engineer.jack
文章目錄
日常工作
Josh Wills說,資料科學家,比軟體工程師更懂統計,但比統計學家,更懂寫程式!
但其實數據科學家,每個人、每間公司給出的答案都不太一樣!
數據科學家,要掌握的核心技能,主要有三大塊:Computer Science, Math & Stats, Domain Expertise。
工作流程
常見的工作流程可以簡化成6個步驟:
- 釐清問題
- 溝通需求與目標
- 拆解問題,設定假說驗證
- 清理資料
- 建立模型
- 模型的迭代與優化
其中,步驟一到四,大概會花整個專案的70%的時間,最後的30%才是建立模型!
步驟一:釐清問題
在初步,很多時候,可能會有不同的Team來找Data Scientist解決問題
可能是Martketing, Product 或是Business, Lead Team!
但不論是哪個Team提出問題,都要先釐清問題!
我們Team的例子
Product Team就來找我們說,請問目前我們Product
舉辦線上活動時,提交報名的人,不一定都會出現
這時候,我們就會想了解線上活動的出席率。
「釐清問題」:目前平台的線上活動,出席率
步驟二:溝通需求與目標
在釐清問題完後,要溝通對方團隊的需求,
並且了解目前
- 有沒有資料可以使用?
- 需要開始蒐集資料嗎?
我們Team的例子
目前我們沒有蒐集,線上活動的點擊資料
所以我們就需要開始蒐集點擊的資料,並且整合到目前的Data Pipeline裡,
我們可以藉由Zoom的紀錄,來了解參加的100人中,
有多少人實際點擊了Zoom Meeting的按鈕,
來了解線上的出席率!
步驟三:清理資料
確定有資料後,接下來,就要開始清理資料
要確保有正確的資料可以使用,並且有了資料工程師Data Engineer幫忙
接下來要根據資料的邏輯依序清理
- 過濾離群值
- 傳連不同個體的特徵
- 建立標籤邏輯
步驟四:拆解問題,設定假說驗證
當有了乾淨的Data後,就可以進行分析!
首先要根據目標提出假說!
前四個步驟,也是整個專案最花時間的步驟,
大概會花整個專案70%的時間,最後的30%才是建立模型!
步驟五:建立模型
最後當團隊取得共識,知道要解決的問題是什麼,有完整的故事,提出解決方案!
當一開始建立模型時,第一部會先做Baseline Model,
這是一個很簡單、可靠的方式,去驗證資料的品質。
例如:Linear Regression, XGBoost等
當基礎模型建立好後,就可以專心提升模型了!
步驟六:模型的迭代與優化
最後,就是看這個專案有沒有其他的需求,或要提升模型的準度!
設計模型的時候,很強調「快速迭代」,也就是進行試誤
不論是特徵工程、其他的演算法,都應該從簡單到複雜
建立簡單的Prototype,進行POC(Proof of Concept)
延伸閱讀:[北美求職] #2 英文履歷的5個原則、履歷範本,美國科技公司注重什麼?
開發Data Product
在工作中,很常會建立Data Product,以Data 為核心的產品,常見的有推薦系統、搜尋引擎….等。
常見的流程
- 找到不同來源的資料
- API
- 爬蟲
- 資料庫
- 清理資料(通常這個步驟會花最高比例的時間
- 去極端值
- 去缺失的data
- 資料正規劃Normalization
- 儲存資料在資料庫(Data Base)或是資料湖(Data Lake)
- 資料庫
- 資料湖
- 分析資料:找出規律、特徵、解圖資料的意義
- 規律:Pattern
- 資料分布:Distribution
- 建立模型 Modeling
- 迴歸分析
- 分類
- 驗證
- (optional)將模型部署在應用程式中(例如推薦系統
- 產生報告:這裡會使用資料視覺化的工具
技能需求
技術技能
Python or R語言
Python 跟R語言,很適合做一開始的資料清洗。
並且可以簡單地將資料的極端值去除,觀察資料的特性,
而且這兩個語言,都有很多Machine Learning Model跟統計的套件,
在後期建立model時,都可以輕鬆的調用不同的model!
課程推薦:Complete Python Bootcamp From Zero to Hero in Python
資料庫管理系統SQL
多數公司的資料,都是放在資料庫裡,
要取得公司的資料,就會需要使用SQL。
特別是有大量使用者資料的資料庫,是不太可能下載資料到本機端分析
通常都會在Redshift(為海量資料設計的資料庫)裡,做複雜的分析!
最後再將分析的結果產出報告。
課程推薦:The Complete SQL Bootcamp 2022: Go from Zero to Hero
數學與統計
機器學習Machine Learning
在人工智能的領域中,其中一個分支「機器學習」,
透過演算法,講資料進行分類、預測,並且訓練出模型!
常見的模型有:Logistic Regression, SVM, Random Forest
機器學習的種類有
- 監督式學習(supervised learning)
- 非監督式學習(unsupervised learning)
- 半監督式學習(semi-supervised learning)
- 增強式學習(reinforcement learning)
我的Deep Learning Project
我碩士的時候,就有跟同學做Deep Learning的應用,
用卷積神經網路CNN模型,做圖像辨識,辨識紐約市排放廢氣的建築物!
這個模型困難的地方在於,要分辨出 雲、廢氣、建築物陰影!
有興趣的話,可以參考我和我同學的網站:Plume Detection(圖片的煙霧會動喔!
統計與數學 Statistics & Math
統計是資料科學家必備的技能,在工作中,不同產業中,
可能會用統計來做假設檢定,來驗證許多假說!
或是計算風險、可能性、預測模型的顯著與否,都需要基本的統計觀念!
延伸閱讀:[北美求職] #2 英文履歷的5個原則、履歷範本,美國科技公司注重什麼?
資料視覺技能
資料視覺化Data Visualization
當資料處理完後,最後一個步驟就是視覺化資料!
如果公司是使用Window環境,很有可能最常用的工具是Power BI(算是強化版的Excel
但多數的公司都會使用Tableau,作為資料視覺化的工具
提供很多直覺的拖拉工具,讓使用者很輕鬆的可以拉出有意義的Report!
課程推薦:Hands-On Tableau Training for Data Science
軟性技能
這會因為不同產業,而有所不同,不過大致可以歸納成
- 產業知識 Domain Know how:如果在藥廠工作,有基本的背景知識,處理起資料就會相對更容易。
- Presentation:當處理完資料,最重要的就是Insightful Report,這時候呈現報告的能力就會很重要。
- 溝通能力:處理資料時,常常需要跟不同部門,要不同來源的資料!很多時候,也會需要跟產品經理、工程師、管理階層合作!
市場需求
產業一:雲端、資料科學
因為大數據的發展,3V,數量Volume、速率Velocity、真實Veracity的概念,就需要大量、快速、真實的資料。
並且儲存在一個地方,可以快速地取得資料,並且有效率的分析資料!
雲端的計算,就會減少公司維護資料系統的時間,減少很多維護成本!
以雲端為主的資料科學、機器學習平台,提供資料科學家,
可以更輕鬆、有效率的處理、分析資料!
產業二:資料科學自動化
在資料科學中,很多資料都需要很多複雜的前置處理
才會有乾淨的Data,這些重複性的工作,就需要設計自動化的系統
去處理資料,同時在模型的部署上,也需要自動化,
才能不斷地提供Updated Model。
產業三:自然語言處理
對於語意分析,一直都是很熱門的領域,
最近在深度學習Deep Learning的蓬勃發展下,讓機器可以更複雜、非線性的學習能力
像是Tensorflow提供裡實用的平台,可以實踐深度學習的演算法!
產業四:推薦系統
不管是電商、媒體串流平台,推薦系統都佔有非常重要的地位
推薦系統,幫助使用者,更快的找到他們想要的內容!
常見的Amazon, Netflix 都在這個領域中,建立很有效率的推薦系統。
常見的資料科學家背景
例子一:Google Data Scientist
根據Google這個職缺描述,專業主要需要統計、物流研究、生物資訊、經濟、物理、電機等領域。
要求碩士學歷,並且有兩年的相關經驗,更傾向博士學歷的求職者,並且有四年的相關工作經驗!
技能則要求,Python, R跟資料庫語言SQL!
例子二:Uber Data Scientist
在Uber的職缺描述,要求碩士+一年專業工作經驗,或是學士+2年以上的專業工作經驗。
除了技能要求,Python, R跟資料庫語言SQL!
還希望求職者有A/B Testing的背景。
延伸閱讀:[北美求職] #2 英文履歷的5個原則、履歷範本,美國科技公司注重什麼?
薪資分析
當然,在看薪資的時候,還要額外考慮
- 當地的物價(加州、紐約、德州
- 當地的稅(加州、紐約最高、西雅圖不用繳州稅
所以折合上述的兩個因素,更能算出實質的消費力、存錢率!
在薪資中,有時候公司會包含
- Base
- Bonus
- Stock(很多科技公司會分4年給
- Sign On Bonus
- 其他福利(托嬰服務、某些藥廠給予買房優惠
全美平均薪資
這是Glassdoor蒐集全美的統計資料,根據很多人提交自己的薪資的統計,
我們可以看到整體在不同產業的平均是$123,928,
但是不同地區、產業、公司,都會不太一樣!
所以接下來,我會分別對於公司、地區來做更深入的觀察!
哪一間公司給的薪水最高?
從Indeed統計中,我們可以發現Wish給了快要平均兩倍的薪資,Wish 是一家電商購物app,由Google跟Yahoo出來的工程師在2011年設計的app!
Meta則是第三名!
但其實這都只是平均值,在薪資談判時,會根據你
- 面試的好壞
- 過去的經驗
- 應徵的職缺等級
來決定你的薪資。
所以當你知道市場平均,就更有談判的籌碼!
哪一個州的薪水最高?
根據Indeed的資料,上圖,我們可以明顯看到加州,平均薪資,在全平均之上,還有亞利桑那州地區也是比平均還高!
比較讓我意外的是,紐約只有在平均值!
從這個統計資料中,可以看到洛杉磯、休士頓、華盛頓,都給的非常高。
而且前三名中,休士頓,不用繳州稅,所以其實實質所得會比洛杉磯更高!
職涯發展
近年來,因為大數據產生,資料的取得性越來越容易,雲端的運算能力,也隨之提升!
讓普通人,也能輕易的、低成本的使用強大的運算電腦!
資料科學在不同的領域也有發展
- 醫療領域
- 個人領域
- 零售領域
個人金融領域:
信用卡公司
信用卡公司開戶的時候,需要建立模型幫助公司做決策
例如根據用戶的年齡、歷史支付紀錄、信用種類、信用的使用率
最近是否申請了信用評分,最終根據信用評分,來決定使否用戶可以開通信用卡。
智能機器人投資
另一個例子,則是智能機器人投資,現在市面上有很多這樣的公司
利用演算法,根據使用者能承受的風險,預期的報酬
去規劃適合使用者的投資組合,不但如此,還能依據市場的變化
不斷的重新更新投資組合的比例,來降低風險、提高報酬率!
醫療領域
在醫療領域上,疾病的檢測為例,可以利用大量疾病的數據
使用資料科學的方法,去更有效率的鑑定病理
進而設計治療方案!
可以提高醫生的判讀能力!
未來發展
由於這個職稱是相對於Software Engineer比較新的職位,對於整個職涯階梯
每個公司都還不太一樣,甚至業務範圍都不太一樣!
但根據Glassdoor的統計,可以看到常見的職涯階梯
- Data Scientist
- Senior Data Scientist
- Lead Data Scientist
- Data Manager
- Data Director
如何成為Data Scientist?
要成為數據科學家,需要具備上述的能力,
要準備很多技能,但在不同的階段,也有不同的準備的方法!
我針對兩種常見的情境,說明該如何準備
情境一:如果你還是學生
如果還是學生的話,可以選Data Science相關的Degree,
或是選跟Data Science相關的課程,Machine Learning, Cloud Computing, Distributed System, Spark, NLP…..等
很多學校都提供相關的Progeam。
- 選相關的Degree
- 找相關的Intern
情境二:如果你已經是專業人士,想轉Data Scientist
很多Data Scientist的背景,都是Data Anlayst或是統計學家、商業、經濟。
但他們都有共同的特點:解決問題、溝通問題、利用資料設計產品。
- 如果還沒有上述的技術能力,可以先上課準備技能
- 如果已經有上述的能力,可以先轉Data Analyst,再轉Data Scientist
如何累積作品?
可以去資料科學最大的社群平台Kaggle,很多人在找資料科學家的工作時,
都會展現他們在Kaggle的作品、建立哪些Model!
資料分析師、資料科學家、資料工程師,差在哪?
從上面這張圖,我們可以看清楚不同職位的合作,與整個Data Project流程。
接下來我會針對這三個職位,背景與能力,來解釋不同之處!
找出問題:Data Analyst
Data Analyst負責找出問題,並且分析第一步!
資料分析師,是資料領域中的初階職位,背景多為有統計、數據、資訊相關的學士畢業生,
也有很多是碩士轉職畢業生。
他們需要的技能是,資料處理,並且做資料建模(Data Modling),並且視覺化資料!
用資料,幫助公司作出Data Driven的商業決策!
比較常用的技能有:Excel, Tableau, SQL等技能!
延伸閱讀: [數據分析師 Data Analyst] 薪資最高不是Google?職涯發展、日常工作、3個技能需求
設計解決方案:Data Scientist
Data Scientist通常在知道問題後,就會負責找出解決的方法,
並且設定假說,並且驗證假說。
資料科學家,通常需要比較多的資料科學領域的經驗!
很多公司都偏好有多年專業經驗、或是博士畢業生。
他們主要負責統籌資料的處理、解析、預測,藉由模型,來解決複雜的商業問題!
主要需要的技能有:統計、模型訓練、機器學習、Python等。
延伸閱讀:[資料科學家Data Scientist] 年薪薪水20萬美元?Uber在找哪種人?3個技能要求、職涯發展
建立自動化流程、系統架構:Data Engineer
Data Engineer更專注於Data Pipeline的系統設計,
還有設計可以Scale up的資料流,讓系統可以順利處理TB, PB等級的資料
確保每個Team可以使用這些資料!
資料工程師,多數都是資料領域、資工領域畢業的碩士畢業生,
或是多年在後端工作的工程師。
他除了需要處理資料,還需要設計大數據的系統架構,
自動化整個資料處理流(Data Pipeline),還有需要設計API!
延伸閱讀:[資料工程師Data Engineer]年薪20萬美元?Meta在找哪種人?3個技能要求、職涯發展
歡迎訂閱我的IG: @nyc.engineer.jack
北美求職攻略
- 美國求職文章
- [北美求職] #0 找工作面試資源,必備15個網站、2本書、4個Projects
- [北美求職] #1 北美科技產業市場,SDE? DE? DS? DA? BA?
- [北美求職] #2 英文履歷的5個原則、履歷範本,美國科技公司注重什麼?
- [北美求職] #3 LinkedIn教學,提升找工作效率的3個技巧
- [美國求職] #4 Amazon, Google面試,常見的3個面試流程
- [北美求職] #5 如何準備面試?實用技巧?需要多少時間準備?
- 職涯分析
- Data Analyst: [數據分析師 Data Analyst] 薪資最高不是Google?職涯發展、日常工作、3個技能需求
- Data Engineer: [資料工程師Data Engineer]年薪20萬美元?Meta在找哪種人?3個技能要求、職涯發展
- Data Scientist: [資料科學家Data Scientist] 年薪薪水20萬美元?Uber在找哪種人?3個技能要求、職涯發展
- Full Stack Engineer: [全端工程師Full Stack Engineer] Meta, Google薪水不是前五?職涯發展
- Backend Engineer
- Machine Learning Engineer
- 美國求職教學
- 履歷準備
- 面試準備
- 薪資談判
- LinkedIn教學
- 薪資、公司評價、求職網
- 求職常見問題:
- 職場發展
- Resume&LinkeIn講座影片
- 服務