How to Become a Machine Learning Engineer in the Applied Space
Updated: Oct 7, 2020
The machine learning engineer is the top job in the world and that trend will likely continue for quite some time. The pic below is from Indeed, a popular job board.
If you're interested, check out this post on the top roles in this space.
How do you get there? The answer depends on what skills you already have. If you aren't in an IT role and don't have programming skills then you are looking at 5-8 years before you're in a real-world role. If you are in a shortcut role, like a SQL programmer, DBA or Python developer then your learning curve will be less.
Machine learning engineers are highly technical people. The skills you'll need for the basic role are wide and deep.
One of the best ways to get a feel for any job is to look at real-world job requirements. Let's check out one below. What are some of the core components of this job?
Core Job Components for a Machine Learning Engineer
I've been researching the top skills required for a book I'm authoring on handling the technical machine learning engineering interview. That book is now included in my platform as part of the course. Here are a few themes I've found after analyzing several hundred jobs.
Education - Education is often listed first. Most companies want at minimum a bachelors in something. I doesn't have to be an IT related degree. The only time you need to pay attention to this requirement is when they put a requirement beside the title. For example, many AI research roles require a PhD.
Experience - The second requirement is experience. This will be dependent upon the role, however; most companies want some real-world experience.
Languages - Machine learning engineers are programmers. We use languages, libraries and frameworks. In the post above, notice they require knowledge and experience with Python, a popular machine learning library known as NumPy and SQL. Almost all applied machine learning is supervised learning, and that means we build our models against existing data. No data skills (think SQL), you'll have a hard time in any real-world IT role and no chance attaining a real-world role as a machine learning engineer.
Cloud - Most companies are either moving to the cloud or have some type of hybrid environment. That means some of their IT infrastructure is in the cloud and some is on-premise or locally owned by the organization. The big three cloud vendors are Amazon, their cloud is called AWS, Microsoft, their cloud is called Azure and Google, their cloud is called GCP. The majority of the roles I analyzed had a cloud requirement.
Libraries and Frameworks - A library in Python is a group of pre-bundled code you can use to extend the functionality of the language. In addition to the libraries, you'll need to know the frameworks. Think of a framework as the engine. A framework can live on it's own, a library needs a language. The most famous framework is Tensorflow. This is Google's framework for building artificial neural networks. The pic below has a few common libraries.
The question I see often is... how do I get their without being in an IT role? There is no easy answer. My suggestion is that do whatever you can to attain an entry level role. Common entry level IT roles are data analyst roles and help-desk roles. The data analyst role is good choice because you get hands on experience using SQL. It's not so great because most companies don't treat it as an IT role. A help-desk role is great because you attain an understanding of how IT shops operate. The bad part about a help-desk role is that the role will rarely use SQL.
Without SQL skills, I guarantee you'll have a hard time working in the applied space.
The barrier to entry in this space is high. Without basic technical skills, you'll have a hard time making is past most phone screens.
Here's a real-world example. I was consulting for a company who hired a PhD level data scientist. His resume was great but he couldn't perform the most basic IT functions. He couldn't RDP into a server. He used improper nomenclature when asking for the most basic things. He didn't know how to map a drive. He didn't know how to craft the most basic queries to retrieve the data he needed for his models. That means another developer had to author the queries for him. That didn't make the developers happy at all. The people around him are pressing for the company to get rid of him. This is a bad situation for everyone.
There are two ways to avoid this. You start at the bottom and work your way up. You work for a larger company where you're isolated and protected from IT. It's no secret that many top level data scientists that work at Google, Microsoft… other top companies are coddled. I recently worked on a project at Microsoft with several of their data scientists and while their theoretical background of those I worked with was top-shelf, their real-world technical acumen wasn't.
Great. So how do you get started?
Set some realistic expectations.
Get a job working in an IT shop or as a data analyst. Any role you can use SQL in the real-world is a great role.
Learn SQL. In the applied space most data related tasks are SQL centric.
Learn Python and the core ML libraries. Stay away from deep learning for now.
Attain some basic cloud skills.
In conclusion, the approach you take will depend on you. You are responsible your career and I'd suggest spending some time becoming familiar with this space prior to making a decision. There is no easy path. Think about it for a second. Why would a company be willing to shell out 200K or more if the role was easy to do? They wouldn't. If you've made up your mind and are want to become a machine learning engineer and work in the real-world then bookmark this site.