Разработчик бэкенда в команду Яндекс Командировок
Яндекс Go для бизнеса объединяет множество сервисов Яндекса, таких как Такси, Доставка, Еда, Лавка, Драйв, Самокаты, Заправки и другие. Нашими услугами пользуются более 700 тыс. компаний и миллионы их сотрудников по всему миру. Мы активно растём: расширяем функционал, запускаем новые сервисы и масштабируемся как в России, так и за рубежом. Яндекс Командировки — важная часть нашей B2B‑экосистемы, помогающей организациям решать повседневные рабочие задачи.
Мы фокусируемся на создании новых продуктов и функций, а не на поддержке устаревшего кода. При этом сталкиваемся со множеством инфраструктурных и технических вопросов, не связанных с продуктом напрямую, но важных для его работы.
У нас нет отдельных архитекторов — каждый разработчик самостоятельно принимает технические решения. Чтобы обеспечивать качество и согласованность, все значимые изменения проходят через процесс технического дизайна — RFC (Request for Comments). Коллеги обсуждают решения и дают обратную связь, и только после этого изменения внедряются. Такой подход позволяет поддерживать высокий уровень профессионализма и эффективную коммуникацию внутри команды.
Наши технологии:
- Около 80% Golang и 15% Python3
- В самых высоконагруженных местах, требующих повышенной надёжности и предсказуемости, используем С++
- Из баз — PostgreSQL, MongoDB и YDB
Задачи и обязанности
Разработка серверной логики и API
В первую очередь предстоит проектировать и реализовывать бизнес-логику микросервисов. Нам нужно быстро обрабатывать запросы клиентов, управлять данными и обеспечивать их целостность и защиту. Для уже написанных микросервисов требуется дорабатывать и поддерживать существующий API взаимодействия бэкенда с фронтендом и с другими сервисами, а также настраивать взаимодействие со сторонними API — платёжными системами, облачными сервисами, провайдерами услуг и другими компонентами экосистемы.
Оптимизация производительности
Важная задача — анализировать производительность микросервисов, баз данных и оптимизировать их. И конечно, рефакторинг: нужно улучшать код, структуры данных, заменять неэффективные решения (увы, такие встречаются) более производительными. Также предстоит настраивать инструменты мониторинга, чтобы отслеживать состояние экосистемы в реальном времени и решать возникающие проблемы.
Работа с командой и смежными специалистами
У нас слаженная команда, и мы много взаимодействуем со смежниками: фронтенд-разработчиками, дизайнерами и менеджерами проектов, специалистами поддержки. От них мы получаем требования, предложения и много новых идей, которые позволяют нам создавать крутой продукт.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Уверенно владеете Golang и Python3 (другие языки — обсуждаемо, но придётся прокачиваться в Golang и Python)
- Работали с SQL- или NoSQL-БД (PostgreSQL, MongoDB)
- Разрабатывали под Linux
- Уверенно ориентируетесь в классических алгоритмах и структурах данных
- Хотите создавать инновационные решения, экспериментировать с новыми идеями и концепциями
- Одинаково любите технические и продуктовые задачи
Дополнительные требования
- Проектировали высоконагруженные системы
- Разрабатывали документацию
- Описывали процессы