О команде

Команда Network разрабатывает и поддерживает виртуальную сеть Облака MWS. Виртуальная сеть позволяет облачным ресурсам безопасно коммуницировать друг с другом, ресурсами в интернете или вашей частной сети. Она похожа на привычную вам сеть, которой многие пользуются дома, в офисе или собственном центре обработки данных. Но используя преимущества внутренней инфраструктуры Облака MWS, виртуальная сеть обеспечивает пользователю дополнительные преимущества: безопасность, изоляцию, масштабируемость и высокую доступность.

Какие технологии лежат в основе [нашего] SDN

Доклад Якова Жданова на МТС True Tech Day

Рассказываем, как мы разрабатываем SDN с нуля, опираясь на открытые продукты и технологии, такие как SRv6, VPP, FRR и другие. Объясняем, почему решили не использовать готовые продукты, доступные на рынке. Рассматриваем нюансы архитектуры решения — состав и назначение компонентов и связь между ними.

Стек

Наш стек технологий включает задачи на разных языках программирования

Java/Kotlin

Разработка публичных и внутренних API, оркестрация для control plane с использованием Spring и других open source решений, PostgreSQL в качестве хранилища данных

Golang

Разработка компонентов для control plane и data plane нашей виртуальной сети

C

Разработка компонентов для control plane и data plane с использованием DPDK, VPP, FRR и других технологий

Сборка и развёртывание

Для управления кодом и сборки у нас GitLab и GitLab CI, а развёртывание осуществляется в Kubernetes и в виде Infrastructure as Code

Кого мы ищем

Какие задачи вас ждут
Какие задачи вас ждут

Java

  • Проектировать и реализовывать разные компоненты системы управления виртуальными сетями, как центральных, так и хостовых
  • Разрабатывать публичные и внутренние API для наших компонентов
  • Обеспечивать отказоустойчивость и масштабируемость системы управления виртуальными сетями
  • Проектировать и реализовывать доменную модель Control Plane на Java/Kotlin

 

Go

  • Разрабатывать компоненты системы управления виртуальными сетями, а также балансировщиков, firewall, NAT и других сервисов
  • Интегрировать компоненты системы управления с компонентами Data Plane
  • Обеспечивать отказоустойчивость и масштабируемость Data Plane компонентов
  • Разрабатывать бэкенд сетевых облачных сервисов — DNS, балансировщика нагрузки и других

 

C — Data plane group

  • Проектировать и реализовывать компоненты высокоскоростного обработчика пакетов на базе vpp — тут происходит преобразование пакетов на переходе overlay/underlay, реализована низкоуровневая логика НАТ, применяются маршруты и происходит проверка правил файрвола
  • Работать над улучшениями открытого продукта frr для распространения маршрутной информации
  • Работать над отказоустойчивостью и эксплуатационными характеристиками системы в целом — решать вопросы бесшовных релизов и быстрых восстановлений после сбоев
Мы рассчитываем, что вы
Мы рассчитываем, что вы
  • Имеете опыт разработки на Java, Java/Kotlin, Go или C/C++ от 5 лет
  • Обладаете опытом работы с RDMS (Postgres, MySQL) и понимаете транзакционные гарантии
  • Имеете опыт разработки сетевых и многопоточных приложений
  • Можете быстро читать существующий код и давать чёткие комментарии на код-ревью
  • Умеете качественно и полно писать unit-тесты и хорошо их структурировать
/ Забота о сотруднике

Мы предлагаем

Удобный формат работы: гибридный или удалённый из любой точки России

Расширенный полис ДМС со стоматологией и страхованием от несчастных случаев

Три дополнительных дня отпуска в год

Компенсацию мобильной связи, подписок на сервисы МТС

Компенсацию обучения и посещения конференций

Вопросы и ответы

Как проходит собеседование в команду?

Собеседование состоит из нескольких этапов:

Разговор с рекрутером. Обычно занимает до 30 минут.

Техническое интервью. Обычно занимает 60 минут, но рекомендуется зарезервировать 90 минут.

Архитектурное интервью. Для кандидатов уровня senior+, обычно занимает 60 минут, но рекомендуется зарезервировать 90 минут.

Финальное интервью. На нём можно познакомиться с разными командами и выбрать понравившееся направление.

Яков Жданов

Яков Жданов

Руководитель направления

Написать в Telegram

«Команда Network разрабатывает и поддерживает виртуальную сеть облака MWS. Мы создаём сетевые сервисы, на которых будут строиться современные высокопроизводительные отказоустойчивые безопасные приложения.

В нашу команду мы ищем единомышленников как с опытом разработки ПО в сетевом домене, так и без него. Присоединяйтесь — будет интересно!»

Актуальные вакансии

  • Tech Lead C/C++ [Network and Network Services]

    Ждём сильного руководителя команды разработки, который умеет управлять проектами и запускать их с нуля

  • Senior Java/Kotlin-разработчик [Network]

    Ищем опытного Kotln- или Java-разработчика, который будет работать с сетевыми сервисами для построения облака

  • Senior C-разработчик [Network and Network Services]

    Ищем разработчика, который хочет погрузиться в сложные сети, open source VPP, DPDK, FRR

  • Senior Golang-разработчик [Network]

    Ищем разработчика, который будет создавать систему управления виртуальными сетями