Наша группа входит в состав Platform Engineering. Мы разрабатываем внутренние сервисы, которыми ежедневно пользуются все сотрудники Яндекса. Основной инструмент нашей команды — это каталог сервисов компании. Он помогает структурировать деятельность Яндекса, выстраивать иерархию продуктов, наполнять команды специалистами и определять связи между командами, людьми и продуктами. Каталог сервисов постоянно развивается и решает четыре основные задачи: это прозрачность занятости людей в компании, учёт доходов и расходов, разграничение доступов, организация процесса дежурств. Мы активно развиваем направление IDP — Internal Developer Platform. Это внутренняя платформа для менеджеров, разработчиков и инженеров эксплуатации, помогающая быстрее выполнять рутинные ежедневные операции: обновления продукта, релизы, проектирование новых приложений, починку инцидентов и прочие. Наш главный фокус — дать максимальную ценность продуктовым командам Яндекса и повысить эффективность их работы. У сервиса своя обособленная команда. При этом мы тесно взаимодействуем с другими командами как внутри нашего отдела, так и за его пределами. Мы активно используем внутренние и внешние современные технологии и решения, оптимизируем и унифицируем разработку для достижения максимальной эффективности. У вас будет возможность напрямую участвовать в принятии и реализации всех ключевых решений, касающихся нашего сервиса. Наш стек:
* Python 3, Go * Django, FastAPI, DRF, Celery, Temporal * PostgreSQL, Redis, SQS Текущий бэкенд написан на Python. При этом новые сервисы мы будем писать на Go и в будущем придём к тому, что останется только он. Поэтому нам нужен человек, который уверенно чувствует себя хотя бы в одном из этих языков и готов работать на обоих.

Обязанности:

Автоматизация процесса создания нового приложения с нуля
Вам предстоит разрабатывать многоступенчатый процесс поднятия нового приложения по кнопке — с нуля до развёрнутого сервиса в облаке за минуты. Нужно будет тесно взаимодействовать с соседними командами, чтобы реализовать возможность настраивать шаблон создания приложения для пользователя с нужной инфраструктурой и использовать его затем в своём отделе или команде. Переработка ролевой модели сервиса
Необходимо актуализировать ролевую модель нашего сервиса — проработать и внедрить решение взамен текущего, которым годами пользуется вся компания. Предстоит его реализация и перенос сотен потребителей. Сбор данных о приложениях
Вы будете актуализировать данные обо всех существующих в компании приложениях. Цель — добиться того, чтобы информация о десятках тысяч запущенных приложений, в том числе об изменениях их конфигурации, о статусе работы компонентов, обновлялась с минимальными задержками. Нужно будет реализовывать и улучшать взаимодействие с десятками провайдеров различных типов ресурсов. Ускорение доставки данных до потребителей
Предстоит разработать подсистему доставки данных о сущностях до сотен потребителей — сторонних систем: проработать решение, реализовать его и интегрировать. Масштабирование системы в соответствии с ростом нагрузок
Стабильный рост нагрузки порядка 50% в год требует проводить регулярные работы по масштабированию. Это включает поиск узких мест, RnD возможных вариантов решения, реализацию горизонтального масштабирования. Больше о бэкенде в Яндексе — в канале Yandex for Backend

Ключевые навыки:

  • Владеете Python и Go в одной из двух комбинаций: либо уверенно знаете Python (синтаксис, типизацию, структуры данных, функции, исключения), готовы освоить Go и писать на нём новые сервисы, либо уверенно знаете Go и уже работали с Python — сможете читать и развивать существующие бэкенды
  • Работали с разными типами баз данных: реляционными (PostgreSQL) и NoSQL (MongoDB, Redis), умеете составлять сложные запросы и оптимизировать их
  • Уверенно владеете веб-фреймворками, такими как Django, FastAPI или Flask
  • Писали тесты с использованием unittest, pytest или других библиотек для тестирования
  • Настраивали системы непрерывной интеграции и доставки, такие как GitLab CI/CD или аналоги, и работали с ними

Дополнительные требования:

  • Занимались коммерческой разработкой на проектах с большим количеством интеграций
  • Писали продакшн-сервисы на Go (если приходите со стороны Python) или на Django/FastAPI (если приходите со стороны Go)