Оставьте заявку, мы подберем для вас подходящего специалиста за 48 часов!
Премия рунета

Ким Д. C++ разработчик, Senior

ID 8484
КД
Ким Д.
Мужчина
Россия, Смоленск, UTC+3
Ставка
3,500 Р/час
НДС не облагается
Специалист доступен с 27 апреля 2024 г.

Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.

Подробнее
О специалисте
Специализация
C++ разработчик
Грейд
Senior
Навыки
.NET
ADO.NET
Altera
Android
Android NDK
ASP.NET
Boost
Boost QT
C#
C++
CMake
CMS
Core.js
Cron
Dapper
Delphi
Directum
EDT
Entity Framework
Epoxy
FFmpeg
Firebase
FireBird
Flex
Gin
Git
GPO
jasper
Java
Java 6
JDBC
Jinja
JSX
Koin
Kotest
LINQ
Linux
Make
ML SQ
Multi Threading
MySQL
Mystem
ODBC
OpenCI
Pinia
Pion
Polly
Python
Redmine
Socket
SQL
SQL Server
SQLite
STL
SVN
Systemd
TFLite
TFS
tool
TPL
TypeScript
VS code
WCF
WForms
WFS
WSDL
XAML
YouTrack
Проектирование API
Bash
DirectX
OpenGL
Sass
ReactiveX
WPF
.Net Remoting
WinApi
WinForms
Testing
Отрасли
GameDev
Hardware
LifeStyle
Проекты   (7 лет 5 месяцев)
Do Games Limited
Роль
SENIOR C++ DEVELOPER
Обязанности
Описание проекта: Развитие и поддержка игрового движка и его экосистемы. Мои обязанности на проекте: • Реализовал новый игровой магазин • Расширил GUI-фреймворк новыми контролами • Реализовал множество A/B-тестов и функций, направленных на улучшение монетизации, удержание клиентов, повышение конверсии • Оптимизировал существующие функции: улучшил FPS, время жизни батареи, время запуска, скачивание контента уровней, время открытия галереи игр • Портировал новый функционал на другие платформы - Android, Xbox • Решил проблему разнородных кодировок файлов с исходным кодом- разработал специальный инструмент, автоматически детектирующий кодировку файла и перекодирующий файлы в UTF8 в пакетном режиме (400+ файлов в каждой ветке) • Портировал систему сборки под Android с устаревших скриптов Android ndk-build на cmake. Это ускорило сборку за счет инкрементальной сборки, которая в ndk-build изначально поломана • Реализовал на Python вспомогательные инструменты: упаковка ресурсов проекта, валидация, некоторые тесты • Реализовал диагностическую консоль с ошибками и предупреждениями для левел-дизайнеров • Реализовал на TypeScript расширение VSCode для поддержки редактирования скриптов: минимальная валидация, автозавершение кода, навигация по коду, всплывающие превью ресурсов • Упростил локализацию за счет добавления специального режима, позволяющего легко переключаться между базовой версией и локализованными версиями с отображением отличий. Реализовал необходимые новые функции для описания локализации в минимальном виде (отличия от базовой версии), что повысило продуктивность работы левел-дизайнеров. • Исправил множество ошибок (порядок рендеринга графических объектов, отсутствующие/невидимые контролы, отсутствие звука, блоки в прохождении) • Провел большой объем рефакторинга существующего кода. На низком уровне: обновление легаси кода под новые функции С++ и библиотеки, переписывание кода на C++/ООП/RAII, улучшение логики загрузки ресурсов, логики локализации. На уровне архитектуры: улучшение распределения и управления таймерами, развязывание зависимостей, проектирование API плагинов, уменьшение дублирования кода между проектами. • Помощь левел-дизайнерам в решении технических проблем • Консультирование других разработчиков и технической поддержки • Коммуникации с менеджерами, сбор требований, документирование недостающих/упущенных требований, предоставление обратной связи менеджерам по статусу проектов, оценка сроков. Технологии: C++, OpenGL, DirectX, Vulkan, Metal, FFMpeg, BASS audio. Интеграция с платформами: Java/Kotlin, ObjectiveC/Swift, C#. Бакенд: JS/TS/Node.js/Firebase
Стек специалиста на проекте
C++, C#, Bash, Sass, FFmpeg, OpenGL, DirectX
Отрасль проекта
GameDev
Период работы
Март 2021 - Июнь 2023  (2 года 4 месяца)
Initial Force AS
Роль
SENIOR C++/C# DEVELOPER
Обязанности
Описание проекта: Развитие и поддержка системы анализа движений для подготовки спортсменов. Мои обязанности на проекте: Спроектировал и реализовал слой абстрагирования от оборудования разных производителей: четко определил границы и интерфейсы между аппаратно-зависимым и независимым кодом, реализовал нормализацию аппаратно-зависимых данных в аппаратно-независимые универсальные форматы. Итог – упростилась интеграция новых устройств в проект, большая часть кода проекта очищена от аппаратно-зависимого кода. • Повысил отказоустойчивость продукта к сбоям и ошибкам устройств. Некоторые устройства во время получения данных перестают работать, другие из-за ошибок в их SDK повреждают память и могут привести к аварийному завершению всего процесса. Реализовал опцию работы с устройствами из отдельных процессов (одно устройство – один процесс), за которыми следит сторожевой таймер в главном процессе и автоматически перезапускает в случае необходимости. Перезапуск незаметен для пользователя. Итог – повысилась живучесть и стабильность главного процесса, работа пользователей стала более комфортной. • Улучшил архитектуру – спроектировал и реализовал конвейер обработки данных, от получения данных от устройств до представления результатов в GUI. Конвейер собран из последовательности фильтров, обрабатывающих/преобразующих данные. Определил четкие интерфейсы фильтров, документировал весь конвейер. Итог – заметно повысилась сопровождаемость кода. Реализовывать многие новые функции стало возможно за счет вставки новых фильтров в конвейер или замены одних фильтров другими. Удалось убрать часть дублирования в коде – например, обработка леворуких спортсменов свелась к реализации одного фильтра, отображающего данные из леворукого формата в стандартный. Другие фильтры работают со стандартным форматом. До улучшения архитектуры обработка леворуких спортсменов требовала множество special-case конструкций, разбросанных по всему проекту. • Повысил стабильность продукта. Исправил много ошибок, связанных с многопоточностью и асинхронностью. • Упростил и переписал часть кода с continuation passing стиля на использование async/await. Также переписал часть кода, построенного вокруг модели конечных автоматов, на более простые и линейные конструкции с использованием async/await. • Реализовал функционал, упрощающий для пользователя конфигурирование и калибровку новых устройств. Функционал представляет собой GUI-мастер, который подсказывает пользователю ряд шагов (подключить устройство, встать на устройство, сойти с устройства), необходимых для начальной калибровки и конфигурирования устройства. • Ускорил выполнение тестов, реализовав test runner для параллельного выполнения тестов на многих процессах. Поддерживаемое юнит тест фреймворком параллельное выполнение на потоках не подходило из-за однопоточной природы большей части кода. Итог – время выполнения тестов снизилось минимум в три раза. • Реализовал тест, автоматически последовательно открывающий в программе несколько тысяч файлов предыдущих форматов. Смысл теста – тестирование обратной совместимости с предыдущими форматами файлов программы. Длительность теста – несколько часов, из-за чего запуск запланирован в ночные часы. Итог – сильная экономия времени на ручном тестировании, улучшилось выявление ошибок обратной совместимости со старыми файлами. • Работа над улучшением UX/UI под руководством UX/UI-дизайнера: настройка и реализация стилей, тем, визуальных эффектов, анимаций, масштабирования, адаптивной разметки, всплывающих подсказок, размеров, схем выравнивания. • Обновлял установщик при изменении зависимостей • Участвовал в ручном тестировании по тест-плану • Участвовал в ревью кода • Участвовал в планировании, оценке сроков Технологии: C++, C#, SQLite, WPF, Reactive Extensions, DynamicData, LiquidState, FFMpeg, DirectX
Стек специалиста на проекте
C++, C#, ReactiveX, WPF, FFmpeg, SQLite, DirectX
Отрасль проекта
LifeStyle
Период работы
Август 2018 - Декабрь 2020  (2 года 5 месяцев)
Friendly Arm
Роль
EMBEDDED ИНЖЕНЕР
Обязанности
Описание проекта: Разработка прототипа аппаратного менеджера паролей. Производитель решений и одноплатных компьютеров на базе ARM SoC заказал для своего центра прикладных решений прототип аппаратного менеджера паролей на базе одной из своих плат Мои обязанности на проекте: Спроектировал плату расширения на Atmega32u4 для подключения к ПК в режиме USB device в качестве композитной USB-клавиатуры и мыши • Подготовил специализированную сборку Android с нужной конфигурацией GPIO портов ARM SoC • Реализовал взаимодействие ARM SoC с платой расширения • Реализовал Android-приложение для работы на устройстве. В числе прочего предусмотрено получение ввода от реальных клавиатуры и мыши, подключенных к устройству, и прозрачное перенаправление этого ввода на ПК сквозь устройство • Далее поддерживал проект, работал по запросам заказчика Технологии: ARM SoC, Android, C++, Java
Стек специалиста на проекте
Java, C++, Android
Отрасль проекта
Hardware
Период работы
Май 2017 - Июль 2018  (1 год 3 месяца)
Формат работы
Формат работы
Удаленно
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Нет
Образование
Высшее
Учебное заведение
Московский Энергетический Институт
Специальность
Автоматизированные системы обработки информации и управления
Завершение учебы
2011 г.

Похожие специалисты

LifeStyle
ВЧ
Владимир Ч.
Абу-Даби
C++ разработчик
Lead
4,250 Р/час
Boost
C++
dashboards
front
Git
Hack
Identity Server
Kibana
Python
RPAS
+114

Профессиональный backend-разработчик кроссплатформенных приложений в разработке от идеи и архитектуры до производства с 8- летним опытом. Большой опыт работы со структурами данных, математикой и проектированием систем. Основной язык программирования — C/C++. Также использовал Java, Python. Интересуюсь микросервисной архитектурой, многопоточностью и разработкой игровых движков. Хорошо разбираюсь в объектно-ориентированном программировании, механизмах баз данных SQL, CI/CD, всех VCS и т. д. Помогаю развивать свой продукт в качестве инженера-программиста, а также улучшать и развивать свои собственные навыки. Самая интересная и/или технически сложная задача из опыта? Самая интересная - реализовать продукт, имея в тз только "сделайте также как этот работает". Полная свобода реализации и архитектуры. Куда хотелось бы развиваться: технически или в менеджмент? Технически Чем хотелось бы заниматься (какими задачами)? Бэкэнд, HFT, concurrency, netwok Чем не хотелось бы? (какими задачами) frontend

Подробнее
Hardware • Manufacturing • Social Networking
АХ
Артем Х.
Минск
C++ разработчик
Middle+
3,625 Р/час
Bash
Bitbucket
Boost
C
C++
CMake
Docker
Git
GitHub
GitLab
+52

Разработчик C++ с более чем 4 годами коммерческого опыта. Я опытный разработчик с более чем 4-летним стажем в области разработки программного обеспечения. Мои основные навыки включают высокую работоспособность, устойчивость к стрессу и способность быстро учиться и овладевать новыми навыками и технологиями. Я работал как фулл-стек, так и чисто бэкэнд разработчик. Имею опыт работы в рамках Agile-цикла разработки. Моя цель - предоставить наилучшее возможное решение для каждой потребности бизнеса. Языки программирования: C, C++, Python, Bash Технологии: Qt QCustomPlot QTest PowerShell epoll/io_uring Make POSIX QML MVP OpenCV CMake Google Tests Message Brokers Multithreading QtWidgets Postman WinAPI WebSocket Boost Protobuf GRPC Базы данных: MySQL, Redis Другое: Visual Studio, Git, GitLab, BitBucket, GitHub, Qt Creator, WSL2, Docker

Подробнее

Недавно просмотренные специалисты

BioTech, Pharma, Health care & Sports • FinTech & Banking • Manufacturing • Realty & Constructoring • Telecom
МП
Максим П.
Самара
Системный аналитик
Lead
4,375 Р/час
UML
Kanban
Postman
Axure RP
Elasticsearch
Scrum
Kibana
Swagger
ARIS EPC
SVN
+33

8 лет в системном и бизнес-анализе на проектах в России, Македонии, Сингапура, Венгрии и Соединенных Штатов Америки Участие в разработке и тестировании государственных и коммерческих продуктов Опыт сбора и управления требованиями, составления ТЗ, постановок задач разработчикам ПО Опыт разработки руководства пользователей, программ и методик испытаний Опыт наставничества младших аналитиков и специалистов технической поддержки Опыт руководства проектной командой Опыт проведения презентаций и обучающих мероприятий Оценка объема и стоимости проектов на разработку ПО Создание систем с нуля и системная инженерия Описание и реинжиниринг сложной бизнес-логики Прототипирование пользовательских интерфейсов Английский язык: C1 Типы проектов: Веб / Мобильное приложение Монолитная и микросервисная архитектуры Системная интеграция уровня Enterprise

Подробнее