← Все вакансии

Platform C/C++ Sync Engineer

Чем Вам предстоит заниматься:

  • Развивать системы синхронизации Базовой Станции по времени и распространения сигналов синхронизации с различных источников между компонентами БС;
  • Работать напрямую с тестовым стендом в лаборатории, внесение изменений, работа с измерительным оборудованием промышленного операторского класса (частотомеры, генераторы, осциллографы, эмуляторы сети, и.т.д.);
  • Участвовать в проектировании и развитии архитектуры телеком решений;
  • Разрабатывать компоненты телеком платформы в технологическом стеке С++/Linux;
  • Разрабатывать API по взаимодействию с аппаратным обеспечением и операционной системой для конфигурации и управлению инфраструктурой;
  • Собирать метрики для оценки производительности продукта;
  • Участвовать в диагностике возможных проблем работы системы в тестовых и полевых сценариях;
  • Исправлять дефекты;
  • Создавать инструментарий для поддержки разработчиков;
  • Создавать техническую документацию.

Что мы ожидаем от будущего члена команды:

  • Наличие опыта в C++ (Знания стандарта 17 и выше будет плюсом);
  • Знание и опыт С (опыт разработки модулей ядра Linux будет плюсом);
  • Опыт работы с измерительным оборудованием (генераторы, осциллографы, частотомеры, анализаторы спектра), базовые представления о метрологии;
  • Умение автоматизировать сбор данных с измерительного оборудования;
  • Уверенные знания сетей, базирующихся на TCP/IP;
  • Знание ОС Linux на продвинутом уровне и опыт разработки для Linux (Знание низкоуровнего Linux API (syscalls) будет плюсом);
  • Хорошее представление о современном аппаратном обеспечении (устройство памяти, шин данных, систем ввода-вывода);
  • Опыт работы с системами автоматизации сборки ПО(cmake, autoconf, bazel или любая иная);
  • Опыт работы с механизмами межпроцессного взаимодействия (IPC);
  • Знание примитивов синхронизации потоков в многопроцессорных системах;
  • Знание и понимание различных уровней тестирования, умение тестировать собственный код;
  • Опыт работы с системами версионного контроля (BitBucket, Gitlab) и баг-трекинга (JIRA);
  • Важно знать английский на уровне чтения и написания технической документации;
  • Умение работать с документацией (в первую очередь читать и понимать);
  • Способность разработать требования к измерительному стенду.

Дополнительно приветствуем:

  • Знания или опыт работы с существующими протоколами синхронизации времени
  • Понимание функционирования Event-driven приложений, построение DataPlane (DPDK, ODP, EventMachine);
  • Опыт конфигурирования и использования SRIOV, SoftSwitches;
  • Опыт использования I2C, SPI, PCIe и подобных протоколов и интерфейсов для взаимодействия с оборудованием;
  • Опыт работы со встраиваемым программным обеспечением и системами реального времени;
  • Опыт работы с gRPC и REST протоколами;
  • Знания об устройстве ядра Linux и опыт написания драйверов;
  • Умение писать системные приложения и демоны под GNU/Linux;
  • Общие знания мобильных телекоммуникационных систем LTE;
  • Oпыт в разработке высоконагруженных систем;
  • Oпыт в профилировании кода и в применении различных методов/инструментов отладки/диагностирования ошибок;
  • Опыт «железной» (с помощью измерительных приборов) отладки;
  • Знание и опыт работы с системами виртуализации.
gRPC Linux Jira
Откликнуться →