A machine learning engineer is not a data scientist with better Python, and not a backend developer who once called an API. The role sits exactly at the intersection where most companies' AI ambitions fail: taking a model that works in a notebook and making it work in production, under real latency, cost, and reliability constraints. Because the role is defined by that intersection, every stage of a standard recruiting process measures the wrong thing, which is why ML engineer searches fail more often, and more expensively, than almost any other engineering search in the German market.
What an ML engineer actually does, and what it is not
An ML engineer owns the path from working model to working product: serving infrastructure, data and feature pipelines, monitoring, retraining, cost control. The confusion with neighboring roles is not cosmetic, it is the single most common reason ML engineer briefs are wrong.
| Role | Core question they answer | Common confusion |
|---|---|---|
| ML engineer | How does this model run reliably and affordably in production? | Confused with all three below |
| Data scientist | What does the data say, and which model answers the business question? | Strong at modeling, often no production experience |
| MLOps engineer | What platform and tooling do all our models run on? | Overlaps with ML engineer; platform focus vs. product focus |
| Backend engineer | How do services scale and stay up? | Strong at systems, no model lifecycle experience |
| "GenAI engineer" | How do we build on top of foundation models? | Prompting an API is not the same as owning a model in production |
The market: real scarcity, honestly framed
The scarcity of ML engineers in Germany is real but specific. There is no shortage of candidates whose CVs say "machine learning": courses, bootcamps, and title inflation have seen to that. What is scarce is the subset who have operated models in production for a meaningful time, and that subset is heavily concentrated in a small number of tech companies and is rarely actively job hunting. The ranges below are market observation, not a promise; offers vary widely by domain (e.g., LLM experience currently commands a premium), region, and stage.
| Level | Permanent (gross annual salary) | Freelance (day rate) |
|---|---|---|
| Mid-level (2-5 yrs, some production exposure) | ~€65-90k | ~€700-950 |
| Senior (5+ yrs, owned production systems) | ~€85-120k | ~€800-1,200 |
| Staff / lead | ~€110-140k+ | ~€1,000-1,400 |
| LLM/GenAI production specialization | Upper end of each band, often above | Upper end of each band, often above |
Why every stage of a standard process breaks for this role
It is worth being precise about where the standard Personalvermittlung playbook fails, because each failure looks reasonable in isolation.
| Standard stage | What it assumes | Why it breaks for ML engineers |
|---|---|---|
| CV keyword screen | Skills are legible from resume text | "TensorFlow, PyTorch, MLOps" appears identically on course graduates and practitioners |
| Recruiter phone screen | A generalist can rank technical depth | The vocabulary is learnable in a weekend; production judgment is invisible in conversation |
| Algorithm coding test | Coding puzzles predict job performance | Selects for interview prep, not for debugging a model that degrades in production |
| Sequential 4-6 week pipeline | Candidates wait | Genuine ML engineers typically field multiple offers within 2-3 weeks of becoming active |
| Salary benchmark from generic IT data | One "developer" market exists | Offers land 15-25% under where the real market clears, and the process restarts |
What good candidates look like: production evidence
The vetting method that works for ML engineers is simple to state and hard to fake: get them talking about a system they have actually operated. Depth shows up immediately, and its absence shows up just as fast.
| Signal | What it tells you | How to verify |
|---|---|---|
| Operated a model in production | Has lived through drift, incidents, retraining | Ask how the system failed and what they changed afterwards |
| Cost and latency awareness | Thinks in budgets, not just accuracy | Ask what serving cost per request was and how they reduced it |
| Data pipeline fluency | Can own the full path, not just the model file | Systems-design discussion around a realistic deployment |
| Pragmatic model choice | Ships the boring model that works | Ask when they replaced a complex model with a simpler one |
| Monitoring instinct | Detects silent degradation before users do | Ask what metrics they alerted on and why those |
Permanent hire vs. freelance/embedded for ML engineering
Because the scarce skill is concentrated and the critical need is often a phase (getting the first models into production reliably), the freelance and embedded market for ML engineers is unusually deep relative to the permanent market, and mixing models is often the rational play.
| Dimension | Permanent hire | Freelance / embedded |
|---|---|---|
| Best for | Owning ML systems as a lasting product capability | Deployment phases, architecture reviews, unblocking a stuck team |
| Availability | Scarcest segment of the market, months of lead time | Senior production experience bookable in days to weeks |
| Cost shape | ~€85-120k senior salary + employer costs + fee (market observation) | ~€800-1,200/day (market observation), no long-term commitment |
| Knowledge transfer | Compounds internally | Must be contracted explicitly: pairing, docs, handover |
| Typical failure | Search drags 6+ months, project stalls | Freelancer leaves and nobody can operate the system |
How a specialized network changes the picture
For ML engineers, a specialized recruiter is not a nice-to-have, it is the difference between screening on vocabulary and screening on evidence. A network that technically vets candidates before any client sees them inverts the standard funnel: instead of ten CVs that all say PyTorch, you see two or three people whose production experience has already been probed by someone who has shipped ML systems themselves. Aiporate's process is built this way: evidence-based vetting, role scoping against your actual deployment reality, and a vetted shortlist within 72 hours of a completed brief, with embedded starts available when the need is a phase rather than a headcount.
| Stage | Standard agency | Specialized network |
|---|---|---|
| Sourcing | Job boards + database keyword search | Pre-vetted pool, sourced on production evidence |
| Technical screen | None, or outsourced quiz | Structured assessment by ML practitioners |
| Shortlist | Volume: many CVs, low hit rate | 2-3 candidates, each pre-cleared on a technical bar; benchmark: 72 hours |
| Engagement models | Permanent placement only | Permanent, freelance, or embedded-to-permanent |
