Golang Technical leader in Telecom management system / Технический руководитель команды Go

Дата размещения вакансии: 02.11.2024
Работодатель: YADRO
Уровень зарплаты:
з/п не указана
Город:
Санкт-Петербург
Требуемый опыт работы:
Более 6 лет

Обязанности:

Мы команда 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);

  • Знание и опыт работы с микросервисной архитектурой, а также знакомство с протоколами и библиотеками необходимыми для реализации микросервисов на Go;
  • Необходимо быть знакомым с классическими алгоритмами и структурами данных;
  • Умение тестировать собственный код;
  • Опыт написания многопоточных и/или асинхронных программ;
  • Знание сетей, базирующихся на TCP/IP;
  • Опыт работы со встраиваемым программным обеспечением и системами реального времени;
  • Опыт работы с системами версионного контроля (Git, BitBucket) и баг-трекинга (JIRA);
  • Важно знать английский на уровне чтения и написания технической документации.