👀 Дизайнеры, с какой командой вы мэтчитесь по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Go Developer Telecom / Старший инженер-программист (Go)

Требования

Бэкенд разработчикGolangLinuxDockerKubernetesTCP

Местоположение и тип занятости

Москва, Санкт-Петербург, Нижний НовгородПолный рабочий деньМожно удаленно

Компания

Создавать передовые технологии — это наше призвание

Описание вакансии

О компании и команде

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.

Условия работы

  • Конкурентный уровень заработной платы (готовы по достоинству оценить ваши знания и опыт) + премирование по результатам работы;
  • Полностью удалённую работу на корпоративном ноутбуке или гибридный формат работы в офисах присутствия Москва, Санкт-Петербург, Нижний Новгород, Минск. 
  • Возможность расти горизонтально и вертикально, а также в зависимости от результатов и интересов перемещаться между проектами и командами.