Российская IT-компания, разработчик ПО в сфере информационной безопасности ищет С++ программиста в рамках расширения проектной команды.
Компания работает над созданием и выведением на рынок телекоммуникационного продукта промышленного класса.
Область применения продукта: VoIP-сети операторов связи, крупные корпоративные сети.
- Проект большой длительности, возможность работы над различными компонентами системы, возможность развития в направлениях: lock-free, DPDK, высокопроизводительные системы, специфика VoIP оборудования.
Обязанности:
- Чтение документации и ТЗ, доработка и проектирование структур движения и размещения объектов данных и передача таких данных между потоками внутри приложения в соответствии с ТЗ
- Работа в команде по выданным задачам, связанным с С/С++ написанием кода для проекта. Написание компонентов тестирования для поиска и исправления багов.
Требующиеся навыки
- Язык С/С++, высокий уровень владения и понимания синтаксических конструкций как С, так и объектным уровнем С++ (включая шаблоны). Cmake на базовом уровне, умение изменить CMakeLists.txt скомпилировать проект, работа с gdb (включая gdb в консоли)
- Опыт реализации IP-сетевых приложений. Разбор, модификация пакета на уровне app payload (L5) либо на уровнях TCP/UDP/IP.
- Понимание принципов работы многопотоковых приложений и методов взаимодействия и передачи структур данных между потоками.
- Работа с системными сокетами, организация межпроцессного взаимодействия.
- Умение работать с базовыми объектами STD Templates: std::vector, std::map, std::array, std::list, std::unordered_map, std::string в составе не критичного к скорости выполнения кода
- Умение работать в консоли Linux на базовом уровне
Желательные навыки
- Понимание принципов быстрых поисков данных на основе Hash таблиц и конструирование таких поисковых структур, либо кастомизации общих решений.
- Понимание принципов работы со структурами связных списков, когда одна структура содержит указатель на следующую структуру.
- Умение не злоупотреблять конструкциями malloc() , new() и memcpy() в составе кода, являющегося высоконагруженным приложением
Условия: - Занятость полная.
- Гибкий график
- Удаленная работа.
- Оклад по результатам собеседования( обсуждается с каждым индивидуально)
- Испытательный срок – 3 месяца.
Ключевым моментом является готовность кандидата работать руками в существующей команде, вникнуть в написанный код, который может оказаться неудобным/непривычным, но это обязательно для успешной работы.
Если вы хотите поработать над интересным и долгосрочным продуктом в успешной IT компании в классной команде, то скорее откликайтесь!