What do Machine Learning Engineers do and how are their jobs different from Software Engineers and Data Scientists? Chirag Mahapatra, a Springboard Mentor and Machine Learning Engineer at Airbnb explains how you can become a Machine Learning Engineer, what the hiring process looks like for a Machine Learning Engineer, and what qualities companies are looking for in a Machine Learning Engineer!
My Path to Becoming a Machine Learning Engineer
To be honest, when I started out I really wasn't intending to be a Machine Learning Engineer. I started out as a software engineer working primarily with data. I was lucky to work at Goldman Sachs and learned about a lot of things that are now known as machine learning. So that formed my experience, got me excited about this field, and from there I knew I wanted to continue in the machine learning field.
When I came to Silicon Valley I was really excited about all the things happening here. I thought it was an amazing place, so I decided to stay and find a job. I landed an opportunity at Amazon, where I got to work with the data platform and the forecasting team. There, I learned a lot about forecasting and what kind of metrics people look at. After that, I worked at Trooly, where I had the maximum exposure to machine learning. I focused a lot on data mining and data extraction. Airbnb later acquired Trooly, which is how I ended up at Airbnb working as a Machine Learning Engineer. I also mentor students going through Springboard’s AI / Machine Learning Career Track.
Machine Learning Engineer vs Software Engineer vs Data Scientist
A traditional software engineering role is generally meant to serve some sort of an application. In the case of Airbnb, the software engineering roles are more focused on ensuring that we are building new features which our customers can see, and ensuring that we have an adequate backend infrastructure to keep the site alive.
A Machine Learning Engineer focuses a lot on the machine and the infrastructure and the machine learning models and keeping them alive. Most machine learning engineers work on three main components:
- The infrastructure at inference time
- The infrastructure for training
- The infrastructure for annotation and labeling.
So you'll get an opportunity to build interesting models and shape the user experience in a different way.
Data Scientists, at least at Airbnb, are heavily focused on analytics and building data pipelines which help inform business decisions.
The Hiring Process for a Machine Learning Engineer
You might have one interview where you need to talk about the algorithms and the machine learning tools you use, so the hiring manager can evaluate whether you actually understand what machine learning is. There will be an interview about your experience, where the hiring manager will ask about machine learning systems you have built in the past, how you built them, and what could have been done better.
What Companies Like Airbnb are Looking for in a Machine Learning Engineer
At Airbnb specifically we are looking for:
- People who are curious and willing to learn,
- People who have a background in machine learning.
- Experience building machine learning systems is good and is really well appreciated.
- Skills to ensure that you can make a system work in production, and not just not just modeling skins,
- A good understanding of different experimentation frameworks is definitely a plus.
Everyone really likes a candidate who knows one thing really well. Machine learning is a field that is growing really fast. There's no way a person can be good at everything. I would say at the top what separates a great candidate from a good one is having a specialization, knowing one thing really well and being able to do that thing really well.
Transitioning from Data Science to Machine Learning
There are two types of data scientists.
1. Those that are focused a lot on analytics. For this data analyst, to get into machine learning will require:
- Getting much better at machine learning algorithms,
- Learning to code
2. Those focused more on algorithms and machine learning. It's probably easier for these data scientists to become Machine Learning Engineers. Here’s what you can do:
- If you’re already more focused on algorithms and machine learning, it would be good to learn a bit more coding, and how to build production systems.
- Having a project on your resume where you actually worked on a backend system and made sure that it scales would be appropriate experience.
Springboard just launched an AI / Machine Learning Career Track with a job guarantee, where students with a background in software engineering or data science can learn how to build and deploy large-scale AI systems.