Разработчик программного обеспечения за работой

Обо мне

Привет, меня зовут Сергей. Я инженер-программист, разработчик программного обеспечения. Я успешно завершил более 30 коммерческих проектов. У меня большой опыт исследований и разработки в области систем компьютерного зрения и машинного обучения. Есть опыт руководства небольшой командой разработчиков, а также опыт руководства проектами.

За свою карьеру я успел завершить не мало проектов, среди которых системы компьютерного зрения, приложения под мобильные устройства, веб приложения, приложения дополненной реальности, приложения для тач столов, интерактивные полы и видеостены.

Я дисциплинирован, ответственен и пунктуален. Люблю осваивать новые технологии и применять их на практике. Умею планировать работу над проектом, оценивать бюджет и сроки необходимые на его реализацию.

В своей практике я использую самые разные технологии. Стек очень сильно зависит от проекта. Для задач машинного обучения я использую Python, TensorFlow, Keras, SciKit Learn, Pandas. Для задач связанных с веб JavaScript, NodeJS, React или Python в связке с Flask для более простых веб сервисов. Для задач требующих высокого быстродействия C++, OpenMP, CUDA. Для интерактивных приложений с компьютерной графикой связку C#/Unity или C++/Unreal Engine.

У меня богатый практический опыт разработки в различных областях подтверждённый успешно завершёнными проектами.

  • С++
  • OpenCV
  • Point Cloud Library
  • Python
  • TensorFlow
  • Keras
  • SciKit Learn
  • Pandas
  • Flask
  • JavaScript
  • NodeJS
  • React
  • C#
  • Unity
  • Unreal Engine

Чем я занимаюсь

Компьютерное зрение

У меня большой опыт разработки систем компьютерного зрения. Я обладаю знанием как классических алгоритмов обработки изображений, так и современных подходов с использованием нейронных сетей и машинного обучения.

Машинное обучение

Обладаю знанием принципов работы классических алгоритмов машинного обучения (метод опорных векторов, линейная регрессия, алгоритмы кластеризации и т.д), а также знанием в области глубоких нейронных сетей и методов их обучения.

Разработка приложений

За свою карьеру я накопил большой опыт в разработке приложений различной сложности, начиная от обычных десктопных, под мобильные устройства и заканчивая веб приложениями. На моём счету более 30 завершённых коммерческих проектов.

Образование

Факультет ВМК МГУ им. М.В.Ломоносова

2008-2013

В 2013 году успешно окончил факультет вычислительной математики и кибернетики Московского государственного университета имени М.В.Ломоносова по специальности «математик, системный программист». Во время учёбы занимался компьютерным зрением в Лаборатории компьютерной графики и мультимедиа под началом к.ф.-м.н. Конушина Антона Сергеевича. В рамках работы над курсовой и дипломной работой получил два гранта на развитие библиотеки с открытым исходным кодом Point Cloud Library.

Исследования

Грант от компании Trimble

2012

В 2012 году в рамках курсовой работы получил грант от компании Trimble на развитие библиотеки с открытым исходным кодом Point Cloud Library. В ходе исследований и работы было реализовано несколько алгоритмов сегментации объектов в облаках трёхмерных точек:


  • алгоритм сегментации на основе растущих регионов
  • алгоритм сегментации на основе растущих регионов с учётом цвета
  • алгоритм сегментации на основе минимального разреза графа

Грант от компании Honda Research Institute

2013

В 2013 году в рамках дипломной работы получил грант от компании Honda Research Institute на развитие библиотеки с открытым исходным кодом Point Cloud Library. В ходе исследований был реализован алгоритм распознавания объектов в облаках трёхмерных точек «неявная модель формы». Также были реализованы алгоритмы извлечения дескрипторов особых точек:


  • на основе момента инерции и эксцентриситета
  • дескриптор RoPs

Опыт работы

Программист Magicindie Softworks

2013-2014
Обязанности :
  • Разработка спецэффектов
  • Написание шейдеров
  • Интеграция социальных сетей (Facebook, GameCenter)
  • Работа над физическим движком игры
  • Программирование пользовательского интерфейса
  • Прототипирование и реализация элементов геймплея

Программист United 3D Labs

2014-2015
Обязанности :
  • Полное сопровождение всех проектов компании
  • Разработка приложений на Unity
  • Разработка мобильных приложений
  • Разработка движка для системы интерактивных полов
  • Сопровождение старых проектов компании

Инженер-программист систем компьютерного зрения ShareCloth

2015-2017
Обязанности :
  • Исследования в области компьютерного зрения (НИОКР)
  • Разработка системы сканирования человека для получения текстурированной полигональной модели
  • Калибровка 3d камер
  • Трёхмерная реконструкция
  • Автоматическая развёртка текстурных координат
  • Обработка изображений и генерация текстур
  • Автоматизация антропометрических измерений
  • Автоматизация генерации скелетной анимации отсканированной модели
  • Разработка API для сетевого взаимодействия с системой

Ведущий инженер-программист систем компьютерного зрения IPG Photonics

2017 по настоящее время
Обязанности :
  • Участие в составлении ТЗ и спецификаций
  • Формирование процессов разработки ПО (DevOps, CI)
  • Постановка задач, оценка сроков и контроль выполнения
  • Проведение собеседований
  • Дизайн архитектуры программного обеспечения
  • Исследования в области компьютерного зрения (НИОКР)
  • Разработка программного обеспечения