Наши разработчики напрямую влияют на развитие системы. Мы уделяем много внимания: * исследованиям и прототипированию; * проектированию архитектуры, обоснованности выбора технических решений; * отказоустойчивости и observability системы; У нас микросервисная архитектура. Есть сервисы на C++ и на Golang. Для написания микросервисов используем асинхронный фреймворк userver — почитать о нём можно тут и тут. Для хранения мы часто выбираем Redis/Valkey. Многие процессы по обслуживанию и написанию сервисов автоматизированы, а сервисы проходят регулярное обучение: команда админов помогает поддерживать их работоспособность. Кроме того, мы постоянно передаём знания внутри команды на еженедельных мероприятиях.
Обязанности:
Реализация точки входа для устройств, использующих MQTT-протоколЭто новый высоконагруженный сервис для взаимодействия с устройствами, которые общаются при помощи MQTT-протокола. Сотни тысяч одновременных устройств, десятки тысяч сообщений в секунду. Реализация системы нагрузочного тестирования
Одна из главных целей команды телематики — надёжность и отказоустойчивость решений. Для этого система должна выдерживать не только текущую нагрузку: необходим запас прочности, предсказуемость потребления ресурсов при масштабировании, отказоустойчивость в большом спектре ситуаций. Реализация новой системы управления прошивками и конфигурациями устройств
Новая система должна объединить несколько разрозненных систем, вобрать в себя все плюсы предшественников и предоставить возможность подключать новые виды устройств быстрее. Развитие системы хранения данных об устройствах
Для каждого устройства мы храним по несколько десятков различных параметров. К системе, которая их хранит, предъявляются высокие требования по нагрузке, доступности и масштабируемости. При этом она должна развиваться, в ней должен появляться новый функционал — например, для быстрой диагностики устройств. Больше о бэкенде в Яндексе — в канале Yandex for Backend
Ключевые навыки:
- Имеете опыт разработки на С++ или Golang
- Разрабатывали бэкенд нагруженных систем
- Ориентируетесь в классических алгоритмах и структурах данных
- Любите погружаться в детали проблем и особенности их решений
