Senior Системный программист C/C++ (удаленная работа)

23 ноября 2024

Уровень зарплаты:
з.п. не указана
Требуемый опыт работы:
Не указан

Вакансия: Senior Системный программист C/C++

Описание вакансии

Вам предстоит работать над самым сердцем Qrator системой высокоскоростной обработки трафика (десятки миллионов пакетов в секунду на сервер). Задача на этом уровне формулируется так: быстро принять все хорошее и так же быстро дропнуть все плохое.

Суть DDoS сводится к тому, чтобы найти слабую точку и ударить в нее, исчерпав какой-нибудь из ее ресурсов (сетевой канал, память, процессор, возможности сетевого чипа на свитче или сетевой карте и т.п.). Соответственно, основная стратегия защиты это распределение удара (горизонтальное масштабирование ресурса). Однако, во-первых, распределение нагрузки от некоторых умных атак это весьма нетривиальная задача, а во-вторых, бездумное масштабирование любого железа про запас было бы слишком дорогим. Поэтому одна из наших постоянных задач это изучение и тестирование всевозможного железа от свитчей и сетевых карточек до процессоров и памяти с целью сравнения железок между собой, выявления узких мест и понимания предельной производительности. И связанная задача модификация нашего софта так, чтобы подобраться к этому пределу. Про многое о работе железа и его эффективном использовании можем рассказать (и рассказываем на конференциях). Мы постоянно совершенствуем алгоритмы для вычленения вредоносного трафика, и о своих находках в этой области мы также стараемся рассказывать на конференциях и в публикациях.

Иногда нужно вылезать из низкоуровневого ядерного и сетевого программирования и погружаться в сервера приложений, которые также нужно поддерживать и улучшать (например, сделать новый алгоритм балансировки для основных серверов или придумать схему распределения нагрузки инфраструктурных приложений).

На чем пишем?

В ядре крайне сложно писать на чем-либо, кроме C, поэтому много пишется на C. Иногда появляется Python в тех местах, где удобство важнее производительности (например, сделать биндинги для наших верхнеуровневых модулей). В userspace используется как C, так и C++.

О вас:

- Опыт разработки ядра Linux и понимание основных концепций (SKB, RCU, you name it) или опыт разработки высокопроизводительных сетевых приложений на DPDK или других низкоуровневых стеках.

- Знакомство с базовыми алгоритмами, готовность разрабатывать, исследовать и реализовывать новые сложные алгоритмы. Если вас пугает матан или вы считаете, что все интересные и полезные алгоритмы уже придуманы, то вряд ли вам будет комфортно с нами.

- Опыт с многопоточным программированием.

- Базовое знание HTTP, DNS, BGP, TCP/IP.

- Git.

- Глубокое знание C/C++

Пожелания:

- Знакомство с шифрованием и опыт работы использования библиотек OpenSSL/LibreSSL в проектах.

- Знакомство с основами ИБ.

- Приветствуется знакомство с Python

Что предлагаем:

  • Формат сотрудничества на выбор: удаленная работа, гибридный график
  • Участие в международных конференциях и профессиональное обучение
  • высокопрофессиональные коллеги и интереснейшие задачи
  • официальное оформление, оплачиваемые обеды в офисе, зоны отдыха и спорта корпоративный английский язык, ДМС (полная страховка)
  • оклад + ежеквартальные премии = высокий доход, прозрачная система мотивации
  • Гибкий график.
  • Бронь от частичной мобилизации.


Посмотрите похожие вакансии

Системный программист C Linux (middle/senior)
Компания: AERODISK
Зарплата: от 350 000 до 350 000 руб.
Senior .Net разработчик-аналитик
Компания: Помощь интернет магазинам
Зарплата: з.п. не указана