Back to jobs

Staff Machine Learning Engineer - Retrieval

Pay
Pay not listed
Work setting
Not stated
Employment
Employment terms need review — employment source
Job details Permanent position Tech stack: Python, Elasticsearch, Solr, Vertex AI, vector search, embeddings
Tech stack: Python, Elasticsearch, Solr, Vertex AI, vector search, embeddings Full-time Levallois-Perret, France
Employment type in the employer’s posting: Unlimited Contract
From the employer’s posting

What you’ll work on

Full posting
  • Build and own the Medical Knowledge Platform that grounds clinical AI in validated medical sources

  • Design and maintain indexing pipelines and retrieval systems end to end

  • Architect and optimize systems for 100M+ documents, 50+ req/s, sub-300ms latency

  • Build custom re-rankers and optimize query processing pipelines

  • Engineer deep RAG systems beyond off-the-shelf components

From the employer’s posting
Build and own Doctolib's Medical Knowledge Platform
Design and maintain both indexing pipelines and retrieval systems, ensuring end-to-end ownership across the full retrieval stack
architect and optimize systems handling 100M+ documents, 50+ req/s, and sub-300ms latency requirements
Build custom re-rankers, optimize query processing pipelines, and design robust retrieval evaluation frameworks
Engineer deep RAG systems from the ground up - going well beyond off-the-shelf components

Benefits in the posting

Full benefits wording
  • Free comprehensive health insurance (basic package) for you and your children
  • 25 days of paid vacation per year, plus up to 14 days of RTT
  • Free mental health and coaching services through our partner Moka.care
  • ParentCare Program: Enjoy full salary coverage (100%) during your first month of birth leave and 75% during the second, covered by Doctolib
  • For caregivers and workers with disabilities, a package including an adaptation of the remote policy, extra days off for medical reasons, and psychological support
  • Relocation support in case of international mobility
  • Our interview process
  • Reference Check & Offer
  • Job details
  • Permanent position
  • Full-time
  • We welcome everyone
  • At Doctolib, we are committed to improving access to healthcare for everyone. This translates into our recruitment process. We evaluate candidates based solely on qualifications and motivation, without any form of discrimination.
  • The more diverse ideas are heard, the more our product will truly improve healthcare for all. You are welcome to apply to Doctolib, regardless of your gender, religion, age, sexual orientation, ethnicity, or disability.
  • To ensure equal opportunities, we invite you to exclude personal information (e.g., pictures, age) from your applications. If you require any accommodation, please let us know for support during the hiring process.
  • Join us in building the healthcare we all dream of!
  • Your data privacy

From the employer’s posting.

Apply at Doctolib

Posting record

Report an error

Open 3 monthsWe first saw this posting 100 days ago and it is still up. Roles open this long are often slow to fill or kept open to collect applications.

Status in our records
Live
First seen by us
Jul 28, 2026100 days ago
Recorded sightings
107
Last seen by us
Nov 2, 2026

These dates show when we found the posting. Check the employer’s website to confirm it is still accepting applications.

How this job compares

Time since we first saw it

Day 100

Up longer than most. Similar jobs usually come down between day 6 and day 70.

Well past Doctolib’s usual: its jobs come down by about day 15.

From 4,442 similar postings that came down, and 14 of Doctolib’s. Coming down is not always a hire.

Doctolib is hiring

10 open jobs

Open jobs by the week we first saw them, last 12 weeks.

  • Hiring has slowed
  • Takes jobs down at a usual pace
Hiring record

See how this role fits your experience

Add your resume and we’ll mark which of these tools you already use, and point out anything in the posting that could rule you out.

  • Java
  • Kotlin
  • Python
  • TypeScript
  • Elasticsearch
  • React
Where the posting names them
- Our solutions are built on a single fully cloud-native platform that supports web and mobile app interfaces, multiple languages, and is adapted to country and healthcare specialty requirements. - Our stack is composed of Rails, TypeScript, Java, Python, Kotlin, Swift, and React Native. - We leverage AI ethically across our products to empower patients and health professionals. Discover our AI vision here.
- Permanent position - Tech stack: Python, Elasticsearch, Solr, Vertex AI, vector search, embeddings - Full-time
- Bring deep dual expertise in both offline indexing and online retrieval; you own the full pipeline, not just one side of it. - Are genuinely hands-on with the retrieval tech stack: Elasticsearch, Solr, Vertex AI, vector search, embeddings, re-ranking and query processing. - Have gone beyond commodity RAG; you've built custom re-rankers, optimized indexing pipelines, or engineered query processing solutions that required real technical depth.

Your next step

Complete your application on job-boards.greenhouse.io. The employer’s form will show what is required.

Applying through Greenhouse

  • No account needed: the form is one page, with an “Autofill my application” option that reads your resume.
  • Greenhouse doesn’t read resumes over 2.5 MB, or details placed in a header, footer, text box, table or second column. The file still attaches, but a recruiter has to type you in by hand.

Already applied? Track this application

Demand for ML Engineer roles

New ML Engineer postings at the employers we follow are up 12% over the last 5 weeks compared with the 5 before.

Weekly new ML Engineer postings at the same employers, from the week of August 17 to the week of October 26. The fewest in a week was 625, the most 1,094, and the latest week had 876.
August 17Last week

Each bar is one week of new postings. The darkest bars are the last 5 weeks.

Counted from the hiring pages we’ve followed for at least five weeks, so employers we add don’t look like growth. Updated weekly.

About the role

We file this job under ML Engineer, by the work the posting describes.

ML engineers put machine learning models into products. They write the code that trains, ships, serves and monitors models so a recommendation or prediction works for real users.

Postings ask for strong Python and software engineering, a framework such as PyTorch, cloud services, and more and more often experience with large language models.

A data scientist often works out which model to build; an ML engineer makes it run reliably in production.

US government figures for computer and information research scientists

Median yearly pay, May 2025
$140,300
Expected change, 2025 to 2035
21.8% more jobsagainst 3.5% for all jobs

The government has no code for ML engineers, so these figures are for the closest group, computer and information research scientists.

Source: US Bureau of Labor Statistics, Occupational Employment and Wage Statistics (May 2025) and Employment Projections (2025 to 2035). Occupation code 15-1221.

Job description

View original posting ↗

Set a new pulse for healthcare!

We are looking for a Staff Machine Learning Engineer - Retrieval to join our AI team working on Clinical decision support and Medical Knowledge.

Your mission will be to ground clinical AI decisions in validated, trusted medical sources from HAS guidelines and learned society recommendations to peer-reviewed clinical studies. You will work in a feature team developing Doctolib's Medical Knowledge Platform, contributing directly to the reliability and safety of AI-powered healthcare experiences used by hundreds of thousands of health professionals and millions of patients across Europe.

Working in the tech team at Doctolib means building innovative products and features to improve the daily lives of care teams and patients.

 

What you'll do

Your responsibilities include but are not limited to:

  • Build and own Doctolib's Medical Knowledge Platform, designing the systems that ground clinical AI decisions in validated medical sources (HAS guidelines, learned society recommendations, clinical studies)
  • Design and maintain both indexing pipelines and retrieval systems, ensuring end-to-end ownership across the full retrieval stack
  • Operate at scale: architect and optimize systems handling 100M+ documents, 50+ req/s, and sub-300ms latency requirements
  • Build custom re-rankers, optimize query processing pipelines, and design robust retrieval evaluation frameworks
  • Engineer deep RAG systems from the ground up - going well beyond off-the-shelf components to tackle real medical knowledge complexity
  • Work across the full retrieval stack: vector embeddings, vector search, re-ranking, query expansion and rewriting

 

Who you are

Before you read on: if you don't have the exact profile described below, but you feel this job description matches your skill set, we still encourage you to apply.

You'll be a great fit if you:

  • Have proven production experience building and scaling search & retrieval systems in a real-world, high-traffic environment 
  • Bring deep dual expertise in both offline indexing and online retrieval; you own the full pipeline, not just one side of it.
  • Are genuinely hands-on with the retrieval tech stack: Elasticsearch, Solr, Vertex AI, vector search, embeddings, re-ranking and query processing.
  • Have gone beyond commodity RAG; you've built custom re-rankers, optimized indexing pipelines, or engineered query processing solutions that required real technical depth.
  • Have operated at Senior or Staff level, with the autonomy and technical depth that comes with it.

 

It would be fantastic if you:

  • Have experience working with medical knowledge sources, clinical databases, or healthcare information systems
  • Have contributed to evaluation frameworks and benchmarks for retrieval quality or AI outputs in regulated or high-stakes environments
  • Have worked in a multi-lingual retrieval context or with domain-specific ontologies

 

Life at Doctolib Tech

  • Our solutions are built on a single fully cloud-native platform that supports web and mobile app interfaces, multiple languages, and is adapted to country and healthcare specialty requirements.
  • Our stack is composed of Rails, TypeScript, Java, Python, Kotlin, Swift, and React Native.
  • We leverage AI ethically across our products to empower patients and health professionals. Discover our AI vision here.

Want to learn more about our tech culture and environment? Visit the Doctolib Tech site.

 

What we offer

  • Free comprehensive health insurance (basic package) for you and your children
  • 25 days of paid vacation per year, plus up to 14 days of RTT
  • Free mental health and coaching services through our partner Moka.care
  • Work from abroad for up to 10 days per year thanks to our flexibility days policy
  • Lunch vouchers (Swile card) worth €8.50 per working day, with €4.50 covered by Doctolib
  • A subsidy from the work council to refund part of the membership to a sport club or a creative class
  • 50% reimbursement of your public transport subscription
  • ParentCare Program: Enjoy full salary coverage (100%) during your first month of birth leave and 75% during the second, covered by Doctolib
  • Enrollment in Doctolib's long-term employee value sharing plan called DoctoGrowth
  • For caregivers and workers with disabilities, a package including an adaptation of the remote policy, extra days off for medical reasons, and psychological support
  • Relocation support in case of international mobility
  • Access to the best AI tools for coding, development and dedicated training

 

Our interview process

  • Recruiter Screen (45')
  • Live Coding Interview (75')
  • System Design Interview (75')
  • Behavioural Interview (75')
  • Reference Check & Offer

We want your experience to be clear, respectful, and transparent. Learn more about our hiring process on our candidate experience page.

 

Job details

  • Permanent position
  • Tech stack: Python, Elasticsearch, Solr, Vertex AI, vector search, embeddings
  • Full-time
  • Levallois-Perret, France
  • Hybrid work setup (up to 2 remote days per week)
  • Start date: as soon as possible

 

We welcome everyone

At Doctolib, we are committed to improving access to healthcare for everyone. This translates into our recruitment process. We evaluate candidates based solely on qualifications and motivation, without any form of discrimination.

The more diverse ideas are heard, the more our product will truly improve healthcare for all. You are welcome to apply to Doctolib, regardless of your gender, religion, age, sexual orientation, ethnicity, or disability.

To ensure equal opportunities, we invite you to exclude personal information (e.g., pictures, age) from your applications. If you require any accommodation, please let us know for support during the hiring process.

Join us in building the healthcare we all dream of!

 

Your data privacy

All information provided is processed by Doctolib for application management. For data processing details, click ici. Please contact hr.dataprivacy(at)doctolib.com for inquiries or to exercise your rights.

 

Source details

View original posting ↗

Source notes

Source excerpts

Selected passages from the saved posting. Check the full description for conditions and exceptions.

Pay

No pay amount identified in the saved description.

Location & working pattern

Paris, Paris, France

- Enrollment in Doctolib's long-term employee value sharing plan called DoctoGrowth - For caregivers and workers with disabilities, a package including an adaptation of the remote policy, extra days off for medical reasons, and psychological support - Relocation support in case of international mobility
More source context
- Levallois-Perret, France - Hybrid work setup (up to 2 remote days per week) - Start date: as soon as possible
Work authorization

No clear work-authorization passage found. Eligibility is unconfirmed.

Find answers in the posting

AI
How answers work

AI selects complete passages from this posting. Check them for conditions and exceptions.

Uses this posting and your question. No profile needed.