If you are interested in pursuing a career in AI and don't know where to start, here's your go-to guide for the best programming languages and skills to learn, interview questions, salaries, and more.
Machine learning engineers--i.e., advanced programmers who develop artificial intelligence (AI) machines and systems that can learn and apply knowledge--are in high demand, as more companies adopt these technologies. These professionals perform sophisticated programming, and work with complex data sets and algorithms to train intelligent systems.
While many fear that AI will soon replace jobs, at this phase in the technology's development, it is still creating positions like machine learning engineers, as companies need highly-skilled workers to develop and maintain a wide range of applications.
To help those interested in the field better understand how to break into a career in machine learning, we compiled the most important details and resources. This guide on how to become a machine learning engineer will be updated on a regular basis.
What is machine learning?
According to TechRepublic writers Hope Reese and Brandon Vigliarolo, machine learning is a branch of AI that gives computer systems the ability to automatically learn and improve from experience, rather than being explicitly programmed. In machine learning, computers use massive sets of data and apply algorithms to train on and make predictions.
Machine learning systems are able to rapidly apply knowledge and training from large data sets to perform facial recognition, speech recognition, object recognition, translation, and many other tasks.
- What is machine learning? Everything you need to know (ZDNet)
- Top 5: Things to know about machine learning (TechRepublic)
- Report: The 10 most innovative companies in machine learning (TechRepublic)
- Five steps for getting started in machine learning: Top data scientists share their tips (TechRepublic)
- IT leader's guide to the future of artificial intelligence (Tech Pro Research)
- IT leader's guide to deep learning (Tech Pro Research)
Why is there increased demand for machine learning engineers?
Demand for AI talent, including machine learning engineers, is exploding: Between June 2015 and June 2018, the number of job postings with "AI" or "machine learning" increased by nearly 100%, according to a report from job search site Indeed. The percent of searches for these terms on Indeed also increased by 182% in that time frame, the report found.
"There is a growing need by employers for AI talent," Raj Mukherjee, senior vice president of product at Indeed, told TechRepublic. "As companies continue to adopt solutions or develop their own in-house it is likely that demand by employers for these skills will continue to rise."
SEE: IT jobs 2018: Hiring priorities, growth areas, and strategies to fill open roles (Tech Pro Research)
In terms of specific positions, 94% of job postings that contained AI or machine learning terminology were for machine learning engineers, the report found. And 41% of machine learning engineer positions were still open after 60 days.
"Software is eating the world and machine learning is eating software," Vitaly Gordon, vice president of data science and software engineering for Salesforce Einstein, told TechRepublic. "Machine learning engineering is a discipline that requires production grade coding, PhD level machine learning, and the business acumen of a product manager. Finding such rare people can uplift a company from a follower into a leader in their space, and everyone is looking for them."
- Machine learning business use will double by end of 2018, report says (TechRepublic)
- AI investments will hit $232B by 2025, but businesses don't plan to cut jobs (TechRepublic)
- The 10 best tech jobs in America for 2018 (TechRepublic)
- The 10 IT jobs that will be most in-demand in 2020 (ZDNet)
- LinkedIn IDs machine learning as its most rapidly expanding job category (ZDNet)
- Google DeepMind founder Demis Hassabis: Three truths about AI (TechRepublic)
What are some machine learning engineer job roles?
Machine learning engineers can take a number of different career paths. Here are a few roles in the field, and the skills they require, according to Udacity.
- Software engineer, machine learning: Computer science fundamentals and programming, and software engineering and system design
- Applied machine learning engineer: Computer science fundamentals and programming, applying machine learning algorithms and libraries
- Core machine learning engineer: Computer science fundamentals and programming, applying machine learning algorithms and libraries, data modeling, and evaluation
- The 6 most in-demand AI jobs, and how to get them (TechRepublic)
- 6 tips for integrating AI into your business (TechRepublic)
- Why AI could destroy more jobs than it creates, and how to save them (TechRepublic)
- By 2022, 1 in 5 workers will rely on AI to do their job (TechRepublic)
- Soon, machine learning agents behind every application (ZDNet)
- AI impact: Rethinking education and job training (ZDNet)
What programming languages are best to learn to become a machine learning engineer?
Python and R are the most popular programming languages for machine learning, data science, and analytics, according to a KDnuggets survey. Python had a 66% share of voters who used the tool in 2018--an increase of 11% from 2017. Meanwhile, R had a 49% share in 2018, down 14% from 2017.
When developing machine learning applications, the training and operational phases for algorithms are different, as reported by our sister site ZDNet. Therefore, some people use one language for the training phase and another one for the operational phase.
"For 'ordinary machine learning,' it does not matter what language you use," Luiz Eduardo Le Masson, data science leader at Stone Co., told ZDNet. "But when you need to have real online learning algorithms and inferences in realtime for millions of simultaneous clusters and respond in less than 500 ms, the topic does not only involve languages, but architecture, design, flow control, fault tolerance, resilience."
- How to become a developer: A cheat sheet (TechRepublic)
- Five highly-paid and in-demand programming languages to learn in 2018 (TechRepublic)
- The 10 easiest programming languages to learn (TechRepublic)
- Which programming languages are most popular (and what does that even mean)? (ZDNet)
- The 10 coding languages top developers plan to learn next (TechRepublic)
- The 5 worst programming languages to learn in 2018 (TechRepublic)
- The 10 programming languages developers use most with Node.js (TechRepublic)
- The death of Ruby? Developers should learn these languages instead (TechRepublic)
- Programming languages: Python is hottest, but Go and Swift are rising (ZDNet)
- How to learn programming: 3 languages to get you started (TechRepublic)
- Which programming languages pay best, most popular? Developers' top choices (ZDNet)
What other skills are required to become a machine learning engineer?
Generally, machine learning engineers must be skilled in computer science and programming, mathematics and statistics, data science, deep learning, and problem solving. Here is a breakdown of some of the skills needed, according to Udacity.
- Computer science fundamentals and programming: Data structures (stacks, queues, multi-dimensional arrays, trees, graphs), algorithms (searching, sorting, optimization, dynamic programming), computability and complexity (P vs. NP, NP-complete problems, big-O notation, approximate algorithms), and computer architecture (memory, cache, bandwidth, deadlocks, distributed processing).
- Probability and statistics: Formal characterization of probability (conditional probability, Bayes' rule, likelihood, independence) and techniques derived from it (Bayes Nets, Markov Decision Processes, Hidden Markov Models). Statistics measures (mean, median, variance), distributions (uniform, normal, binomial, Poisson), and analysis methods (ANOVA, hypothesis testing).
- Data modeling and evaluation: Finding patterns (correlations, clusters, eigenvectors), predicting properties of previously unseen instances (classification, regression, anomaly detection), and determining the right accuracy/error measure (e.g., log-loss for classification, or sum-of-squared-errors for regression) and an evaluation strategy (training-testing split, sequential vs. randomized cross-validation).
- Applying machine learning algorithms and libraries: Standard implementations of machine learning algorithms are available through libraries, packages, and APIs (such as scikit-learn, Theano, Spark MLlib, H2O, and TensorFlow). Applying them effectively means selecting the right model (decision tree, nearest neighbor, neural net, support vector machine, ensemble of multiple models) and a learning procedure to fit the data (linear regression, gradient descent, genetic algorithms, bagging, boosting, and other model-specific methods), as well as understanding how hyperparameters affect learning.
- Software engineering and system design: Machine engineers are typically working on software that fits into a larger ecosystem of products and services. That means they need to understand how the different parts work together, communicate with the parts (using library calls, REST APIs, and database queries), and build interfaces for your piece that others can use. This involves knowing system design and software engineering best practices (including requirements analysis, system design, modularity, version control, testing, and documentation).
- Research: Companies lack skills to implement and support AI and machine learning (Tech Pro Research)
- The AI, machine learning, and data science conundrum: Who will manage the algorithms? (ZDNet)
- Developer documentation: How to get it right (ZDNet)
- 10 ways that IT pros and developers can keep their tech skills up to date (TechRepublic)
- Six ways to fix the IT skills shortage (ZDNet)
What is the average machine learning engineer salary?
Machine learning engineers in the US earn an average salary of $134,449, according to data from Indeed. In terms of AI-related jobs, it comes in third place for salary, after director of analytics ($140,837) and principal scientist ($138,271).
- The 10 highest-paying AI jobs, and the massive salaries they command (TechRepublic)
- The 10 best tech jobs that pay the highest salaries (TechRepublic)
- The 8 highest paid and most in-demand tech jobs in America in 2018 (TechRepublic)
- The 10 highest-paying gig economy jobs are all in tech (TechRepublic)
- Coding school doubles the salary potential for high school grads (TechRepublic)
Where are the hottest markets for AI and machine learning engineer jobs?
New York City has the highest concentration of AI jobs, with nearly 12% of all AI job postings found there, according to Indeed. New York also has the highest concentrations of data engineer, data scientist, and director of analytics job postings of any US metro area, potentially supporting the media, fashion, and banking industry centers located there, Indeed found.
Following New York City in AI job concentration is San Francisco (10%), San Jose, CA (9%), Washington, DC (8%), Boston (6%), and Seattle (6%). San Jose has the most postings for machine learning engineers in particular, along with algorithm engineers, computer vision engineers, and research engineers.
- The top 10 cities where job seekers want to move (TechRepublic)
- Here are the 15 best cities for women in tech (TechRepublic)
- The top 10 cities where tech workers can make the most money (TechRepublic)
- The 10 best cities to start your new career (TechRepublic)
What are some typical machine learning engineer interview questions?
Those applying for machine learning jobs can expect a number of different types of questions during an interview, testing their skills in mathematics and statistics, data science, deep learning, programming, and problem solving.
Some questions that a machine learning engineer can expect to be asked during an interview include:
- What have you been working on for the past few years?
- What AI and machine learning tools are you familiar with, and how proficient are you in them?
- What do you do to stay on top of changing technologies?
- How do you clean and prepare data to ensure quality and relevance?
- How do you handle missing or corrupted data in a dataset?
- What are the ethical implications of using machine learning?
It's also important for the job applicant to arrive at the interview with questions for the hiring manager, Dave Castillo, managing vice president of machine learning at Capital One told TechRepublic.
"An interview is a two-way conversation," Castillo said. "Just as important as the questions that we ask are the questions that candidates ask us. We want to ensure that not only is the candidate the right choice for the company, but the company is the right choice for the candidate."
- How Skype is making it easier to conduct technical and coding interviews (TechRepublic)
- 10 questions developers should ask employers during a job interview (TechRepublic)
- Throw out the whiteboard: 3 ways to improve the technical interview (TechRepublic)
- AI and machine learning take centre stage at Microsoft's student developer competition (ZDNet)
Where can I find resources for a career in machine learning?
There are different paths into a career as a machine learning engineer. A good place to start is by learning a programming language like Python, R, or Java. For machine learning specifics, a number of Massive Open Online Courses (MOOCs), online programs, and certifications are available, including classes on Coursera and edX, and a nanodegree from Udacity.
You can also gain practical experience through doing real projects on real data, on sites like Kaggle. Joining local organizations such as meetups or hackathons to learn from others in the field can also help.
- Facebook and Udacity want to give you a scholarship to master machine learning (TechRepublic)
- Photos: 20 best resources for learning how to code (TechRepublic)
- Coding school graduates: Are they worth hiring? (TechRepublic)
- 3 tips to spot a fraud coding bootcamp and choose the right one (TechRepublic)
- LinkedIn launches AI Academy to bolster internal AI skills (ZDNet)
- Veterans: Here's which coding bootcamps will accept your GI Bill (TechRepublic)
- 3 iOS apps for learning to code in bite-size lessons (TechRepublic)
- How Google's Grasshopper app can help professionals learn to code for free (TechRepublic)
- How to implement AI and machine learning (ZDNet special feature) | Download the PDF version (TechRepublic)
- Five ways your company can get started implementing AI and ML (ZDNet)
- 5 tips to overcome machine learning adoption barriers in the enterprise (TechRepublic)
- Why AI and machine learning need to be part of your digital transformation plans (ZDNet)
- How GDPR will change the way we build machine learning algorithms (TechRepublic)
- CIO's guide to data analytics and machine learning (free download) (Google Cloud white paper)