Обязанности:
Разрабатывать новые сервисы на Kotlin и Spring BootМы постепенно переводим систему с Python/Django-монолита на сервисную архитектуру, поэтому одна из ключевых задач в команде — запускать новые бэкенд-сервисы на Kotlin и Spring Boot. Это продуктовая разработка: сервисы напрямую поддерживают процессы Performance Review, премирования и развития сотрудников. Важно не только писать код, но и продумывать API, структуру данных и взаимодействие сервисов с учётом реальных пользовательских сценариев. Автоматизировать сложные бизнес-процессы с помощью Temporal
У нас длинные и нетривиальные процессы согласования и объявления результатов Performance Review. Для их оркестрации мы используем Temporal и постепенно выносим туда всё, что связано с управлением сложной бизнес-логикой и коммуникациями. Вам предстоит проектировать и реализовывать workflow-процессы, разбираться в нестандартных сценариях и обеспечивать предсказуемость и надёжность системы. Проектировать решения, улучшать критичные сценарии
Мы ожидаем, что вы станете участвовать в задачах целиком: от обсуждения подхода до запуска в продакшен. В работе будет много проектирования: нужно продумывать архитектуру изменений, обсуждать решения с командой и участвовать в дизайн-ревью крупных фич. Отдельное внимание уделяем критичным сценариям: у сервисов умеренная средняя нагрузка, но в периоды Performance Review появляются заметные пики. Поэтому для нас важны отказоустойчивость, предсказуемая производительность и аккуратная работа с критичными бизнес-процессами в соответствии с лучшими практиками построения highload-систем. Развивать текущие Django-сервисы, пока идёт миграция
Миграция не останавливает развитие продукта: пока мы строим новую архитектуру, бизнесу по-прежнему нужны новые фичи, улучшения и изменения в сценариях. Поэтому потребуется работать не только с новым стеком, но и с текущей системой на Python/Django. Нам важно, чтобы переход к новой архитектуре шёл без остановки продукта, поэтому вам предстоит аккуратно встраивать изменения в существующую кодовую базу и учитывать её ограничения. Больше о бэкенде в Яндексе — в канале Yandex for Backend
Ключевые навыки:
- Разрабатывали REST API с использованием Spring Boot
- Можете проектировать структуру реляционных баз данных
- Работали с инструментами для управления микросервисами и их оркестрации, например с Kubernetes, Docker
- Хотите разбираться в сложной бизнес-логике и развиваться в проектировании систем
- Готовы работать с Kotlin или Spring Boot и погружаться в кодовую базу на Python и Django
Дополнительные требования:
- Знакомы с Temporal (или другими workflow-движками)
- Интересуетесь обеспечением производительности, качества кода и устройством распределённых систем
- Работали с Python и Django