# The Roles in a Data Science Team 資料科學團隊的分工與合作
## 📌 The three main data science careers
資料科學主要由三個領域組成:電腦科學(Computer Science)、數理與統計(Mathematics and statistics)以及商業領域知識(Business domain knowledge)。在不同需求和導向的企業中,領域間會有不同的分配和規模。

## 📌Data Scientist
### What is a data scientist?
資料科學家主要是在建立數學/統計模型,作為團隊預測和分析的需求。因為開發和詮釋模型需要極強的技術領域知識,所以資料科學家在電腦、數學和統計領域裡多數擁有碩博士以上(graduate level)的訓練及學位。除了擁有程式能力外,資料科學家也需要一定程度地對企業的商業模式和目標有所了解,如此才能根據企業需求建出高品質(high quality)的模型。
相較於現在新興的資料科學家,傳統的統計學家(statistician)也屬於資料科學家的一環,精通統計理論和知識的他們可以提供對於資料深層且有用的認知(insight),對於團隊是非常重要的存在。
### Data Scientist v.s. Data analyst
在某些企業或是團隊中,資料分析師(data analyst)會從資料科學家中獨立出來。打個比方,資料分析師就像是夏洛克·福爾摩斯(Sherlock Holmes),是團隊中「偵探」的角色,跟資料科學家不同的是,他們會更專注於分析資料的規律(patterns)和趨勢(trends)然後提出其商業上的考量。而不僅只有資料科學家需具備程式能力,資料分析師也需要精通諸如:R、Python、SQL等程式語言。
## 📌Data Engineer
### What is a data engineer?
資料工程師在團隊中是極其重要的角色,負責建立一致(consistent)和易取用(accessible)的[資料管線](https://hackmd.io/@Willie-The-Lord/Sym6lMv0O)給資料科學家去利用。另外,資料的獲取(data acquisition)和資料清理(data cleaning)也會歸類於資料工程師的職掌中。簡單來說,資料工程師負責資料從輸入(ingestion)、處理(processing)到存儲(storage)一系列的工作。
### What do data engineers need?
1. SQL-based technologies(e.g. PostgreSQL, MySQL)
2. NoSQL technologies (e.g. Cassandra and MongoDB)
3. Hadoop-based technologies (e.g. MapReduce, Hive, and Pig)
4. Python, Java, Scala...
5. Data warehousing solutions...
## 📌Machine Learning Engineer
### What is a machine learning engineer?
機器學習工程師具有資料科學,應用研究和程式的背景和技能,負責運行機器學習項目,也負責管理將程式投入生產所需的基礎架構和資料管線。機器學習工程師必須能夠「跨越數學和程式之間的界限」。
大部分的機器學習工程師在企業裡為軟體工程師缺,但與純粹的軟體工程師相比,機器學習工程師需要更深的資料科學知識與經驗。另外,機器學習工程師也常常作為資料科學家與軟體工程師間的橋梁。
### Introduction to Machine Learning
1. 基礎理論 e.g.最優化理論、正則化、資訊理論...
2. 監督式學習 e.g.決策樹、LR、Naive Bayes、fm、神經網絡...
3. 非監督式學習 e.g. 聚類分析(Cluster analysis)、DBSCAN、PCA...
### AI v.s. ML v.s. Deep Learning

## 📌Data Architect
### What is a data architecture?
資料架構是一系列的規則(rules)、規範(policies)和標準(standards)去規劃資料要如何運用、儲存、管理和整合在企業裡的資料系統中。
### What is a data architect?
顧名思義,資料架構師就是負責定義和規劃資料要如何去儲存、保護、整合和管理,其工作內容會跨越不同部門,一起協調整個資料架構的發展和建立。
## 📌Business Analyst
商業分析師的背景更為多元,相較於前面的工作,不太算是技術導向的職位,然而他們需要對於企業營運過程:銷售過程(the sales process)、預算過程(the budget process)和招人過程(the hiring process)等等有足夠深的了解。簡單來說,商業分析師除了要對資料有所了解外也要對商業上的營運有深刻的認知。

## 📌Conclusion
總結來說,資料科學團隊在分工與合作上有更多細節,也不能完全以二分法來區別各人員的工作職責。尤其是在資料科學領域中,很多知識和背景是重疊的,所以團隊意識與分工合作更顯重要,這也是資料科學領域為何如此迷人的地方。

## 📌Comments
Please feel free to correct my mistakes in the article😊.
If u have any further questions or cooperation opportunities, please contact me via
Email📬: willie880201044@gmail.com
## 📌References
1. ALPHA camp: https://reurl.cc/W3oa6x
2. Data Science Careers: The Roles in a Data Science Team: https://reurl.cc/xG8DQ1
3. What is data engineer? https://reurl.cc/KAokdy
4. 機器學習算法工程師技能樹介紹 https://reurl.cc/kZWjy3