Not only are machine learning engineer positions in high demand, with companies willing to pay top dollar for the right engineers, but responsibilities for these roles have greatly diversified. As you prepare for interviews, you are likely looking at all of these positions and figuring out where you fit.
In this article, by Jameson Merkow, Principal Software Engineer, Microsoft Health and Life Sciences — Medical Imaging AI, we provide a brief overview of different areas within machine learning engineering to help you sort through the required skills and responsibilities of these positions.
Jameson is an experienced leader in AI with over 15 years of experience in AI system design. He has spent over a decade working hands-on in computer vision and deep learning projects. Jameson has a passion for healthcare ML systems. He is proficient in multiple programming languages and frameworks and has a deep interest in managing, growing, and mentoring teams of software engineers.
Here’s what we’ll cover in this article:
- What Factors Should You Consider When Evaluating an ML Engineering Role?
- Machine Learning Engineering Roles: Product vs. Research
- Machine Learning Engineering Roles by Company Size
- Machine Learning Engineering Roles by Business Profile
What Factors Should You Consider When Evaluating an ML Engineering Role?
As you are looking for that new position in machine learning, you have probably noticed a wide variety of responsibilities with little or no correlation to the job title. What’s expected from, say, an ML Engineer can be completely different between Company A and Company B. Even at the same company, the same job title can have completely different responsibilities.
This inconsistency makes looking for the perfect role tricky, and you need to dive a little deeper into what makes these roles so different. When evaluating a role, team, or company:
- Determine if it is a product or research-focused role
- Investigate the team’s (or company’s) size and stage
- Learn as much as you can about their business profile
We’ll look at all the factors to consider under each of these parameters.
1. Machine Learning Engineering Roles: Product vs. Research
Let’s focus on the difference between a product- vs. a research-focused role.
ML Product Engineers
As the name suggests, ML product engineers work on actual products that are, in some way, sold to customers (people or businesses). These products must be useful to be sold.
ML products are goods or services that:
- Require ML components to operate (e.g., an autonomous vehicle)
- Enhance existing products (e.g., fraud detection in financial transactions)
- Or generate some business insight (e.g., improving ride-share matching to increase productivity)
Products are meant to be profitable, i.e., their value must be greater than their cost. There are productivity requirements (scale) and budgetary constraints to do this.
ML Research Scientists
Conversely, research scientists do not work on products directly. Instead, they work to expand the body of knowledge by discovering new techniques or answering novel questions.
- Work to prove or disprove some hypothesis
- Share their results with others (often through publication or internal whitepapers)
- Work to find solutions to open-ended problems (often significantly so) without productivity or budgetary concerns
ML Infrastructure Engineer
Most roles fall on a spectrum between these two definitions. Most companies working in ML require constant technological growth. While a researcher would create any new technologies needed for building a new product, an ML product engineer would need to understand the technology well enough to productize it.
There is an inherent trade-off between these two sides of development, and a new position has arisen to reduce the barriers between research and product: ML infrastructure engineer. These engineers:
- Create platforms and tools to help product engineers perform research
- Help researchers commercialize their ideas into products
Thus, you should first find out which side of the product-to-research spectrum does the role you are applying to fall.
2. Machine Learning Engineering Roles by Company Size
Another major factor in determining a role's responsibilities is the size or stage of the company itself.
Machine Learning Engineering at FAANG+ or Well-funded Startups
Working for larger companies like FAANG+ or well-funded startups has several advantages:
- Brand recognition and higher pay scales
- Roles’ responsibilities tend to be narrower, clearly defined, and more specialized
Hence, you might need a smaller breadth or in-depth knowledge for the role you are applying for. The downside is that these advantages attract a lot of applicants, making the competition extremely high.
The interviews tend to be more challenging with harsher evaluations since these companies can afford to (and often need to) filter out a large number of applicants. The good news is that conducting many interviews has made the interview loops more predictable, making them easier to prepare for.
Machine Learning Engineering at Newer Startups
On the other side of the spectrum are newer startups. Building ML products and services require a wide variety of skills. In large companies, these skills are covered by multiple specialized personnel. However, startups do not have the budget to hire one engineer for each role, so they search for candidates with a well-rounded, diverse skill-set.
Most startups attract only a fraction of the candidates for a given job posting compared to large corporations. This constraint leads to a more thorough and personalized interview for candidates who apply.
The advantage is that this process tends to be more forgiving, and startups evaluate you holistically, with fewer required qualifications. However, startups typically have a less polished interview process with arbitrary evaluation, making these interviews harder to prepare for.
As expected, there are exceptions to these rules. For example:
- Many large companies have smaller teams that operate similar to a startup
- Or startups may have built well-defined loops, especially those started by industry veterans
Many companies have yet to construct a consistent pipeline in the face of the rapidly growing ML industry. Thus, identifying the stage of the company becomes vital in your journey to prepare for a position at it.
3. Machine Learning Engineering Roles by Business Profile
Another attribute to consider when preparing for interviews is the business profile of the company or team. A business profile includes two parts:
- What you are selling (the product profile)
- Who you are selling to (the customer profile)
Vertical vs. Horizontal Product Profiles
In product profiles, there are two main categories — verticals vs. horizontals:
- Verticals are applications or services that solve a particular problem for the customer
- Horizontal is a tool that helps a company build its applications
For example, Amazon Web Services (AWS) almost exclusively sells tools to help others develop their products. Conversely, Netflix sells an entertainment service (which uses AWS tooling).
Vertical-based roles require a great depth of domain knowledge (within that vertical). Interviews for vertical roles will include an in-depth discussion of that domain (for example, healthcare AI or self-driving cars).
Horizontal-based roles involve a lot of different disciplines, and interviews for these positions will concentrate on a lot of “what-if” scenarios.
Customer Profile — B2B vs. B2C
When considering the customer profile, ask yourself:
- Is this a consumer-facing company or B2B?
- Do they sell ML products to consumers or sell products to other businesses?
Consumer products use marketing to sell their products to individuals. Such teams do not have any engineering staff that interacts with customers. On the other hand, enterprise (or B2B) products are sold individually to other businesses, often tailoring the product to each new business, requiring a solution architect/engineer to interact with customers and modify or enhance the product for their use case.
Each of these profiles has different requirements for its engineers/scientists, which leads to varying priorities during interviews. Hence, you should identify these profiles and tailor your preparation accordingly.
However, even with varying requirements of the role and different approaches taken by companies, there are still some common interview scenarios that you should be aware of. All the interviews for an ML engineer position would consist of some combination of these rounds, which we will cover in a separate article.
Crack Your Next Machine Learning Interview
If you need help with your prep, join Interview Kickstart’s Machine Learning Interview Course — the first-of-its-kind, domain-specific tech interview prep program designed and taught by FAANG+ instructors. Click here to learn more about the program.
IK is the gold standard in tech interview prep. Our programs include a comprehensive curriculum, unmatched teaching methods, FAANG+ instructors, and career coaching to help you nail your next tech interview.