Senior Developer C/C++
Наша компания является разработчиком и поставщиком собственного продукта в сфере информационной безопасности – многофункциональной системы, которая позволяет клиентам решить две сложные и важные задачи бизнеса: предотвратить утечку конфиденциальной информации и повысить эффективность работы всей компании в целом.
В настоящий момент мы находимся в поиске Senior C++ Developer.
Обязанности:
- Проектирование и разработка сложных модулей DLP-системы с учётом требований производительности, надёжности и масштабируемости.
- Решение сложных технических задач, связанных с многопоточностью, сетевым взаимодействием и оптимизацией кода.
- Оптимизация и рефакторинг существующего кода, устранение узких мест в производительности.
- Написание платформ зависимого и кроссплатформенного кода.
- Разработка и поддержка unit- и интеграционных тестов, обеспечение стабильности и надёжности системы.
- Проведение code review для соблюдения стандартов качества и улучшения структуры кода.
- Участие в проектировании API и интерфейсов для интеграции модулей.
- Подготовка технической документации по разработанным решениям и архитектуре.
Требования:
- Глубокие знания языка C++ (11/14/17). Умение эффективно применять современные стандарты языка, включая шаблоны, многопоточность и другие возможности.
- Большой опыт разработки на C/C++. Участие в сложных проектах, где требуется писать и оптимизировать как низкоуровневый, так и высокоуровневый код.
- Опыт проектирования архитектуры программного обеспечения. Умение разбивать сложные системы на модули, проектировать API, учитывать требования масштабируемости и надёжности.
- Отличные знания внутреннего устройства ОС Windows. Понимание работы ядра, потоков, управления памятью, механизмов IPC и системных вызовов.
- Опыт многопоточного и высокопроизводительного программирования. Умение решать проблемы синхронизации, устранять узкие места в производительности.
- Хорошее знание алгоритмов и структур данных. Умение применять классические и оптимальные подходы для решения сложных задач.
- Уверенные знания STL и Boost. Умение эффективно использовать контейнеры, алгоритмы и умные указатели STL, а также библиотеки Boost (например, Boost.Asio).
- Хорошие знания ООП и шаблонов проектирования. Умение проектировать системы на основе принципов SOLID, а также придерживаться подходов DRY и KISS.
- Технический английский. Умение читать и понимать техническую документацию
Приветствуется:
- Навыки работы с инструментами анализа и отладки (например, WinDbg, Process Monitor, Performance Analyzer).
- Умение проводить оптимизацию производительности (например, устранение узких мест по CPU, памяти или сети).
- Понимание процессов CI/CD и навыки взаимодействия с системами сборки (например, Jenkins, TeamCity).
- Опыт написания модульных тестов и проектирования тестируемого кода (Google Test).
- Знание стандартов безопасности при разработке ПО.
- Опыт работы в Agile/Scrum-командах.
Мы предлагаем:
- Комфортную и продуманную адаптацию.
- Официальное трудоустройство и полностью «белую» зарплату.
- Пятидневную рабочую неделю, где пятница – сокращенный день.
- Корпоративные мероприятия.
- Оплачиваемый отпуск (25 календарных дней) и больничный.
- Возможность удалённой работы.
220114, г. Минск, пр. Независимости 117А, 10 этаж, офис 2