Senior Backend Developer
Описание
Senior backend-разработчик Команда матчинга и ленты · Python и Go О роли Twinby развивает сервис знакомств с миллионами пользователей. Мы перестраиваем разработку Twinby CIS и заново формируем продуктовые команды. Команда матчинга и ленты отвечает за то, какие анкеты видит человек и как пользователи находят друг друга. Сервисы обрабатывают большие объёмы данных и должны быстро отвечать при росте нагрузки. Ищем Senior-разработчика, который будет проектировать и писать бэкенд, выпускать изменения и следить за их работой в продакшене. В этой роли ты принимаешь технические решения в своей зоне ответственности, обсуждаешь общую архитектуру с тимлидом и архитектором, помогаешь коллегам на ревью. Управление людьми в роль не входит. За что ты отвечаешь: Развиваешь сервисы подбора анкет и ленты: фильтры, правила показа, учёт действий пользователей. Следишь за скоростью ответа и корректностью подбора анкет. Работаешь с запросами к БД, кэшем и поисковым индексом. Разбираешься, откуда берутся задержки и устаревшие данные, проверяешь решения под нагрузкой. Согласуешь API и форматы данных со смежными командами, в том числе для интеграции с моделями ранжирования. Готовишь свои участки бэкенда к A/B-экспериментам, чтобы можно было сравнивать варианты выдачи. Постепенно выносишь функциональность из монолита в сервисы. Продумываешь совместимость, перенос данных и возможность отката. Пишешь тесты и проводишь ревью. Добавляешь метрики и логи, следишь за соблюдением SLO. Продумываешь поведение сервиса при перегрузке и сбоях в БД или соседних сервисах. Участвуешь в дежурствах, разбираешь инциденты и устраняешь их причины. ИИ-инструменты можно использовать в работе. Сгенерированный код проходит те же проверки и ревью; ты должен понимать его поведение и отвечать за свои изменения. Кого мы ищем: У тебя от четырёх лет опыта бэкенд-разработки на Python или Go. Ты уверенно владеешь одним из этих языков и готов работать с обоими. Самостоятельно выводил сервисы в продакшен и сопровождал их после выпуска. Умеешь работать с SQL, индексами и планами запросов. Выбираешь способ хранения и кэширования с учётом объёма данных и характера нагрузки. Понимаешь, что происходит при одновременных запросах, повторах событий и сбоях в БД или соседних сервисах. Умеешь находить причины расхождений между данными в разных частях системы. Можешь объяснить выбор решения, его ограничения и способ проверки. Заранее обсуждаешь риски, а решения, затрагивающие соседние сервисы, согласуешь с их владельцами. Будет плюсом: Опыт работы с рекомендательными системами, ранжированием или персональными лентами. Опыт работы с Elasticsearch или OpenSearch. Опыт в дейтинге, соцсетях, маркетплейсах или других сервисах с большим числом пользовательских действий. Чего не требуем Опыт в дейтинге и знание всех инструментов нашего стека не обязательны. LeetCode и алгоритмические головоломки на интервью не используем. Технический стек Python и Go. Монолит и микросервисы, обмен событиями, реляционные и аналитические хранилища, кэш и поисковый индекс. Используем Kubernetes и GitLab CI/CD. Инфраструктура размещена в российском облаке. Что предлагаем Работу над подбором анкет и лентой, которыми пользуются миллионы людей. Возможность влиять на устройство сервисов и технические решения в своей зоне ответственности. Формат работы: удалённо из РФ.