What if machines could learn like humans do?
It’s long been a question asked by computer scientists and creators of science fiction alike. The seminal films “2001: A Space Odyssey” and “The Terminator” both envisioned the (quite devastating) consequences of advanced forms of artificial intelligence (AI) becoming self-aware and empowered with human-like reasoning.
Artificial intelligence and machine learning, explained
In the real world, AI and machine learning (ML) algorithms are behind more benign applications such as chess-playing programs, virtual assistants that use speech recognition to understand verbal queries, and computer vision capable of interpreting the contents of photos and videos. ML is a subset of AI. It refers to statistical models and algorithms that are applied to data sets, with minimal or no human supervision.
The central notion is that ML-powered applications can keep adapting as they are fed more data, obviating the need for explicit re-programming to extend their capabilities. For example, artificial neural networks (usually called just neural networks) attempt to approximate the workings of actual brains by continuously learning from examples and making inferences without needing specific instructions for each one. Particularly elaborate neural networks form the basis of deep learning, a subset of ML that should yield more accurate results, albeit at the cost of more extensive training.
The rapid advancement of both AI and ML, which have real and proposed applications in every field from agriculture to academic assignment assessment, has fueled substantial demand for software engineers and data scientists who specialize in these fields. At the same time, the third and more specialized role of machine learning engineer has also emerged, with competencies that bridge the domains of software engineering and data science.
Machine learning engineers: What they do and why they’re unique
A machine learning engineer builds software that supports ML applications. In that respect, they’re similar to the other software engineers who develop products such as web and mobile apps and cloud computing architectures. However, their work also draws upon data science, a multidisciplinary field in which writing code is just one means to the end of extracting and understanding insights contained in large sets of information.
By synthesizing the principles of programming and data science, machine learning engineers carve out a distinct niche, as professionals who are well-versed in the specialized aspects of ML (e.g., computer vision, model training, etc.) as well as general software development. In day-to-day practice, this blended expertise translates into a potentially wide range of responsibilities, including:
Data science-adjacent tasks
- Loading data from CSVs, PDFs, and other common file formats into ML models created by data scientists.
- Developing and training these same models, which have parameters for how to interpret data, in tandem with data science teams.
- Performing tasks such as back-propagation for neural networks
- Analyzing the data going into these models and then thinking about how it might be applied to different use cases.
- Optimizing ML models and programs to ensure top-notch performance and scalability to many terabytes (or even more) of data.
- Making sure that there are reliable connections between databases and various back-end systems, so that data flows properly.
- Reviewing any code that data scientists and/or other machine learning engineers have written, to see if it’s debuggable, scalable, and generally maintainable.
- Understanding the statistical principles, including probability and different kinds of distributions, that underpin ML algorithms.
- Recognizing potential pitfalls in ML algorithms, including overfitting and underfitting, as well as various relevant biases and variances.
- Selecting and working with programming languages that have machine learning libraries, and possibly adding even more functionality to them.
- Moving a trained ML model into the production environment in which it will actually run on a daily basis.
- Coding the algorithms that power ML applications, giving them the ability to search for and sort results in datasets.
- Writing custom machine learning code that handles tasks such as delivering a response to an end user of a natural language processing app.
- Building application programming interfaces (APIs) that correspond to the model and allow other programs and services to connect to it via API calls.
- Overseeing the creation and maintenance of data storage for machine learning models.
- Handling system design to ensure scalability of ML algorithms and avoid performance-related bottlenecks.
- Performing testing and version control of any ML-related applications and services.
- Creating documentation on how an ML- or AI-driven systems works, so that others can reference and to it.
- Applying other computer science fundamentals, including the development of data structures (such as stacks) and computer architectures (bandwidth, cache, etc.), as needed.
A machine learning engineer is ultimately responsible for building working ML software. That means that they should produce production-level code that makes a theoretical model and its use cases viable in everyday usage.
Job titles for machine learning engineers may vary, e.g. they may be hired simply as software engineers who specialize in ML and AI. However, their roles always differ from those of machine learning researchers and data scientists, who do not put technologies into production and instead have a more theoretical focus. An ML engineer is first and foremost a software developer, even though some of their work involves studying data science principles.
How much do machine learning engineers make?
Like software engineers in general, machine learning engineers earn salaries that are comfortably above the average compensation for all U.S. professions, while also having a positive employment outlook for the near future. According to the employer review site Glassdoor, the national average earnings for a machine learning engineers are more than $121,000, although there is some significant variance between locales.
The U.S. Bureau of Labor Statistics (BLS) does not maintain a dedicated category for machine learning engineers. However, it has several analogous listings that can be applied:
This catch-all category includes anyone who develops computer applications and systems. In 2018, its median pay was $105,590. Plus, for the period from 2018 to 2028, total employment for this occupation was expected to grow 21%, or much faster than the average for all professions. Demand for mobile apps and healthcare-specific software will drive this growth. ML engineers have important roles to play on both fronts, as programs ranging from virtual assistants like Siri and Alexa to health apps that use ML for diagnosis are all on the rise.
Computer and information research scientists
This grouping encompasses the typical responsibilities of the data scientist and ML researcher roles. Workers in this category will focus on finding novel uses for technologies, improving applications and systems, and analyzing the results of data science experiments and operations. Computer and information research scientists earned a median of over $118,000 in 2018, according to the BLS. Their ranks were expected to expand by a robust 16% from 2018 to 2018.
Computer and information systems managers
Professionals in this category are similar to the one above, except in more senior capacities. Many have graduate-level degrees, like the online Master of Science in Engineering (MSE) from the University of California, Riverside (UCR). They oversee the direction of an organization’s IT strategy and may manage personnel such as data scientists and machine learning engineers. The BLS estimated their 2018 median compensation at $142,530 and foresaw 11% growth from 2018 to 2028, which while lower than that of software developers or information scientists is still above the rate for all occupations.
How do I become a machine learning engineer?
Machine learning engineers typically have at least a bachelor’s degree in a related field like computer science. A graduate degree may also help gain additional experience and expertise for managerial and more senior roles.
The UCR MSE is a completely online program that offers multiple specializations, including ones in data science and electrical engineering, both of which are relevant disciplines for AI- and ML-oriented work. MSE students in the data science specialization will choose four courses from the following selection:
- Foundations of Applied Machine Learning
- Application of Visualization in Data Science
- Data Mining Techniques
- Advanced Computer Vision
- Statistical Computing
- Statistical Mining Methods
- Machine Learning
- Information Retrieval & Web Search
- Data Visualization & Big Data Tools
These classes are in addition to the program’s quartet of core requirements, which collectively on issues in both the managerial and technical aspects of modern engineering. The core consists of:
- Engineering in the Global Environment
- Technology Innovation and Strategy for Engineers
- Introduction to Systems Engineering
- Principles of Engineering Management
The entire program is eligible for expedited completion in as little as 13 months of study.
Some machine learning engineers also have official certifications. These credentials are available from some academic institutions and technology providers, such as public cloud computing provider Amazon Web Services (AWS). For example, the AWS certification process allows machine learning professionals to learn more about the platform’s capabilities related to deep learning, chatbots, and more.
Adding an MSE and a certification to a relevant undergraduate degree can set you up well to pursue a role as a machine learning engineer. To learn more about the UCR MSE Data Science track, visit the program overview page, where you can download a copy of our brochure, or apply now today.