Вакансия из первоисточника
Platform C++ developer
YADRO
Москва, Санкт-Петербург, Минск, Нижний Новгород
Описание вакансии
Чем Вам предстоит заниматься: Развитие платформы обеспечивающей middleware services, high avaliability, node management и delivery для приложений в составе базовой станции LTE/GSM; Участвовать в проектировании и развитии архитектуры телеком платформы Разрабатывать компоненты телеком платформы в технологическом стеке С++/Linux; Разработка API по взаимодействию с аппаратным обеспечением и операционной системой для конфигурации и управлению инфраструктурой; Разрабатывать и развивать высокопроизводительный канал коммуникации между компонентами, подсистему временной синхронизации компонентов, управление конфигурацией инфраструктуры и компонент; Поддерживать средства развёртывания и обновления приложений; Сбор метрик для оценки производительности продукта; Исправление дефектов; Создание инструментария для поддержки разработчиков; Разрабатывать unit-тесты, проводить код-ревью, писать техническую документацию; Участвовать в диагностике возможных проблем работы системы в тестовых и полевых сценариях. Что мы ожидаем от будущего члена команды: Знание С и C++11/14/17/20; Уверенные знания сетей, базирующихся на TCP/IP; Знание ОС Linux на продвинутом уровне и опыт разработки для Linux; Хорошее представление о современном аппаратном обеспечении (устройство памяти, шин данных, систем ввода-вывода); Знание и опыт работы со cmake, bazel, yocto или других систем автоматизации сборки ПО; Опыт работы с механизмами межпроцессного взаимодействия (IPC); Знание примитивов синхронизации потоков в многопроцессорных системах; Знание и понимание различных уровней тестирования, умение тестировать собственный код; Опыт работы с системами версионного контроля (BitBucket, Gitlab) и баг-трекинга (JIRA); Важно знать английский на уровне чтения и написания технической документации; Самостоятельное решение сложных комплексных задач в новой предметной области; Умение работать с документацией (в первую очередь читать и понимать). Дополнительно приветствуем: Понимание функционирования Event-driven приложений, построение DataPlane (DPDK, ODP, EventMachine); Опыт конфигурирования и использования SRIOV, SoftSwitches Опыт использования I2C, PCIe и подобных протоколов и интерфейсов для взаимодействия с оборудованием Опыт работы со встраиваемым программным обеспечением и системами реального времени; Опыт работы с gRPC и REST протоколами; Знания об устройстве ядра Linux и опыт написания драйверов; Умение писать системные приложения и демоны под GNU/Linux; Общие знания мобильных телекоммуникационных систем LTE; Знание Go; Oпыт в разработке высоконагруженных систем; Oпыт в профилировании кода и в применении различных методов/инструментов отладки/диагностирования ошибок; Знание и опыт работы с системами виртуализации.