The Human Side of ML
ML Engineer path · lesson 79 of 80Three properties separate an ML system from ordinary software, and each one creates a distinct UX problem. Pin Booking.com's filter suggestions with a consistency rule, watch the odds climb as you show more candidates, cap a latency tail with a backup model, and pick between two team structures.
Design for an ML system
Sort each design choice by the user-experience problem it addresses.
Tap a piece, then tap where it goes — or drag it. Tap the tray to take one back.
Keep results consistent
Drop items hereCope with "mostly correct"
Drop items hereFail smoothly
Drop items hereTest your knowledge
Which of these is NOT one of the three ways the book says ML systems differ from traditional software?
The short version
A brilliant assistant who is right most of the time, occasionally slow for no visible reason, and never gives quite the same answer twice. Everything difficult about working with them comes from those three facts, not from their competence.
In more depth
The Human Side of ML
Three differences, three challenges
| Property | Challenge |
|---|---|
| Probabilistic, not deterministic — "you might get different results" | User experience consistency |
| Mostly correct — "the hard part is we usually don't know for what inputs the system will be correct!" | Combatting mostly-correct predictions |
| Large and slow — longer series take longer | Failing smoothly |
Challenge 1 — consistency
Booking.com has about 200 filters. "There are so many filters that it takes time for users to find the filters that they want." The failure: "if their ML model kept suggesting different filters each time, users could get confused, especially if they couldn't find a filter that they had already applied before."
The fix is a rule, not a better model: conditions where the system must return the same recommendations (the user has applied a filter) and conditions where it may return new ones (the user changes destination).
The consistency-accuracy trade-off: "the recommendations deemed most accurate by the system might not be the recommendations that can provide user consistency."
Challenge 2 — mostly correct
Here you want less consistency and more diversity. The irony that kills the naive version: "A React engineer might be able to fix this code quickly, but many users of this application might not know React. And this application might attract a lot of users who don't know React — that's why they needed this app in the first place!"
The fix: *"Show users multiple resulting predictions for the same input to increase the chance of at least one of them being correct. These predictions should be rendered in a way that even nonexpert users can evaluate them."* This is human-in-the-loop AI.
Challenge 3 — failing smoothly
A backup system: "less optimal than the main system but... guaranteed to generate predictions quickly." Heuristics, simple models, or cached precomputed predictions. The rule: "if the main model takes longer than X milliseconds to generate predictions, use the backup model instead." The sophisticated variant predicts the main model's latency and routes — with the caveat that that model also adds latency.
"A model might have worse performance than another model but can do inference much faster... Many companies have to choose one model over another, but with a backup system, you can do both."
Subject matter experts
Doctors, lawyers, bankers, farmers, stylists — "they're not only users but also developers of ML systems." The mistake: "most people only think of subject matter expertise during the data labeling phase." They belong in problem formulation, feature engineering, error analysis, model evaluation, reranking predictions, and user interface.
Two hard problems: explaining ML limitations to people without engineering backgrounds, and versioning domain expertise — "good luck trying to get your doctor to use Git." The answer is no-code and low-code platforms, today mostly at the labeling, quality assurance and feedback stages.
Team structure
Approach 1 — a separate team productionizes. Easier hiring; four drawbacks: coordination overhead (Brooks: "What one programmer can do in one month, two programmers can do in two months"), debugging, finger-pointing, narrow context.
Approach 2 — data scientists own everything. Without tools they become "grumpy unicorns." "In theory, you can learn both sets of skills. In practice, the more time you spend on one means the less time you spend on the other." Erik Bernhardsson: like expecting app developers to know how Linux kernels work.
"For data scientists to own the entire process, we need good tools. In other words, we need good infrastructure."
Netflix's full-cycle developer model: "the specialists — people who originally owned a part of the project — first create tools that automate their parts."
Interview Questions
References & Further Reading
Love this visualization?
Sign up to track your progress, earn achievements, use the AI assistant, and access your personal learning dashboard.
100% free • No credit card required