Sitting at the intersection of data science and software engineering, machine learning engineering is a relatively new and rapidly evolving field that rewards analytical thinkers and technical problem-solvers.
As a growing number of industries turn to artificial intelligence and automation—from the rise of recommendation algorithms in entertainment and retail to the self-learning computers of self-driving cars—machine learning engineers find themselves at the forefront of combining data with computer science to help organizations optimize their products and services.
Ranked the best job in the U.S. in 2019 by Indeed, machine learning engineers enjoy high salaries and even higher industry demand. Read on to learn more about the roles and responsibilities of a machine learning engineer.
What is a machine learning engineer?
A machine learning engineer is a type of computer programmer who is also equipped with foundational data science skills. Where a data scientist will analyze a dataset to tease out actionable insights for stakeholders, a machine learning engineer will design the self-running software that makes use of that data and automates predictive models. In other words, machine learning engineers are the connective tissue between data and software, creating programs that allow machines to function without direct human assistance.
As the bridge between data models and the software that makes use of them, machine learning engineers are uniquely positioned to help organizations become more efficient, make use of customer insights, deploy image and speech recognition technologies, and protect against risk, fraud, and other data-informed anomalies.
What does a machine learning engineer do?
The responsibilities of a machine learning engineer will vary depending on the industry, organization, and team within which they work. While the main responsibility across the board is to combine data science with computer science fundamentals to design, build, and maintain machine learning systems, this can take many different forms depending on the project type.
For example, virtual assistants such as Apple’s Siri, Amazon’s Alexa, and Microsoft’s Cortana rely on core machine learning technologies such as natural language processing and information retrieval to understand what a person is saying. A machine learning engineer working with voice-based virtual assistants would thus have a greater focus on language models, automatic speech recognition technologies, and machine translation accuracy.
Meanwhile, a machine learning engineer working on self-driving car technology for an automaker will have to research, design, and deploy deep learning models that help a vehicle’s computer recognize what’s around it and navigate the road autonomously. Instead of focusing on natural language processing like an ML engineer working on Siri or Alexa might, there would be a greater focus on computer vision and deep learning models that can help the computer perform visual recognition tasks such as segmentation and detection.
Get To Know Other Data Science Students
Machine learning engineering job description
The job descriptions for machine learning engineers are as varied as the machine learning tasks required across different organizations. Companies such as Amazon hire machine learning engineers in multiple divisions, from Amazon Web Services (AWS) to Alexa, to Amazon Studios, to its core retail business.
Likewise, Facebook also requires machine learning engineers with domain expertise for its virtual and augmented reality products, its ads business, and its family of apps that include Instagram, WhatsApp, and Messenger.
Some of the commonalities between machine learning engineer job descriptions include the expectation to collaborate with others in a team (particularly alongside data scientists and researchers, software engineers, product managers, and marketers), an understanding of data infrastructure and data pipelines, and the ability to build end-to-end machine learning applications to help an organization address its particular needs.
A job listing at Amazon for its Sponsored Products Allocation and Pricing Team requires a successful candidate to be able to perform all of the above, in addition to working with a variety of technologies such as TensorFlow, SciKit, Spark, EMR, AWS, and Lambda. A machine learning engineer job listing at Apple for its Media Products Team requires the aforementioned technical skills in addition to excellent communication, interpersonal, and presentation skills.
What skills do you need to become a machine learning engineer?
Companies hiring machine learning engineers typically require candidates to hold at least a bachelor’s degree in computer science, mathematics, statistics, or a related field. Roles involving deep learning and computer vision can require advanced degrees.
The skills needed to become a machine learning engineer fall into two buckets: data science skills, and computer science skills.
- Data science skills
A candidate should have experience with coding languages such as Python, Java, Scala, or C++; be able to wrangle data by writing algorithms that can search, sort, and optimize; query datasets; develop and test hypotheses; evaluate models; understand regression models, and tease actionable insights from big data.
- Software engineer skills
A candidate should be a confident coder who can write machine learning algorithms, understand computability and complexity; understand computer architecture such as memory, clusters, bandwidth, deadlocks, variance, classification, and cache; and be able to work with data structures such as stacks, queues, graphs, trees, and multi-dimensional arrays.
Due to the collaborative nature of the machine learning engineering role, many organizations also expect their machine learning engineers to have a variety of soft skills such as strong communication, leadership, time management, and teamwork.
How much do machine learning engineers earn?
Machine learning engineers are some of the most sought-after professionals in the field of artificial intelligence, so it’s no surprise that they command a competitive average salary.
Entry-level machine learning engineers who have up to four years of experience earn on average around $97,090, with cash bonuses and stock options bumping the total compensation to around $130,000 or more.
Mid-level machine learning engineers who have between five to nine years of experience earn on average around $112,095, with cash bonuses and stock options raising the total compensation to around $160,000 or more.
Senior machine learning engineers who have a decade or more experience earn on average $132,500, with cash bonuses and stock options raising the total compensation in excess of $181,000.
Common machine learning engineer job roles
Machine learning engineers commonly fall into one of three categories, each performing slightly different functions.
- Core machine learning engineer
This type of ML engineer is expected to have strong computer science and programming skills and tends to focus more on data modeling and evaluation and applying machine learning algorithms and libraries.
A Facebook job listing for a core machine learning engineer describes a successful candidate for the role as being able to “apply relevant AI and machine learning techniques to build intelligent systems that improve Facebook products and experiences.”
A similar role advertised at Apple describes a successful candidate as being able to “help create and enhance Apple’s deep learning development tools and software libraries.”
- Software engineer – ML
Unlike core and applied machine learning engineers, who spend more time on applying algorithms and modeling data, software engineers with a machine learning specialization tend to devote more time toward software engineering and system design.
An Etsy job listing for this role calls for someone who can help the company build better tools to help buyers find what they’re looking for and to “improve the rankings and suggestions of localized results through machine learning algorithms.”
A similar role at VSCO requires a successful candidate to “develop scalable models and product features related to search, algorithmic discovery, personalization, and recommendation” and “develop and improve VSCO’s machine learning pipeline.”
- Applied machine learning engineer
This role also requires a strong background in computer science, with a heavy emphasis on applying machine learning algorithms and libraries.
A Twitter job listing for this role requires that a successful candidate be able to “apply data mining, machine learning, and/or graph analysis techniques to a variety of modeling, relevance, and recommendation problems.”
An Apple listing for an applied machine learning engineer to work on its health apps has the successful candidate “defining, designing, implementing, and evaluating algorithms involving unique data and objectives.”
Since you’re here…
Curious about a career in data science? Experiment with our free data science learning path, or join our Data Science Bootcamp, where you’ll get your tuition back if you don’t land a job after graduating. We’re confident because our courses work – check out our student success stories to get inspired.