Мы — Центр исследования и разработки беспилотного транспорта. Наша миссия — создать первый в России полностью автономный общественный транспорт, который изменит будущее передвижения.
Каждый день мы делаем шаг к технологическому прорыву, стремясь к тому, чтобы беспилотные технологии стали неотъемлемой частью московского транспорта. Если вы хотите стать частью команды, которая создает будущее, если вы готовы решать амбициозные и сложные задачи, присоединяйтесь к нам!
У вас есть шанс стать частью команды, которая меняет мир. Присылайте свое резюме, и мы вместе сделаем Москву лучше!
Стек:
- Язык: Python
- API: gRPC (protobuf)
- Базы данных: PostgreSQL, ClickHouse
- Аутентификация: Keycloak, JWT
- Инфраструктура: Docker, Git, bash
Требования:
- Уровень: Middle / Senior
- Уверенные знания Python, опыт с asyncio
- Опыт разработки gRPC-сервисов
- Знание SQL (в т.ч. сложных JOIN, CTE, оконных функций)
- Понимание принципов авторизации и аутентификации (JWT, OAuth2, Keycloak и др.)
- Опыт работы с PostgreSQL, ClickHouse
- Владение Git, умение работать с ветками и пулл-реквестами
- Умение работать с protobuf
Будет плюсом:
- Понимание принципов оптимизации SQL-запросов
- Опыт написания unit-тестов
- Опыт работы с protobuf на проде
- Опыт разработки backend в области транспорта, логистики или расписаний
Задачи:
- Реализация gRPC-сервисов по заданным protobuf-контрактам
- Работа с PostgreSQL: написание SQL-запросов и работа с транзакциями
- Интеграция авторизации по JWT, валидация ролей
- Разработка и покрытие юнит-тестами логики (CRUD, фильтрация, пагинация)
- Участие в миграции авторизации из тела запроса в gRPC metadata и интерцепторы
- Влияние на архитектурные решения
Условия:
-
Трудоустройство и работа в соответствии с ТК РФ
-
Бесплатный проезд в столичном метро
-
Бесплатный проезд по железным дорогам в пригородном сообщении от места жительства до места работы и обратно в пределах Московской области
-
Льготы на отдых в оздоровительном комплексе метрополитена
-
Детский оздоровительный лагерь и детский клуб
-
Финансовые условия обсуждаем индивидуально в зависимости от опыта кандидата