IDM
Язык буткемпа: Go, Java, Python
Технологии: Celery, Django, Docker, MongoDB, PostgreSQL
IDM (Identity Manager) — это сервис, который служит для управления доступами пользователей, предоставляя и отзывая роли. Это помогает другим сервисам Яндекса централизованно предоставлять доступ к своим ресурсам. Также это позволяет своевременно актуализировать роли пользователей при увольнении, смене подразделения или обязанностей.
Стек
Python, Go | Языки |
---|---|
Django | Фреймворк |
PostgreSQL | База данных |
Temporal | Оркестратор операций |
Команда
Наша команда состоит из менеджера и шести разработчиков:
- Двоих бэкенд — на Python
- Двоих бэкенд — на Go
- Двоих фронтенд — на React
Кроме того, у нас есть множество задач на редизайн сервиса, поэтому нам также помогают два дизайнера.
Особенности
- Наш проект сейчас находится в стадии редизайна — как на фронтенде, так и на бэкенде — и код на Go мы пишем с нуля. Это позволяет нам пробовать новые технологии, подходы к разработке и нестандартные решения.
- Мы стараемся находить баланс в разработке на Go и на Python, поэтому задачи у нас разнообразные и позволяют при желании попробовать более одного стека технологий.
- Мы приветствуем креативность и проактивность как в разработке, так и в технологиях. Если есть хороший инструмент или библиотека, которые значительно улучшат работу сервиса - мы с удовольствием обсудим их потенциальное внедрение.
- Мы понимаем, что IT для разработчика — это не только написание кода. Поэтому стараемся уделять особое внимание процессам — код ревью, написанию тестов, коммуникации между командами и многому другому. Всё это помогает нам расти как специалистам и двигаться вперед по карьерной лестнице.
Что нужно принять во внимание
- Наш сервис критически важен для Яндекса, поэтому у нас есть дежурства. Дежурные ротируются каждую неделю, и в их обязанности входит решение проблем, поступающих через службу поддержки. Но не стоит пугаться, ведь для всего этого у нас есть все необходимые инструменты — дашборды, алерты, доступы и понятный процесс.
- У нас есть еженедельные рефайнменты, а техническую проработку мы делаем все вместе. Для нас важно, чтобы все понимали, зачем мы добавляем новую фичу, и могли указать на проблему или просто высказать свое мнение. Поэтому до определённой степени у нас каждый должен уметь и быть готовым анализировать и прорабатывать техническую реализацию новых компонент — на проекте таких задач очень много.
Вызовы
- Мы работаем с биллингом, мимо нас иногда проходят деньги. А ещё мы работаем с квотами, которые в итоге превращаются в деньги. Поэтому нам надо писать аккуратный код.
- У нас, как и во всей инфре, нет QA-инженеров, поэтому мы пишем много тестов — юнит, интеграционных.
- Наша цель — сделать управление серверными ресурсами максимально дружественным по отношению к пользователь, простым и очевидным на масштабе всего Яндекса.
- От результатов нашей работы и качества наших инструментов зависит стабильность и возможность развития всех сервисов Яндекса. Компания продолжает активно развиваться, растёт количество и качество сервисов, а вместе с этим растут потребности в серверных ресурсах и удобных, надёжных инструментах для работы с ними.