Go Developer Telecom / Старший инженер-программист (Go)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О компании и команде
R&D центры YADRO находятся в Москве, Санкт-Петербурге, Нижнем Новгороде и Минске, производственная площадка расположена в Московской области и строится завод полного цикла. На текущий момент нас уже более 3000 человек.
В связи с запуском нового продуктового направления, мы продолжаем активно расти и расширять команду. Ключевая цель нового телекоммуникационного направления — создание конкурентной линейки RAN-продуктов для мобильных сетей 4/5 поколения. В планах — не только разработка, но и производство телекоммуникационного оборудования на нашем уникальном заводе полного цикла YADRO FAB DUBNA.
Чем Вам предстоит заниматься:
Мы команда Go-разработчиков в Yadro Telecom, разрабатываем программно-аппаратные решения для телеком операторов от этапа исследования и прототипирования до вывода в коммерческое использование. Сейчас с нуля ведем разработку системы управления и мониторинга сетевых элементов состоящей из NMS (Network Management System), EMS (Element Management System) и ОАМ (Operations, administration and management) агентов на базовых станциях и элементах опорной сети. Весь разрабатываемый код покрывается unit/функциональные/компонентные тесты и проходит code-review коллегами.
В задачи системы входит настройка, управление сетевыми элементами, сбор различных статистик, ошибок, обновление. Это объемная система, которая будет работать с высокой нагрузкой и взаимодействовать с десятками тысяч базовых станций.
Разработка ведется на Go, используется Docker, Kubernetes. У нас микросервисная архитектура, сервисы взаимодействуют между собой через Message Broker, с сетевыми элементами взаимодействие по стандартизированному REST API, NETCONF. В качестве баз данных работаем с PostgreSQL и Victoria Metrics. Также используем Grafana, Loki, Fluentbit, для tracing - open telemetry, для мониторинга - Prometheus, etcd - key value store.
У нас команды до 10 человек, работаем по SCRUM с 2-х недельными спринтами.
Ожидания от кандидата
- Уверенное владение Go (Golang) и опыт разработки на нём от 3-х лет, либо уверенное владение другим языком и желание перейти на Go;
- Знание микросервисной архитектуры, а также знакомство с протоколами и библиотеками необходимыми для реализации микросервисов на Go;
- Знание классических алгоритмов и структур данных;
- Умение тестировать собственный код;
- Опыт написания многопоточных и/или асинхронных программ;
- Знание сетей, базирующихся на TCP/IP;
- Опыт работы со встраиваемым программным обеспечением и системами реального времени;
- Опыт работы с системами версионного контроля (Git, BitBucket) и баг-трекинга (JIRA).
Дополнительно приветствуем
- Знание протоколов SNMP, NETCONF, SOAP, REST;
- Знание архитектуры систем управления и мониторинга сетей связи - EMS (Element Management System) и NMS (Network Management System), а также относящихся к ним наборов спецификаций O-RAN и 3GPP;
- Знание скриптовых языков (Python, Shell, Perl, etc.);
- Опыт системного программирования;
- Общие знания мобильных телекоммуникационных систем GSM/LTE/5G;
- Опыт работы/понимание Agile & Scrum.
Условия работы
- Конкурентный уровень заработной платы (готовы по достоинству оценить ваши знания и опыт) + премирование по результатам работы;
- Полностью удалённую работу на корпоративном ноутбуке или гибридный формат работы в офисах присутствия Москва, Санкт-Петербург, Нижний Новгород, Минск.
- Возможность расти горизонтально и вертикально, а также в зависимости от результатов и интересов перемещаться между проектами и командами.