Doctolib
Senior Software Engineer - Node.js/TypeScript (x/f/m)
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior-инженер в команду DIAL (домен Phone Assistant) для разработки AI-функций телефонного ассистента, объединяющего LLM-рассуждения, распознавание речи и real-time backend. Продукт запускается сначала в Германии, затем во Франции и Италии.
Задачи
- Разрабатывать и эксплуатировать backend-сервисы на Node.js/TypeScript (с использованием Python), обеспечивая надёжность, масштабируемость и real-time производительность
- Проектировать, оценивать и выпускать LLM-функции end-to-end: prompt engineering, tool calling, структурированные ответы, guardrails и стратегии fallback
- Отвечать за качество AI-функций: создавать датасеты и скоры для оценки (например, в Braintrust), отслеживать регрессии и принимать решения о релизе на основе данных
- Деплоить и эксплуатировать cloud-native сервисы на Kubernetes в AWS/Azure/GCP, развивать CI/CD пайплайны с GitHub Actions
- Проектировать модели данных, проводить миграции и оптимизацию производительности БД для real-time нагрузок (PostgreSQL: пулинг соединений, индексация, оптимизация запросов)
- Поддерживать высокую планку тестирования (unit, integration, e2e), отлаживать распределённые системы в продакшене с сильной observability и участвовать в архитектурных решениях
Требования
- 5+ лет опыта backend-разработки масштабируемых и отказоустойчивых систем на Node.js/TypeScript (с некоторым опытом Python)
- Практический продакшен-опыт создания LLM-функций: prompting, tool calling, структурированные ответы, eval-фреймворки и обработка реальных сбоев
- Подтверждённый опыт деплоя и эксплуатации сервисов на Kubernetes в одном из крупных облаков (AWS, Azure или GCP) с хорошими практиками CI/CD
- Сильная культура тестирования (unit/integration/e2e), навыки отладки микросервисов и распределённых систем, фокус на качестве кода
- Свободный английский, коллаборативный подход и готовность вести задачи end-to-end — от дизайна до продакшена
Условия
- Deutschlandticket (проездной по Германии) полностью оплачивается компанией
- 28 дней отпуска + 1 дополнительный день за каждый полный год работы (до 30 дней)
- Возможность работать из-за рубежа до 10 дней в году
- Медицинская страховка с дополнительными бенефитами через Allianz
- Корпоративная пенсионная схема (bAV) через Allianz с субсидией работодателя 40% (15% в испытательный срок)
- Программа Doctolib Parent Care, включая дополнительный месяц родительского отпуска
- Участие в программе долгосрочного распределения ценности DoctoGrowth
- Бесплатные сервисы психологической поддержки и коучинга через Moka.care
- Субсидируемое спортивное членство через Urban Sports Club
- Гибкая политика рабочего места: гибрид или офис
- Здоровые снеки, регулярные завтраки и субсидируемое питание
- Пакет поддержки для опекунов и людей с инвалидностью, включая адаптацию remote-политики и дополнительные дни по медицинским причинам
- Релокационная поддержка при международной мобильности
- Доступ к лучшим AI-инструментам для кодинга и обучению
Навыки
- Node.js
- TypeScript
- Python
- LLM
- prompt engineering
- tool calling
- Braintrust
- Kubernetes
- AWS
- Azure
- GCP
- GitHub Actions
- CI/CD
- PostgreSQL
- Kafka
- RabbitMQ
- NATS
- Redis Streams
- ASR
- TTS
- SIP
- RTP
- WebRTC