Команда единой платформы компании YADRO (Common Yadro Platform) занимается разработкой единой программной экосистемы платформенного уровня для всех продуктов компании (СХД, Серверы, Сети и Телеком).
Разрабатываемая экосистема включает создание Linux-based дистрибутива ОС, разработку основных платформенных сервисов и модулей, в частности, слоя управления платформой и ОС (Platform Manager), сервисов для сбора диагностических данных, авторизации и аутентификации пользователей, посылки сообщений и алертов. Common Yadro Platform позволяет продуктовым командам сосредоточиться на разработке бизнес-логики и берет на себя большую часть жизненно важных функций платформы, предоставляя необходимые интерфейсы для вышележащих уровней ПО.
Мы ищем организованного и общительного инженера, готового участвовать в разработке платформенных сервисов в стеке Go/Linux.
Чем предстоит заниматься:
- принимать активное участие во всех стадиях разработки CYP сервисов (анализ требований, дизайн, реализация, тестирование и поддержка);
- разрабатывать компоненты единой СYP платформы в технологическом стеке Go/Linux;
- разрабатывать unit-тесты, проводить код-ревью, писать техническую документацию;
- работать в кросс-функциональной команде, взаимодействовать с QA, DevOps и Distro инженерами, а также с инженерными командами различных продуктов компании.
Мы ожидаем от будущего члена команды:
- опыт коммерческой backend разработки на Go от 3 лет;
- способность писать поддерживаемый код и тесты для него;
- понимание паттернов проектирования ПО, классических алгоритмов и структур данных, принципов тестирования ПО;
- понимание принципов сетевого взаимодействия и опыт работы с gRPC/protobuf;
- опыт работы с ОС Linux;
- опыт написания многопоточных и/или асинхронных программ;
- уверенное использование инструментов для разработки: Git, CI/CD системы, таск-трекеры (e.g. Jira), инструменты code review и т.п.;
- умение работать в команде; самостоятельность, ответственность, способность ясно излагать мысли и презентовать результаты работы команде;
- знание английского на уровне, достаточном для чтения и написания технической документации; понимание гибких подходов к разработке
Дополнительно приветствуем:
- опыт системного программирования в Linux;
- глубокое понимание и опыт программного взаимодействия с одной из следующих подсистем Linux: авторизация и аутентификация (NSS, PAM, LDAP), устройства хранения (udev, SCSI, NVMe), сеть (netlink);
- понимание принципов работы современного аппаратного обеспечения;
- опыт чтения спецификаций и написания кода по ним (например, SMTP, SNMP, Syslog, DHCP);
- опыт работы с инструментами мониторинга – Prometheus, VictoriaMetrics, Grafana, OpenTelemetry;
- знание скриптовых языков (Python, Shell, Perl, etc.) и Makefile;
- опыт разработки библиотек и инструментов для разработчиков;
- опыт работы в крупных Enterprise или Open Source проектах.