Doctolib
Senior IA Inference Engineer (x/f/m)
Is this role open to you?
Paris, Paris, France
Confirm work authorization, visa sponsorship and location requirements with the employer.Set a new pulse for healthcare!
What you'll do
- Build the shared LLM serving foundations with MLOps engineers — define the serving stack, GPU capacity planning, and deployment automation for open-weight models (Gemma, Mistral, Llama, Qwen, and their fine-tuned variants) on Ray Serve / Anyscale, while shaping the evolution toward Kubernetes-based orchestration
- Own the model registry and promotion path — establish clear processes for versioning, validating, and promoting models into production, benchmark performance and output quality under realistic workloads, and maintain the curated model catalog together with the Agents Platform team
- Optimize inference performance and efficiency — operate and tune serving engines (vLLM, Triton Inference Server, TensorRT-LLM) to reduce time-to-first-token, inter-token latency, and cost per token through batching, caching, quantization, and parallelism strategies across our GPU fleet (L4 to H200)
- Own production reliability and disaster recovery — define SLOs, run load tests before launches, implement safe rollouts, rollbacks, and autoscaling, and participate in on-call and incident response
- Make serving performance and costs measurable — build Datadog dashboards, alerting, and cost reporting to track latency, GPU utilization, and inference spend, and identify opportunities to improve resource efficiency
- Keep the inference stack secure, compliant, and evolving — work with Security and Privacy on network isolation, data residency, and auditability, while continuously assessing new models, serving engines (such as SGLang), and GPU generations
Who you are
- Have 5+ years of software or computer engineering experience, including hands-on production experience with at least one LLM serving engine (vLLM, SGLang, TensorRT-LLM, TGI, or Triton) — ideally having chosen, introduced, tuned, or scaled one in production, not just run it with defaults
- Are proficient in Python and Terraform, with a solid understanding of transformer inference mechanics: prefill vs. decode, KV cache, batching strategies, and why a model is compute- or memory-bound on a given GPU
- Have strong experience running GPU workloads on Kubernetes or a managed Ray / Anyscale platform, and a performance engineering mindset — you design reproducible benchmarks, read profiler output, and back decisions with numbers
- Are comfortable owning production reliability: observability, incident response, and on-call are a natural part of the role
- Have excellent communication and collaboration skills, high agency, a pragmatic build-vs-buy approach, and are comfortable working in a scope that is still taking shape
- Are fluent in English
- Have experience with distributed serving frameworks (KServe, llm-d, NVIDIA Dynamo), including disaggregated prefill/decode or KV-cache-aware routing, or with serving Mixture-of-Experts, multimodal models, or many LoRA adapters on shared base models
- Have GPU kernel experience or deep profiling skills (CUDA, Triton, Nsight), or have contributed to open-source inference projects
- Have experience in regulated environments (healthcare, finance, public sector) and with frameworks such as GDPR, HDS, ISO 27001, or SOC 2
Our stack
- Programming languages: Python, plus comfort reading/debugging a systems language (C++, Rust, or Go)
- Cloud providers: GCP / AWS / Azure
- Serving orchestration: Ray Serve / Anyscale (GCP), with Kubernetes (GKE) + GPU scheduling as an emerging parallel target
- LLM serving engines (in production): vLLM, Triton Inference Server, TensorRT-LLM (also evaluating SGLang and other emerging engines)
- Models: Self-hosted open-weight LLMs (Gemma, Mistral, Llama, Qwen), fine-tuned in-house
- Experiment tracking & model registry: MLflow
- GenAI gateway: LiteLLM
- LLM evaluation & observability: Braintrust
- GPUs: NVIDIA L4, A10G, L40S, RTX 6000 Pro, A100 (40GB/80GB), H200
- Container / Infra as code: Docker, Terraform, Helm, Kustomize
- Observability: Datadog
- Data warehouse / storage: GCP BigQuery / GCS / AWS S3
- And any other tool you deem relevant!
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.
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
- HR interview by phone (45 minutes)
- Hiring manager interview (1 hour)
- Technical case study (1 hour)
- Behavioral interview (1 hour 30 minutes)
- At least one reference check
Job details
- Permanent position
- Tech stack: Python, vLLM, TensorRT-LLM, Triton, Ray Serve
- Full-time
- Paris, France
- Hybrid work setup (up to 2 remote days per week)
- Start date: as soon as possible
