People with machine learning skills are in high demand. According to Forbes, the global market for Machine Learning Engineer jobs is projected to grow at a compound annual growth rate of 42.8%. And that’s no surprise because machine learning is now used in nearly every industry — from healthcare to agriculture to energy.
If you’re excited about artificial intelligence, algorithms, coding, data, and automation, a career in machine learning could be the right fit for you. It could also give you an average salary of $114,579, a figure that’s expected to increase by 13% by 2026.
So it should come as no surprise that there can be a lot of competition if you’re trying to land a job as a Machine Learning Engineer. The good news is that, while there’s no singular path to getting hired, there are a few tried and true ways to increase your chances of landing your dream job in this exciting field.
First, narrow down the industry you want to work in
As a Machine Learning Engineer, you can take your pick as far as which industry to work in — machine learning is used in finance, manufacturing, transportation, healthcare, food and beverage, advertising, energy, and automotive just to name a few. So we suggest focusing your job search on one or two sectors that you’re really interested in.
For example, if you’re a career changer who worked as a bank teller, you might consider looking for a position with a finance company. Your background could bring a unique perspective to the company, and give you an advantage during the interview process.
While you’re narrowing down which industry you want to work in, you’ll also want to consider the size of the companies you’re looking at. Larger companies may have more opportunities for advancement, but you may have a narrow scope of responsibilities. At small-to-midsize companies, you may have more responsibility, which has its own pros and cons.
Learn, learn, learn
Machine Learning Engineers have a particular set of skills, no matter which industry you decide to work in. And the competition is high, so you really have to know your stuff to land a job.
In addition to knowing a handful of programming languages — Python being the most popular language for machine learning — you’ll want to focus your learning on basic computer science principles. You should have a strong grasp of algorithms and data structures, data visualization, statistical modeling, quantitative analysis, and cloud computing.
Other programming languages and some typical tools you’ll see listed on machine learning job descriptions include R, C++, Java, TensorFlow, Pytorch, Scikit-learn, NumPy, Pandas, Apache Spark, and OpenCV.
Each company will have its own requirements, but to prepare for a career in machine learning, you can brush up on or learn new skills you frequently see in job posts.
Get experience
Once you feel confident in the basics, you can look for ways other than a full-time job to gain experience. This might look like a personal project, freelance gig, or volunteer work.
Don’t worry if you can’t find a project or volunteer work that specifically involves machine learning. Can you find a company looking for a Python programmer for 10 hours a week? Great — that’s real-life coding experience that will get you one step closer to a full-time role.
Build a strong portfolio
Creating a portfolio that showcases all of your best work is one of the most productive things you can do to increase your chances of getting hired for any technical position. It’s how you’ll grab the attention of the hiring manager and prove you can do the job they’re looking to fill.
Your portfolio should include sample projects as well as a GitHub profile containing all the code you wrote over the past several months. If you’re looking for project ideas or ways to add work to your portfolio, a number of our Skill Paths have portfolio projects built into the curriculum, like Analyze Data with Python and Build Deep Learning Models with TensorFlow.
One bonus of building a robust portfolio is that you gain a lot of experience while working on all the projects you include in your portfolio. Also, your portfolio will include a lot of the same information that you’ll put on your resume, so spending some extra time on your portfolio will probably make building your resume a bit easier.
Prepare for the interview process
Being prepared for each step of the interview process is crucial. It’ll usually kick off with a phone screening where you should be prepared to answer why you’re interested in the position, as well as questions about your background and your familiarity with certain tools you’d use on the job. If this screening goes well, the next step is oftentimes a technical interview.
Technical interviews are more in depth, and you’ll be asked a variety of questions related to machine learning, as well as other technical and behavioral questions.
A few tips for the technical interview:
- You’ll most likely be given a challenging scenario during the interview and asked how you’d approach it. They may ask about how you would preprocess, augment, and acquire data. You may also be asked to execute the code on a computer or given a whiteboard or sheet of paper. So you might want to practice hand-writing code to be prepared for different scenarios.
- You should expect to be asked to solve a larger technical task. This might be something you’d do over a day or two and turn back in. Before turning in your code, write a short report that outlines the steps you took to solve the problem. Clarify which code you wrote and which code you copied and pasted, and be sure to add functionality to the code you pasted into your project.
Hiring managers expect you to use some existing code but also want you to demonstrate what else you can do. Don’t forget to include tests for the code you wrote.
- There’s always a chance that you won’t know the answer to a question. Prepare for how you’ll respond if you don’t know, and don’t let that influence the rest of your interview.
One way to respond to questions you don’t know the answer to is to explain how you would find the answer. Discuss what resources you might use and your general approach to dealing with knowledge gaps.
Getting a job as a Machine Learning Engineer is an involved process that requires a chunk of time, but it’s worth it! Not only is your earning potential high, but you also have the option to work in a lot of different industries on a variety of challenging and interesting problems.
Interested in going down this path? Check out some of Codecademy’s machine learning courses and brush up on your skills.