Инженер-программист (С++)

Уровень зарплаты: от 60 000 руб.
Местоположение: Россия, Ставропольский край (МСК +0ч)

Резюме: Инженер-программист (С++)

Опыт работы: 4 года

ООО "Фениксмед АИ"
Программист C++
Апрель 2025 — сейчас (9 месяцев)

Разработка приложения для анализа медицинских изображений и поддержки принятия врачебных решений в области травматологии на C++ с использованием ITK, VTK и wxWidgets.

Обязанности и достижения:

- Оптимизация скорости работы: Нашел и переписал самое медленное место в коде - модуль загрузки и подготовки DICOM-снимков. После правок загрузка исследований ускорилась в ~7.5 раз. Пользователи (врачи) перестали ждать загрузки нескольких тысяч снимков минутами.

- Проектирование и реализация новых модулей: Полностью спроектировал и написал с нуля три больших функциональных блока:
1) Инструменты измерений: Линейка, углы (в том числе для сколиоза - угол Кобба), эллипсы. Каждое измерение можно было выбрать, передвинуть его точки, удалить.
2) Инструмент разметки: Простой редактор на базе OpenCV, чтобы можно было рисовать поверх снимков (кисть, линии, ластик с возможностью стирать только фон или только нарисованные элементы). Этим потом пользовались для создания разметки под задачи машинного обучения.
3) Модуль анализа динамических исследований: Разработал систему для обработки специальных серий снимков (например, отслеживающих распространение контрастного вещества). Программа автоматически группировала сотни изображений по типам и временным меткам, а затем строила график изменения «яркости» тканей во времени. Такой график - ключевой инструмент для врача, чтобы визуально находить области с аномальным накоплением контраста, что является важным признаком при диагностике.

- Работа со сложной визуализацией: Разобрался в чужом коде на Java, чтобы перенести логику работы мультипланарного перекрестья в наше приложение на C++. Отвечал за синхронное движение трех плоскостей (аксиальной, корональной, сагиттальной)

- Доработка 3D-визуализации: Реализовал систему быстрого переключения цветовых схем (LUT-пресетов) для 3D-моделей, например, для ангиографии (CT-AAA). Это позволяло врачам быстро менять вид реконструкции под свои задачи.

- Общая кодовая база: Активно участвовал в код-ревью, старался писать понятный код и применять принципы SOLID, где это было уместно. Исправлял ошибки, работал с конфигурацией в XML, поддерживал работу с архивами (ZIP/RAR).

Технологии: C++, STL, ITK, VTK, wxWidgets, OpenCV, XML, multithreading, Git, SOLID.

---------------------------------------------

ООО "Стилсофт"
Программист-стажер С++
Июль 2024 — Март 2025 (9 месяцев)

Обязанности и достижения:

- Разрабатывал высокопроизводительные приложения-эмуляторы реальных устройств на C++ с использованием Qt4/Qt5.
- Реализовывал сетевое взаимодействие через TCP/UDP-сокеты (QTcpSocket/QUdpSocket), обеспечивая надежный и стабильный обмен данными.
- Работал с многопоточностью, использовал мьютексы и механизмы синхронизации для потокобезопасной логики.
- Изучал и внедрял протоколы обмена данными, интегрировал решения с корпоративными системами.
- Ключевой проект: разработка и поддержка эмуляторов устройств, включая обработку изображений с помощью OpenCV2.
- Анализировал техническую документацию и спецификации протоколов для корректировок конфигурационных файлов и реализации новых функций.
- Активно использовал Wireshark для анализа и отладки сетевых протоколов корпоративных продуктов, диагностики проблем взаимодействия и обратной разработки обмена данными.

Технологии и инструменты:

C++, Qt4/Qt5, TCP/UDP, многопоточность, мьютексы, OpenCV2, Wireshark, Jira, Confluence, Git

---------------------------------------------

C++ / Qt Developer
Февраль 2024 — Июль 2024 (6 месяцев)

Описание проекта:
Разработка учебного клиент-серверного приложения (онлайн-казино) на C++ / Qt с использованием WinSock2 и базы данных SQLite. Основной объём серверной логики и архитектуры клиент-серверного взаимодействия выполнялся мной. Проект прошёл техническое рецензирование в ООО «Стилсофт».

Обязанности и достижения:

- Проектирование архитектуры клиент-серверного взаимодействия, включая протокол обмена данными и систему команд.
- Разработка серверной части: обработка игровых клиентов в отдельных потоках, синхронизация с использованием мьютексов, управление игровыми сессиями.
- Реализация игровой логики (Blackjack) полностью на стороне сервера, включая все проверки, расчёты и управление состояниями.
- Работа с SQLite: хранение данных, выполнение запросов, подготовка структуры базы.
- Интеграция сетевого взаимодействия через WinSock2, отладка и корректная обработка пакетов на клиенте.
- Доработка клиентской части Qt-приложения для корректной визуализации состояния игры на основе данных от сервера.
- Совместная работа в небольшой команде: распределение задач, синхронизация изменений, ревью друг друга.
- Улучшение устойчивости протокола, оптимизация потоковой обработки и повышение стабильности соединений.

Технологии и инструменты:
C++, Qt, WinSock2, SQLite, многопоточность, мьютексы, клиент-серверная архитектура, Git

---------------------------------------------


CraftEngine — собственная студия разработки модов для Minecraft
2 года и 2 месяца
Java Developer / Modding Developer (freelance, коммерческие задачи)
Январь 2022 — Февраль 2024 (2 года и 2 месяца)

Работаю над коммерческими модами/плагинами для Minecraft (FML 1.7.10). Поддерживаю собственную modding-студию CraftEngine - https://craftengine-studio.gitbook.io/craftenginestudio.

Обязанности и достижения:

- Разработка модов и плагинов на Java под FML 1.7.10.
- Проводил рефакторинг и исправление багов в открытых модах Minecraft, включая устранение крашей, улучшение логики и оптимизацию производительности.
- Разрабатывал систему клиент–серверного обмена данными между модами и серверными плагинами, обеспечивая корректную синхронизацию игрового состояния и обработку пользовательских действий.
- Создание GUI-элементов, игровых механик, предметов, блоков и кастомных систем.
- Оптимизация производительности и устранение конфликтов между модами.
- Поддержка небольших коммерческих проектов для майнкрафт-серверов.
- Настройка Gradle, Forge-окружения, рефакторинг и ревью кода.

Посмотрите похожие резюме

Android разработчик
Зарплата: 60 000 руб.
Бэкенд разработчик
Зарплата: 250 000 руб.
Программист DELPHI, ORACLE
Зарплата: 130 000 руб.