C++ Developer in Control Plane
Чем Вам предстоит заниматься:
- Совместно с командой Вам предстоит разработка решений от этапа исследования и прототипирования до вывода в коммерческое использование;
- Разработкой и тестированием высоконагруженной системы реального времени, реализующей протоколы контрольного уровня 4G LTE, а в перспективе — 5G NR;
- Исправлением дефектов;
- Разработкой тестов на реализованный функционал (на различных уровнях тестирования);
- Решением задач оптимизации приложений;
- Анализом кода/участием в обсуждении кода (как своего, так и коллег).
Что мы ожидаем от будущего члена команды:
- Знание стандарта С++11 и новее и стандартной библиотеки;
- Понимание и умение использовать классические алгоритмы и структуры данных;
- Знание и понимание различных уровней тестирования, техники test-driven development, умение тестировать собственный код и автоматизировать тесты;
- Опыт многопоточного программирования, знание примитивов синхронизации;
- Знание и опыт использования механизмов межпроцессного взаимодействия;
- Знание сетевых моделей TCP/IP, OSI;
- Умение читать и понимать спецификации и стандарты;
- Опыт работы с Git, GitLab, баг-трекингом (JIRA), Confluence;
- Опыт работы/понимание Agile & Scrum;
- Знание английского на уровне чтения и написания технической документации.
Дополнительно приветствуем:
- Знание и опыт работы с bazel или других систем автоматизации сборки ПО;
- Знание и опыт работы с Docker;
- Опыт написания юнит тестов с использованием Google Test или подобных библиотек;
- Умение применять принципы SOLID и Clean Code;
- Знание и опыт работы с Protocol Buffers или другими протоколами сериализации данных;
- Опыт написания интеграционных тестов;
- Знание и опыт работы с языком TTCN-3;
- Знание скриптовых языков (Python, Shell etc.);
- Общие знания сотовых сетей GSM/3G/LTE/5G;
- Опыт работы с командной строкой Linux;
- Опыт работы со встраиваемым программным обеспечением, системами реального времени;
- Знание и опыт использования инструментов профилирования кода.