Middle Developer C/C++
Наша компания является разработчиком и поставщиком собственного продукта в сфере информационной безопасности – многофункциональной системы, которая позволяет клиентам решить две сложные и важные задачи бизнеса: предотвратить утечку конфиденциальной информации и повысить эффективность работы всей компании в целом.
В настоящий момент мы находимся в поиске Middle C++ Developer.
Обязанности:
- Проектирование, разработка и сопровождение серверных и клиентских модулей DLP-системы.
- Разработка платформозависимого и кроссплатформенного кода с учётом требований производительности, масштабируемости и надёжности.
- Поиск и внедрение эффективных решений для оптимизации производительности и снижения потребления ресурсов.
- Написание и поддержка unit- и интеграционных тестов для обеспечения качества кода.
- Участие в процессах code review для повышения качества и читабельности кода.
- Взаимодействие с другими командами для интеграции компонентов и решения технических вопросов.
- Участие в проектировании архитектуры новых модулей системы.
- Оптимизация существующего кода и участие в рефакторинге.
- Разработка и внедрение инструментов автоматизации тестирования и деплоя.
- Участие в исследованиях новых технологий и их адаптации под требования проекта.
- Проведение технических консультаций и помощь младшим разработчикам.
Требования:
- Знание стандартов C++ (11, 14 или 17). Умение применять современные возможности языка (умные указатели, лямбда-выражения, std::thread, std::move и т.д.).
- Опыт разработки на C/C++. Реальные проекты, включающие как низкоуровневую, так и высокоуровневую работу.
- Хорошие знания классических алгоритмов и структур данных. Умение эффективно применять массивы, списки, деревья, хеш-таблицы, сортировки и графовые алгоритмы.
- Опыт разработки для ОС Windows. Умение работать с Visual Studio, компиляторами и отладчиками под Windows.
- Уверенные знания внутреннего устройства ОС Windows. Понимание работы процессов, потоков, управления памятью, IPC и системных вызовов.
- Опыт работы с STL и Boost. Уверенное использование контейнеров, алгоритмов, умных указателей STL. Навыки работы с библиотеками Boost (например, Boost.Asio).
- Опыт многопоточного программирования. Понимание основных концепций (потоки, синхронизация, race conditions, deadlock). Навыки работы с mutex'ами, condition_variable и другими средствами синхронизации.
- Хорошие знания ООП. Понимание принципов наследования, полиморфизма, инкапсуляции и умение проектировать код с их использованием.
- Опыт сетевого программирования. Понимание работы сетевых протоколов (TCP/IP, HTTP), навыки разработки с использованием сокетов.
- Технический английский. Умение читать и разбираться в технической документации.
Приветствуется:
- Знание шаблонов проектирования и умение применять их на практике.
- Опыт работы с системами контроля версий (Git).
- Навыки профилирования и оптимизации приложений (например, использование Visual Studio Profiler или аналогов).
Мы предлагаем:
- Комфортную и продуманную адаптацию.
- Официальное трудоустройство и полностью «белую» зарплату.
- Пятидневную рабочую неделю, где пятница – сокращенный день.
- Корпоративные мероприятия.
- Оплачиваемый отпуск (25 календарных дней) и больничный.
- Возможность удалённой работы.
220114, г. Минск, пр. Независимости 117А, 10 этаж, офис 2