Вакансия: Разработчик C (Senior)
Описание вакансии
Уровень: Старший (Senior)
Технологии/навыки: C, Linux, TCP/IP, разработка сетевых решений
Наша команда разрабатывает Пересвет-СТ систему для тестирования сетевых устройств и приложений.
Решение построено на собственном TCP/IP-стеке поверх DPDK и позволяет одновременно эмулировать клиентскую и серверную сторону, генерировать как пользовательский, так и вредоносный трафик, а также трафик протоколов маршрутизации. Поддерживаются множество стандарты L2 L7 с микросекундной точностью измерений для статистики.
Производительность достигает 100 Гбит/с на 4 ядра CPU. При этом система способна устанавливать более 6 млн TCP-соединений в секунду, удерживать свыше 1 млрд одновременных соединений и обрабатывать более 100 000 TLS-хендшейков в секунду.
Пересвет-СТ позволяет оценить:
- Обеспечивается ли качественная доступность сети от пользователей к устройствам и облачным сервисам предприятия?
- Соответствуют ли устройства кибербезопасности компании актуальным угрозам и заявленной производительности?
- Как сетевая инфраструктура ведет себя под высокой клиентской и вредоносной нагрузкой?
Мы строим компанию для себя, общаемся без формальных ограничений и решаем сложные проблемы.
У нас амбициозные задачи, высокий темп работы и большая ответственность. Взамен - все участники команды получают высокий оклад, премии за выполнение плана, быстрый профессиональный рост и прямое влияние на итоговый продукт.
Мы ищем Senior разработчика С, который дополнит нашу команду и будет работать над ядром генерации сетевого графика, в том числе создавать новые типы эмуляций различных протоколов, оптимизировать существующий код и выбирать правильные архитектурные решения.
Чем предстоит заниматься:
- Совместно с командой разрабатывать и поддерживать высокопроизводительный код ПО на DPDK от R&D до ввода в коммерческую эксплуатацию;
- Участвовать в определении спецификации, дизайна и архитектуры разрабатываемого ПО;
- Интегрировать ПО с другими компонентами системы (например, системой управления).
От вас:
- Опыт разработки на C
- Опыт работы с DPDK: EAL, PMD, mbuf, mempool, ring buffers, hugepages, модель run-to-completion, zero-copy
- Понимание принципов работы RSS
- Владение структурами данных и алгоритмами: массивы, связные списки, хэш-таблицы
- Знание сетевых протоколов: Ethernet, VLAN, IPv4, IPv6, TCP, UDP, GRE, IPSec, TLS, HTTP/2, HTTP/3
- Понимание принципов многопоточной разработки, lockless-алгоритмов и асинхронного подхода
- Понимание архитектуры системы: CPU cache, SMP/NUMA, PCI-Express, прерывания
- Владение инструментами отладки и профилирования: gdb, strace, perf
От нас :
- Свобода в выборе способа реализации новых задач, прямое влияние на продукт и его функционал;
- Работа в небольшой, но очень эффективной команде;
- Любой удобный формат работы: офис, гибрид, удаленка;
- Офис в 10 минутах от м. Воробьевы горы, 15 минут от м. Лужники;
- Оформление по ТК;
- Покупка техники, в том числе для организации домашнего рабочего места;
- Высокий оклад;
- Премии за выполнение плана по разработке;
- Быстрый профессиональный рост: в знаниях, в должности и в деньгах.