Senior / Strong Middle C++ Developer (C++98, Qt4, низкоуровневые задачи)
Summary
Senior or strong mid-level C++ developer maintaining and extending a legacy desktop data-recovery tool using C++98, Qt4, and low-level file-system/driver work.
Навыки: C++, Qt, QML, C++ stl, Python, Bash, Cmake, GNU Compiler collection. Квалификация: Senior. Специализации: Десктоп разработчик.
Senior / Strong Middle C++ Developer (C++98, Qt4, низкоуровневые задачи)
Локация: Полная удаленка (из любой точки мира)
Занятость: Полная занятость, гибкий график 5/2
Зарплата: от 2500 USD
Кто мы ищем?
Мы — BGStaff, кадровое агентство, и мы помогаем нашему клиенту, международному продуктовому разработчику, найти сильного C++ разработчика. Наш клиент более 20 лет создает профессиональное ПО для работы с накопителями данных и восстановления информации. Это сложный, высокотехнологичный продукт с миллионной аудиторией по всему миру (системные администраторы, IT-специалисты, инженеры дата-центров).
Проект пережил несколько эпох, и сейчас мы ищем человека, который не боится legacy-кода, умеет в низкоуровневую разработку и готов разбираться в том, как работают файловые системы и драйверы «под капотом». Вам предстоит работать с C++98 и Qt4, но при этом решать задачи, которые редко встречаются в веб-разработке или типовом enterprise.
Чем предстоит заниматься:
Ваша основная задача — поддержка, рефакторинг и развитие ядра продукта. Вам придется глубоко погружаться в чужой код, находить неочевидные баги и внедрять новую функциональность.
Примеры реальных задач (чтобы вы понимали уровень):
- Разработка и отладка драйверов монтирования образов дисков под различные ОС (бинарные форматы, FUSE).
- Исследование форматов файловых систем (например, Btrfs) и написание алгоритмов поиска уцелевших файлов при поврежденной структуре ФС.
- Устранение фризов GUI: вынос ресурсоемких операций чтения данных в отдельные потоки без нарушения логики текущего кода.
- Исправление редких глюков под специфическими платформами: WinPE, MacOS (вплоть до архитектуры PowerPC), Windows 25 (QML).
- Проектирование единого API для работы с файловыми системами (локальные, удаленные через агента, FTP, WebDAV, облачные хранилища).
- Доработка самописных библиотек сетевого взаимодействия и видео-плеера (QtAV + ffmpeg).
- Работа с кастомными виджетами, QML, экспорт данных в HTML+JavaScript.
Технологический стек:
- C++98, STL, Qt4 (основной стек), Qt6 (MacOS), QML.
- Сборка и окружение: Visual Studio 2008, GCC/Clang, CMake, Bash, Python.
- Инструменты: Git, Subversion, Redmine, Buildbot, Telegram.
Кого мы рассматриваем:
Мы ищем Senior или очень сильного Middle разработчика, который готов работать с устаревшими стандартами языка (C++98) и не боится сложных, нетривиальных задач.
Важно:
- Опыт коммерческой разработки от 5 лет.
- Отличное знание C++ (независимо от стандарта).
- Обязательный опыт работы с Qt (желательно Qt4). Без опыта Qt — только если вы уникальный талант, который готов быстро освоить его с нуля (но это скорее исключение).
- Умение разбираться в чужом коде, самостоятельность, ответственность.
- Навыки отладки в разных ОС (Windows, Linux, MacOS).
- Английский язык на уровне чтения документации и написания комментариев к коду.
Будет плюсом:
- Опыт с низкоуровневым программированием (драйверы, работа с железом).
- Понимание принципов работы файловых систем и сетевых протоколов.
Условия работы:
- Удаленный формат: работайте из любой точки мира.
- Гибкий график: 40 часов в неделю, вы сами планируете свое время (важно пересекаться для синхронизации, но количество встреч минимально).
- Минимум бюрократии: максимум кода и реальных задач. Общение преимущественно с ведущим разработчиком и тестировщиком.
- Оформление: договор на разработку ПО с ИП (самозанятость).
- Зарплата: от 2500 USD до 3500 USD (на испытательный срок — от 2500 USD).
- Испытательный срок: 3 месяца.
- Бонусы: возможность премии по итогам года.
Ожидания от кандидата:
Нам нужен человек, который не будет отбывать часы. Мы небольшая команда профессионалов (всего 4-5 разработчиков), и вклад каждого виден. Мы не рассматриваем кандидатов, которые работают по остаточному принципу («на основной работе — 8 часов, здесь — по совместительству»). Здесь нужно гореть задачами, быть любознательным и не бояться предлагать улучшения, даже если они выходят за рамки текущего ТЗ.
Процесс отбора:
- Рассмотрение резюме.
- Интервью с рекрутером.
- Техническое интервью с ведущим разработчиком и главным разработчиком проекта.
- Офер.
Как откликнуться?
Отправляйте резюме на почту: recruiter4@bgstaff.ru
В теме письма укажите: «C++98/Qt4 Вакансия».
Или пишите в Телеграм Надежде (@Bykova_Nadezhda).
Ждем ваших откликов! Будет сложно, но интересно.