How to Land a Job as a Machine Learning Engineer: A Comprehensive Guide
Getting a job as a Machine Learning Engineer is by no means an easy task. However, it is completely doable if you have the patience and discipline to navigate the complexities of this field. The bad news? You’ll need to study a lot to land a job in a tech company. The good news? There is a significant shortage of skilled Machine Learning Engineers, even in big tech, and the salaries are astonishingly high. Is it worth it? For many, the answer is a resounding yes. But ultimately, that decision is up to you.
So, How Do I Start?
Know Your Basics
Before even thinking about applying for a position, you must have a solid grasp of the fundamentals. And by basics, I don’t mean advanced concepts like Convolutional Neural Networks or K-Means clustering. I’m talking about essential computer science principles: algorithms, data structures, programming languages (preferably Python), debugging, testing, version control, and cloud computing. The list goes on.
Remember, a Machine Learning Engineer is, first and foremost, a Software Engineer. You are not a Data Scientist or a Data Analyst. To build a solid foundation, I recommend starting with an excellent course on Python programming from Coursera and another on Algorithms and Data Structures from Udacity.
Know Your Machine Learning
While understanding the basics is crucial, familiarizing yourself with machine learning concepts is also important. Start with basic algorithms such as regression, decision trees, and K-Means clustering. Get hands-on experience with data preprocessing and modeling. However, don’t get too caught up in complex theories; companies generally seek developers who can code and build machine learning pipelines. In fact, machine learning constitutes only about 5% of the entire pipeline work.
For further learning, check out these courses on Coursera and Udacity. Additionally, for a more comprehensive list of resources, you can explore my free course, which outlines all the steps you need to take to get started with machine learning. You can subscribe here.
Get Experience
Assuming you’ve mastered the basics, the next step is to gain practical experience. Start working on personal projects that interest you—perhaps predicting Bitcoin prices with neural networks or implementing quicksort on a massive dataset. Participate in Kaggle competitions and consider taking on small freelance gigs.
The key is to build projects from scratch, encompassing everything from the database and server to the deployed API in production. This hands-on experience will provide you with a holistic understanding of the entire stack and all components of the pipeline. Trust me; no course or lesson can match this level of insight.
Build Your Portfolio and Resume
Now that you feel confident and have worked on real-world projects, it’s time to build your resume. However, your resume should not just be a PDF document. It should be a personal website showcasing your projects and courses. Create a LinkedIn account with up-to-date information about yourself, and maintain a GitHub profile containing all the code you’ve written over the past months. Consider starting a blog to showcase what you’ve learned along the way. Ideally, it should encompass all of the above.
This is how you will grab the attention of recruiters from your dream company. This is what hiring managers will discover when they Google your name.
Prepare for Coding Interviews
Now comes the not-so-fun part: preparing for coding interviews. Don’t assume that you know what you’re doing, even if you have a master’s degree from MIT. Let me reiterate: you must prepare.
If you feel confident in your algorithms and data structures skills, grab a copy of Cracking the Coding Interview (the bible for software interviews) and create an account on LeetCode. Start practicing with easy problems. Aim to devise a brute force solution first, then optimize it. When you hit a wall, think about alternative data structures you could use or refer to the book for similar problems. But don’t give up.
As you solve more problems, you’ll begin to identify patterns, allowing you to tackle medium and even hard problems. How many problems should you solve? The more, the better. If you aim to work at a FAANG company, consider solving around 150 problems. Otherwise, aim for about 50.
Additionally, simulate the actual interview experience as soon as possible. Set a timer and articulate your thought process out loud as you solve problems.
Study System Design
Another integral part of interviews is the system design round, where you describe how you would build popular architectures like Instagram or Netflix. This round evaluates your technical abilities, background, and general knowledge, so it’s not something you can learn overnight.
You can start by diving into the system design of the 10 most popular apps and then attempt to design a different one. Repeat this process until you feel confident. Emphasize machine learning architectures, such as recommendation systems or search autocompletion, as this is where companies will test your ML background. Keep in mind that this discussion will be high-level.
Apply
The final step is to start applying for jobs. While you can submit applications through a company’s online platform, don’t expect immediate results. To expedite the process, focus on three strategies:
-
Find Recruiters on LinkedIn: Send them a friend request expressing your interest in a position. Let your CV, GitHub account, and website do the talking. Be subtle; express your interest in the company and ask for an informational call.
-
Ask for Referrals: If you have a friend working in a tech company, ask them for a referral. Referrals are the number one source of new hires in America.
- Attend Job Fairs and Networking Events: These can provide valuable connections and opportunities.
Alternatively, consider freelancing instead of joining a big company. This allows you to choose your clients and projects, and sometimes the payment can be even better. If you’re curious about rates, the Machine Learning rate calculator from Toptal can be a helpful resource.
Conclusion
Is that it? Is it that easy? Not quite. It’s a long process that requires courage and determination, especially in the face of rejections. But don’t let that discourage you. Every successful person has faced rejection at some point. Remember, timing and luck do play a role, but ultimately, your hard work will pay off. And that’s not a matter of timing or luck; it’s a certainty.
Deep Learning in Production Book 📖
Learn how to build, train, deploy, scale, and maintain deep learning models. Understand ML infrastructure and MLOps using hands-on examples. Learn more.
Disclosure: Please note that some of the links above might be affiliate links. At no additional cost to you, we will earn a commission if you decide to make a purchase after clicking through.