{"id":776928,"url":"https://alion.io/job/doctolib-senior-software-engineer-node-jstypescript-xfm","title":"Senior Software Engineer - Node.js/TypeScript (x/f/m)","company":{"id":52886,"name":"Doctolib","domain":"doctolib.fr","url":"https://alion.io/company/doctolib","size_band":"1001-5000","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Ashby","truth_index":{"grade":"B","score":83,"open_postings":62,"ghost_share":0.016,"stale_share":0.613,"repost_share":0.048,"time_to_fill_p50_days":34,"computed_at":"2026-11-03T05:54:40Z"}},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":"full_time","work_mode":"hybrid","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Berlin, Germany"],"countries":["DE"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":{"min_usd":67000,"max_usd":118000,"period":"year","method":"role_seniority_country_remote_cell","sample_n":62},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"Apache Kafka","optional":false},{"name":"AWS","optional":false},{"name":"Azure","optional":false},{"name":"Braintrust","optional":false},{"name":"CI/CD","optional":false},{"name":"Function Calling","optional":false},{"name":"GCP","optional":false},{"name":"GitHub Actions","optional":false},{"name":"Kubernetes","optional":false},{"name":"LLM","optional":false},{"name":"LLM Guardrails","optional":false},{"name":"NATS","optional":false},{"name":"Node JS","optional":false},{"name":"PostgreSQL","optional":false},{"name":"Python","optional":false},{"name":"RabbitMQ","optional":false},{"name":"Redis","optional":false},{"name":"Speech Recognition","optional":false},{"name":"Structured Outputs","optional":false},{"name":"Text-to-Speech","optional":false},{"name":"TypeScript","optional":false},{"name":"Voice Agents","optional":false},{"name":"WebRTC","optional":false},{"name":"Java","optional":true},{"name":"JavaScript","optional":true},{"name":"Kotlin","optional":true},{"name":"React Native","optional":true},{"name":"React.js","optional":true}],"status":"live","first_seen_at":"2026-09-11T14:19:52Z","employer_posted_date":"2026-09-11","last_verified_at":"2026-11-03T22:14:08Z","board_verified":true,"closed_at":null,"days_open":53,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":53},"description":"Set a new pulse for healthcare!\nWe are looking for a Senior Software Engineer to join the DIAL team in the Phone Assistant domain.\nYour mission will be to design, build, and scale the AI-powered features that transform how practitioners and patients connect over the phone - making care more accessible for patients and reducing administrative burden for health professionals. You will work in a feature team developing the Phone Assistant, Doctolib's solution that combines LLM reasoning, speech recognition, and real-time backend systems, launching first in Germany and expanding to France and Italy.\nWorking in the tech team at Doctolib means building innovative products and features to improve the daily lives of care teams and patients.\nWhat you'll do\nYour responsibilities include but are not limited to:\nBuild and operate backend services in Node.js/TypeScript (with Python exposure), designing for reliability, scalability, and real-time performance\n\nDesign, evaluate, and ship LLM-based features end-to-end: prompt engineering, tool calling, structured outputs, guardrails, and fallback strategies\n\nOwn AI feature quality: build evaluation datasets and scorers (e.g., in Braintrust), track regressions, and make evidence-based ship decisions before each release\n\nDeploy and operate cloud-native services on Kubernetes across major cloud providers (AWS/Azure/GCP), and evolve CI/CD pipelines with GitHub Actions\n\nDesign data models and drive database migrations and performance tuning for real-time workloads (PostgreSQL: connection pooling, indexing, query optimisation)\n\nMaintain a high testing bar (unit, integration, e2e), debug distributed systems in production with strong observability, and contribute to pragmatic, secure architecture decisions\n\nWho you are\nBefore 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.\nYou'll be a great fit if you:\nHave 5+ years of backend engineering experience building scalable, resilient systems in Node.js/TypeScript (with some Python)\n\nHave hands-on production experience building LLM-based features: prompting, tool calling, structured outputs, eval frameworks, and handling real-world failure modes\n\nHave proven experience deploying and operating services on Kubernetes within at least one major cloud provider (AWS, Azure, or GCP), with solid CI/CD practices\n\nHave a strong testing culture (unit/integration/e2e), sharp debugging skills for microservices and distributed systems, and a focus on code quality\n\nAre fluent in English, with a collaborative mindset and the drive to own problems end-to-end - from design to production\n\nIt would be fantastic if you:\nHave experience with speech pipelines (ASR, TTS, streaming audio) or voice agents\n\nAre familiar with event-driven architectures and message brokers (Kafka, RabbitMQ, NATS, or Redis Streams), and have hands-on PostgreSQL experience (EXPLAIN/ANALYZE, indexing strategies, connection pooling)\n\nHave an interest in telephony and real-time communication (SIP, RTP, WebRTC) - no prior experience needed, we will teach you\n\nLife at Doctolib Tech\nOur 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.\n\nOur stack is composed of Rails, TypeScript, Java, Python, Kotlin, Swift, and React Native.\n\nWe leverage AI ethically across our products to empower patients and health professionals. Discover our AI visionhere.\n\nWant to learn more about our tech culture and environment? Visit the Doctolib Tech site.\nWhat we offer\nA Deutschlandticket (Germany-wide public transport pass) fully paid for by Doctolib\n\n28 vacation days + 1 additional day for each full calendar year of employment (up to a maximum of 30 days)\n\nWork from abroad for up to 10 days per year thanks to our flexibility days policy\n\nCompany health insurance with great supplementary benefits through our partner Allianz\n\nCompany pension scheme (bAV) through Allianz with an employer subsidy of 40% (15% within the probationary period)\n\nThe Doctolib Parent Care program, which includes one month additional parental leave and much more\n\nEnrollment in Doctolib's long-term employee value sharing plan called DoctoGrowth\n\nFree mental health and coaching services through our partner Moka.care\n\nSubsidized sports membership through our partner Urban Sports Club\n\nA flexible workplace policy offering both hybrid and office-based mode\n\nAlongside healthy snacks and our regular breakfast buffet, we provide a subsidized meal benefit\n\nFor caregivers and workers with disabilities, a package including an adaptation of the remote policy, extra days off for medical reasons, and psychological support\n\nRelocation support in case of international mobility\n\nAccess to the best AI tools for coding, development and dedicated training\n\nOur interview process\nRecruiter Interview\n\nLive Coding Interview\n\nSystem Design Interview\n\nBehavioral Interview\n\nAt least one reference check\n\nWe want your experience to be clear, respectful, and transparent. Learn more about our hiring process on ourcandidate experience page.\nJob details\nPermanent position\n\nTech stack: Node.js/TypeScript, Python, Kubernetes, AWS/Azure/GCP, PostgreSQL\n\nFull-time\n\nBerlin\n\nHybrid work setup (up to 2 remote days per week)\n\nStart date: as soon as possible\n\nWe welcome everyone\nAt 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.\nThe 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.\nTo 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.\nJoin us in building the healthcare we all dream of!\nYour data privacy\nAll information provided is processed by Doctolib for application management. For data processing details, click here: Germany | France | Italy | Netherlands. Please contact hr.dataprivacy(at)doctolib.com for inquiries or to exercise your rights.","description_format":"text","description_chars":6431,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"English","level":"Advanced (C1)","optional":false}]},"benefits":["Flexible schedule","Health insurance","Hybrid work","Parental leave"],"hiring_locations":[{"name":"Germany","iso":"DE","kind":"country"}],"hiring_excludes":[],"relocation_offered":true,"industries":["Practice Management Software","Patient Access & Booking"],"lifecycle":[{"event":"open","at":"2026-09-11T23:19:12Z"}],"visa":[],"liveness":{"score":20,"band":"cold","label":"Long shot","p_open":1,"p_active":0.547,"p_room":0.36,"age_days":52,"expected_fill_days":34,"reasons":["conf:2","stale_co","velocity","win:tail","crowd:brand"],"computed_at":"2026-11-03T05:54:40Z"},"pay":null,"html_url":"https://alion.io/job/doctolib-senior-software-engineer-node-jstypescript-xfm","json_url":"https://alion.io/job/doctolib-senior-software-engineer-node-jstypescript-xfm.json","meta":{"generated_at":"2026-11-03T23:21:08Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":1993,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-11-04T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":52886},"rest":"https://alion.io/mcp/rest/get_company?id=52886"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fdoctolib-senior-software-engineer-node-jstypescript-xfm"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fdoctolib-senior-software-engineer-node-jstypescript-xfm"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fdoctolib-senior-software-engineer-node-jstypescript-xfm"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/doctolib-senior-software-engineer-node-jstypescript-xfm\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fdoctolib-senior-software-engineer-node-jstypescript-xfm"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":776928}},{"tool":"search_jobs","arguments":{"company":"doctolib.fr","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":776928},"note":"people open to offers who fit this vacancy"}],"note":"The same data through MCP tools: https://alion.io/mcp/open needs no sign-in (compact searches, postings, people); https://alion.io/mcp with an Alion account has everything. Docs: https://alion.io/developers"}}