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