
Shivam Anand is a seasoned machine learning engineer and technical leader with nearly a decade of experience at Meta and Google. He’s worked across integrity, ads, fraud detection, and video search, building ML systems that operate at trillion-event scale. His recent focus is on adversarial ML, using multimodal LLMs to defend against sophisticated bad actors. Shivam is passionate about making ML interviews more transparent and helping candidates navigate them with confidence. You can connect with him on LinkedIn.
I’m Shivam Anand, currently leading machine learning engineering (MLE) efforts at Meta, focused on integrity, recommendation, and search systems. Over the past decade, I’ve applied state-of-the-art ML to some of the toughest challenges in big tech—from scaling anti-abuse systems at Google Ads to rebuilding ML systems for Integrity enforcement at Facebook.
I’ve worked across a wide spectrum of ML teams: infra-heavy environments where we built real-time pipelines processing trillions of events, research-oriented initiatives involving LLMs and graph modeling, and applied ML settings focused on ranking, personalization, and abuse detection. My experience includes deploying systems that replaced thousands of handcrafted rules with ML, improving precision/recall across key metrics while reducing infra cost by 90%+.
Why write this? I’ve seen first-hand how the nature of ML work varies massively across team types and career paths. This guide is my attempt to map that space for others navigating (or considering) careers in ML—especially those targeting roles in big tech.
I will cover different ML team types, the kinds of roles you’re likely to see on those teams, how interview processes vary for ML roles, and how to make the lateral move from a software engineering role to an MLE one.
Disclaimer: As with any topic as broad as this, I’ve had to use sweeping generalizations. You can probably find exceptions to all of these.
All ML teams in big tech can be placed on a spectrum along two key dimensions: infra focus vs. ML focus and research vs. application.
A team can be ML-adjacent, such as an ML infrastructure team that builds tooling, model training pipelines, or deployment frameworks. Some examples include:
On the other end of the spectrum, a team may be focused on direct ML contributions, where improving model quality is the team’s core charter. Some examples include:
Many teams start off with a hybrid focus—handling both infrastructure and modeling—but eventually split into specialized teams as their scope and scale grow.
A research-focused ML team concentrates on advancing the state of the art in areas like computer vision, natural language processing, or reinforcement learning. Their work often results in papers, new techniques, or reusable components that support multiple product teams. Examples:
An application-focused team, on the other hand, owns a specific product or business metric. Their success is measured by KPIs such as click-through rate, time spent, or revenue. Examples:
Most ML teams consist of 2 kinds of ML engineers.
ML Specialists: These engineers specialize in a particular area of ML, like LLMs, Image modeling etc. Think of them as the go to expert within the team for their area of expertise.
ML Generalists: These engineers are excellent in a broad range of ML techniques. While she might not be able to get us to SOTA performance on a particular topic, it’s expected that she will get us to 80% performance across a wide range of topics. It’s expected for an ML generalist to be the only ML engineer in a small team with other non-ML engineers.
Each team needs a mix of generalists and specialists. The exact composition depends on where the team lies along the two dimensions above. Teams closer to infra need strong systems engineers and infra-minded ML practitioners. Teams focused on applied ML need deep product context and iterative modeling expertise. Research-heavy teams prioritize publication-quality rigor and often have PhDs specializing in foundational areas.
At a high level, most ML interview loops include a mix of the following:
However, the emphasis placed on each varies based on team type and the nature of the ML role:
Infra-focused teams have an emphasis on:
Applied ML teams have an emphasis on:
Research teams have an emphasis on:
Generalist MLE roles have a breadth-first interview structure with the expectation of:
ML Specialist roles have a depth-first interview structure with the expectation of:
My area of expertise is scaling ML, which emphasizes ML system design. So, I'll do a deep dive on those interviews in this post.
An ML system design interview is designed as a conversation to discover the edge of your knowledge. Unless you’re being interviewed for a very specific role in a specialized team, your interviewer does not know if you’re an ML specialist or a generalist going into the interview.
Your interviewer will be assess your performance on these focus areas:
Your interviewer will put together the same question to you, and you will be assessed along the same set of dimensions. You will get a chance to show off both your breadth and depth as an ML Engineer. While we expect some breadth and depth from all engineers, your comfort with these informs your interviewer of your specialization.
You’ll need to cover all 5 focus areas, the composition and relative weights of these areas will be different.
An ML generalist will be able to cover a wide breadth of generic techniques applicable to a wide problem set.
In contrast, an ML specialist has limited breath but is able to focus on depth in their area of expertise.
Here are some example ML system design mock interview replays from our collection:

While there’s no fixed path to an ML role in Big tech, what I’m sharing here is a common path to being in an ML role in Big tech for non ML engineers, while getting paid along the way 🙂
Step 1: Leverage your existing skills to get into Big Tech Big tech has lots of support to upskill yourselves, including support for learning ML. If you’re a non ML engineer looking to switch into ML and Big tech, I suggest focusing on switching into Big tech first, then leveraging the resources inside the company to learn ML.
Step 2: Work in an ML-adjacent team Irrespective of your current focus areas, there are teams which work on ML which can leverage your skills.
Examples:
Step 3: Take ownership of ML components of projects over time This can start with taking ownership of one of the aspects mentioned earlier, like A/B testing, or a simple retrain of an existing model.
Pro tip: Leverage your manager to open ML opportunities for you.
Step 4: Explore! Switch teams to gather broad experience across multiple ML teams I’ve personally worked on ML on Google apps, Google Search, Ads Traffic quality and Facebook Trust and SafetyWith each switch, you get a chance to choose your degree of ML expertise, and the focus on the team in application vs Research.
Interview prep and job hunting are chaos and pain. We can help. Really.