ДГ
Дмитрий Г.
Мужчина, 45 лет
Россия, Краснодар, UTC+3
Ставка
3 896,1 Р/час
НДС не облагается
Специалист доступен с 13 сентября 2025 г.
Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.
Подробнее
О специалисте
Специализация
C++ разработчик
Грейд
Навыки
Отрасли
Знание языков
Английский — B2
Немецкий — B1
Главное о специалисте
Программист C/C++ под OS Windows и Linux x86, LinuxRT embedded (Stack: backend for Windows/Linux, Cross-platform compilation/debugging, конечные автоматы в т.ч. с событийным механизмом управления, Multithreading, STL, BOOST, DLLs, USB, TCP/IP client-server communication, RS232/485, unit test, коммуникационные протоколы…)
Software engineer Delphi (интерфейсы человек-машина, TCP/IP, RS232/485,
высоковольтное оборудование, управление машинами и механизмами, databases, ADC/DAC/IO платы сбора данных…)
Техническая поддержка клиентов, менеджер по продуктам. менеджер по рекламациям
Программист QT C++ (финансовый API, торговые роботы в MT4/MT5, Nasdaq сбор данных и обработка)
Проекты
(25 лет 6 месяцев)
Сканер сети
Роль
Старший инженер-программист отдела системного ПО
Обязанности
Описание проекта: Сервер проекта или АРМ операторов подписываются на сканер, получая актуальные данные об устройствах в сети (контроллерах), в т.ч. не распределенных (без IP адреса, без загруженного ПО по проекту). Возможность передачи устройствам конфигурации через сканер, валидация конфигурации.
Задачи:
Разработка сканера для Astra Linux с двумя интерфейсами (gRPC и libpcap).
Создание трех модулей для контроллера
Поддержка работы модулей 24/7.
Создание протокола обмена для сканирования и передачи информации контроллера.
Обеспечение параллельной обработки нескольких интерфейсов для ускорения сканирования.
Разработка архитектуры с разделением клиент-сервер для коммуникации.
Реализация фильтрации пакетов по ethernet type.
Создание docker-контейнеров для тестирования сканера в окружении контроллеров.
Изучение API libpcap и DPDK для сетевого обмена.
Разработка концепции создания нескольких очередей для асинхронной работы модулей.
Минимальный рефакторинг классов и внедрение наследования для унификации коммуникации через libpcap или DPDK.
Согласование всех аспектов протоколов с командами backend.
Команда проекта: 1 тимлид, 4 разработчика, 2 тестировщика
Достижения
Освоение API библиотеки libpcap и DPDK.
Успешная разработка протокола обмена на protobuf.
Реализация асинхронной работы с несколькими подписчиками по gRPC.
Обеспечение трансляции команд и запросов между клиентами, сканером и контроллерами.
Создание docker-контейнеров для ускоренного полуавтоматического тестирования.
Предложение и подтверждение концепции создания нескольких очередей для независимой работы модулей.
Реализация подхода, позволяющего модулям работать независимо от используемой библиотеки (libpcap или DPDK).
Стек специалиста на проекте
Git, Docker, Linux CLI, MS Windows, embedded, тесты, msvs, gRPC+protobuf
Отрасль проекта
Cloud Services
Период работы
Август 2024 - По настоящее время
(1 год 2 месяца)
Загрузчик
Роль
Старший инженер-программист отдела системного ПО
Обязанности
Описание проекта: Модуль (Загрузчик) работает на контроллере 24/7, получая от сервера команды на запуск, остановку и передачу POSIX сигналов модулям. Он мониторит модули и перезапускает их при падении, если это предусмотрено параметрами. Авторизуется на сервере через HTTPS и анализирует ответы. Запускает утилиты для смены паролей пользователей. Общение с сервером происходит через библиотеку 0MQ с использованием формата данных protobuf.
Задачи:
Изучение API библиотеки 0MQ.
Разработка и реализация протокола обмена на protobuf с сервером.
Реализация web-запросов на удаленный http(s) сервер через сокеты.
Создание архитектуры для отслеживания всех запускаемых через fork модулей.
Асинхронное управление жизненным циклом модулей в соответствии с индивидуальными настройками.
Поиск, проверка и внедрение способа смены пароля пользователя.
Согласование всех аспектов протоколов с причастными командами backend.
Команда проекта: 1 тимлид, 4 разработчика, 2 тестировщика
Достижения
Успешное освоение API библиотеки 0MQ.
Разработка рабочего протокола обмена на protobuf.
Реализация web-запросов через сокеты, что улучшило взаимодействие с удаленными серверами.
Создание эффективной архитектуры для управления модулями, работающими через fork.
Внедрение безопасного метода смены пароля пользователя с использованием ограниченных прав и системного API.
Успешное согласование протоколов с различными командами, что способствовало лучшему взаимодействию между командами backend.
Стек специалиста на проекте
Git, Fork, C++17, Systemd, тесты, msvs, posix, Signals
Отрасль проекта
Cloud Services
Период работы
Январь 2024 - Август 2024
(8 месяцев)
Модуль связности
Роль
Старший инженер-программист отдела системного ПО
Обязанности
Описание проекта: Система обеспечивает связность распределённого управления, работая на всех узлах сети независимо от их платформы. Она предоставляет клиентам гибкий интерфейс для подписки и публикации данных через gRPC или проприетарный TCP-протокол. Каждый узел динамически находит источники запрашиваемых данных и обеспечивает их доставку подписчикам, поддерживая локальные и удалённые объекты. Взаимодействие между узлами осуществляется по закрытому протоколу, реализуя модель "многие-ко-многим".
Задачи:
Разработка и внедрение масштабируемой архитектуры данных с поддержкой подписки «многие-ко-многим».
Создание проприетарных протоколов обмена для передачи трехуровневых структур данных без необходимости полной перепаковки при изменениях.
Оптимизация упаковки данных с учетом необязательных полей и вариативности структур
Сравнительный анализ эффективности протокола (превзошел protobuf по производительности).
Разработка асинхронного механизма коммуникации между клиентами и управляющей системой (МС) без блокировок памяти.
Реализация dual-протокола (TCP + gRPC) для одновременной работы клиентов разного типа.
Создание системы динамического поиска, подписки и обновления данных в распределённой сети.
Разработка потокобезопасной структуры SafetyTreeMap с поддержкой visitor-шаблона.
Интеграция автоматической генерации C++-кода из protobuf-схем.
Тестирование многопользовательского асинхронного gRPC (клиенты + эмуляторы нагрузки).
Согласование протоколов с backend-командами.
Команда проекта: 1 тимлид, 4 разработчика, 2 тестировщика
Достижения
Внедрена отказоустойчивая архитектура, не требующая переработки в течение жизненного цикла проекта.
Упаковка данных в 3–5 раз эффективнее protobuf (позволила использовать протокол на слабых устройствах).
Реализована гибкость структур и обработка необязательных полей без потерь производительности.
Обеспечена бесшовная работа клиентов (TCP/gRPC) с асинхронной обработкой запросов.
Создан механизм SafetyTreeMap для конкурентного доступа к данным из разных потоков.
Настроена автогенерация C++ кода из protobuf для кроссплатформенной поддержки.
Успешно протестированы многопользовательские сценарии (включая нагрузочное тестирование).
Достигнута консенсусная интеграция протоколов с командами backend.
Стек специалиста на проекте
Git, Boost, C++17, тесты, msvs, gRPC+protobuf, asio, кросплатформенная сборка
Отрасль проекта
Cloud Services
Период работы
Ноябрь 2022 - Декабрь 2023
(1 год 2 месяца)
Формат работы
Тип занятости
Фулл-тайм
Формат работы
Удаленно
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Нет
Образование
Высшее
Учебное заведение
Московский финансово-промышленный университет "Синергия"
Специальность
Информационные технологииИскусственный интеллект
Завершение учебы
2019 г.
Высшее
Учебное заведение
Севастопольский национальный университет ядерной энергии и промышленности
Специальность
Электрические сети и системы
Завершение учебы
2003 г.
Высшее
Учебное заведение
ВВМУРЭ им. А.С. Попова
Специальность
Математическое обеспечение автоматизированных систем управления
Завершение учебы
1999 г.