Software developer at work

About Me

Hi, my name is Sergey. I am a software engineer. I have successfully completed over 30 commercial projects. I have extensive research and development experience in computer vision and machine learning systems. I have experience in leading a small team of developers, as well as experience in project management.

During my career, I managed to complete quite a few projects, including computer vision systems, applications for mobile devices, web applications, augmented reality applications, touch table applications, interactive floors and video walls.

I am disciplined, responsible and punctual. I love to learn new technologies and apply them in practice. I know how to plan work on a project, estimate budget and time required for its implementation.

In my practice, I use a variety of technologies. The technology stack is very project dependent. For machine learning tasks, I use Python, TensorFlow, Keras, SciKit Learn and Pandas. For tasks related to web JavaScript, NodeJS, React or Python's Flask library for simple web services. For tasks requiring high performance C++, OpenMP, CUDA. For interactive applications with computer graphics I use C# and Unity as well as UnrealEngine with C++.

I have a wealth of practical experience in development in various fields, confirmed by successfully completed projects.

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

What I do

Computer Vision

I have a great experience in developing computer vision systems. I have deep understanding of classic image processing algorithms as well as modern approaches based on Machine Learning and Neural Networks.

Machine Learning

I have knowledge of the principles of classic machine learning algorithms (support vector machine, linear regression, clustering algorithms, etc.), as well as knowledge in the field of deep neural networks and their training methods.

Application Development

During my career, I have gained extensive experience in developing applications of varying complexity, from ordinary desktop to mobile applications and ending with web applications. I have over 30 complete commercial projects.

Education

Faculty of Computational Mathematics and Cybernetics Lomonosov Moscow State University

2008-2013

In 2013 successfully graduated from the Faculty of Computational Mathematics and Cybernetics of Lomonosov Moscow State University with a degree in "Mathematics, System Programming". During studies, I was engaged in computer vision at the Graphics and Media Lab under the supervision of Ph.D. Konushin Anton. As part of the work on term paper and thesis, I received two grants for development of the open source library "Point Cloud Library".

Research & Development

Grant from Trimble

2012

In 2012, as part of my term paper, I received a grant from Trimble to develop an open source library "Point Cloud Library". During research and development, several algorithms for object segmentation in three-dimensional point clouds were implemented:


  • region growing segmentation
  • color-based region growing segmentation
  • graph min-cut based segmentation

Grant from Honda Research Institute

2013

In 2013, as part of my thesis, I received a grant from Honda Research Institute to develop an open source library "Point Cloud Library". During research and development, an algorithm for object recognition in three-dimensional point clouds was implemented (Implicit Shape Model algorithm). Besides, algorithms for feature extraction were implemented:


  • Moment of Inertia and Eccentricity based descriptors
  • Rotational Projection Statistics feature

Work Experience

Software Developer Magicindie Softworks

2013-2014
Responsibility :
  • Special effect development
  • Shader development
  • Social media integration (Facebook, GameCenter)
  • Work on the physics engine of the game
  • User interface programming
  • Prototyping and implementation of gameplay elements

Software Developer United 3D Labs

2014-2015
Responsibility :
  • Full support of all company projects
  • App development using Unity
  • Mobile App development
  • Development of the engine for interactive floor systems
  • Company legacy projects maintenance

Computer Vision Software Engineer ShareCloth

2015-2017
Responsibility :
  • Research and Development in the field of computer vision
  • Development of a human scanning system to obtain a textured polygonal model
  • Depth camera calibration
  • Surface reconstruction
  • Automated texture coordinates unwrapping
  • Image processing and texture generation
  • Anthropometric measurements automation
  • Automation of generating skeletal animation of a scanned model
  • API development for network interaction with computer vision system

Computer Vision Team Lead IPG Photonics

2017 until now
Responsibility :
  • Drawing up Technical Requirements and Software Requirements Specification
  • Software development processes organization (DevOps, CI)
  • Task setting, evaluation and performance overseeing
  • Job applicants interviewing
  • Software architecture design
  • Research and Development in the field of computer vision
  • Software development