Вакансия: Программист C/C++
Описание вакансии
Перспективная Российская 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 компании в классной команде, то скорее откликайтесь!