ML Skills
The Ultimate Machine Learning System
Machine Learning Roles
Last updated on Jun 21, 2022

roles

In research, people are usually only interested in ML algorithms, but in production, they need to care about all the components of an ML system. And because there are different interests in the research environment and the production environment, the ML roles are also different in these two environments.

For the difference between ML in research and in production, please refer to this post Machine Learning In Production. In this Machine Learning roles post, we will talk about different ML roles in research and production environments.

Machine learning roles in research

Research scientist

A research scientist's job is to come up with unique, novel, and innovative ideas. This role typically requires a Ph.D. and/or first-author papers at leading ML conferences in the world.

Applied research scientist

Applied research is situated somewhere between research and production, but it is closer to research than production. Applied research involves solving real-world problems but not implementing those solutions in a real-world setting, and they require expertise in these problems.

Research engineer

This is a rare role that is found in large research laboratories. A research engineer's job is to use their engineering skills to set up and run experiments designed by research scientists.

Some teams do not distinguish between a research scientist and a research engineer. Research scientists must first and foremost be engineers. Both research scientists and research engineers generate and implement ideas. A research scientist may also serve as an advisor to research engineers who are conducting their own research.

Machine learning roles in production

Product owner

  • Responsibilities: Define goals and vision for ML projects.
  • Skills: Strategic vision, leadership, project management skills, subject matter expertise at work, stock examples, and a high-level understanding of ML to know what ML can be and cannot be resolved.

Product manager

  • Responsibilities: Ensure the ML project meets the set goals, timelines, and technical requirements.
  • Skills: project management skills, leadership ability, expertise on the subject at hand, high-level understanding of ML, and knowledge of ML systems.

Data scientist

data-scientist

  • Responsibilities: Use methods, processes, and algorithms to generate business insights from data.
  • Skills: deep math knowledge, statistical probabilities, real-world problem expertise (stocks) to apply ML to those problems, ML knowledge to interpret model output and behavior.

Data scientist vs. Data analyst

The responsibilities of data scientist and data analyst sometimes overlap and confuse people. In Lyft (opens in a new tab), they shift data analyst over to the data scientist title and also rebrand the data scientist job title to research scientist. In general, data scientist builds mathematical models and algorithms that power the core components of the product. Meanwhile, data analyst extracts insights from data, creates and manages the business and operational metrics, tracks the health of the business, and drives better decision-making.

Data engineer

  • Responsibilities: Build data pipeline, aggregate data, store data, monitor data.
  • Skills: using database, data management tools to know how to store/retrieve/process data, skills to deploy distributed systems to handle big data, minimal ML knowledge for optimization Efficient way to store data for ML applications.

ML engineer

  • Responsibilities: Train and deploy ML models.
  • Skills: Requires knowledge of probability statistics, and ML to understand data and evaluate models, and requires software engineering skills to write effective code, especially in data structures and algorithms.

This role is difficult to fill because it requires both skills in ML and software engineering. Indeed, some hiring managers would rather hire people who are great engineers but don't know much ML because it's easier for great engineers to pick up ML than for ML experts to pick up good engineering practices.

ML engineer vs. data scientist

data-scientist-vs-mle

MLEs, like data scientists, are likely to spend the majority of their time working on data during model training. However, there are significant distinctions between ML engineering and data science. A data scientist's goal is to generate business insights about the business, whereas an ML engineer's goal is to turn data into products. Data scientists are better probabilities, and MLEs are better engineers. MLEs must understand ML algorithms, whereas many data scientists can do their jobs without touching ML.

The table below summarizes those differences.

Data scientistML engineer
GoalGenerate business insightsTurn data into products
SkillBetter statisticianBetter engineer
ML needDependA must

MLOps engineer

  • Responsibilities: Deploy and oversee the ML system in production.
  • Skills: Mainly techniques from standard Software engineering.

MLOps engineer vs. ML engineer

As we know, the responsibility of MLE also includes deploying the ML model. However, while MLE focuses on writing code to run prediction, MLOps engineer focuses on the system and the techniques used to automate the process of deploying MLE's code prediction to the production environment. When the ML system or when the project is small, the MLE will usually take the role and responsibilities of an MLOps engineer.

ML infrastructure/platform engineer

  • Responsibilities: Build a distributed system to train large models with extremely large amounts of data using many servers with many parallel GPUs at the same time.
  • Skills: infrastructure, optimization in parallel computing, and distributed systems.

ML accelerator/hardware engineer

  • Responsibilities: Manufacture and optimize hardware that supports training and inference.
  • Skills: Related to hardware, using ML in hardware.

ML solutions architect

  • Responsibilities: Design and provide solutions for ML systems within the company or external customers.
  • Skills: Experience in all kinds of ML systems of all kinds of applications such as in Computer Vision, NLP, Recommendation systems, etc.

Developer Advocate, developer programs engineer

  • Responsibilities: Promote the company's ML-related products such as tools, and applications, to educate users, and make users aware of the company's products.
  • Skills: Good communication skills, and software engineering skills.

Skill map

To end this post, let's take a look at the table below which summarizes the typical ML roles in both research and production environments.

#RoleResponsibilitySkill
1Research scientistTo come up with original ideasDeep understanding of Maths, Statistics, ML
2Applied research scientistTo find solutions to practical problemsDeep understanding of Maths, Statistics, ML, subject matter expertise
3Research engineerTo use their engineering skills to set up and run experiments for these ideasMaths, Statistics, ML, Software engineering skills
4Product ownerDefines business goals and vision for ML projectsVision, leadership, product management, subject matter expertise, high-level understanding of ML
5Product managerEnsure ML project meets business, time, and technical goalsLeadership, product management, subject matter expertise, high-level understanding of ML
6Data scientistUse/build scientific methods, mathematical models, and algorithms to extract insights from dataDeep understanding of Maths, Statistics, subject matter expertise, and high-level understanding of ML
7Data analystExtracts insights from data, manages the business and operational metrics, and drives better decision-makingAnalytical, problem-solving, subject matter expertise, high-level understanding of ML
8Data engineerBuild data pipelines, aggregation, storage, monitoringExperience in using tools to save, query, process data, and use big data platforms; ML
9ML engineerTrain and deploy ML modelsMaths, Statistics, ML, Software engineering skills
10MLOps engineerDeploy and monitor production ML systemsSoftware engineering, ML

For another view of ML roles when arranged according to the required level of Software Engineering and ML skills, please take a look at the skill map below while you are skimming the ML roles in the table above.

skill-map