• Software Architect, Application Software at NeuLion Inc. (Jan.2015 – April.2016)
In role of Software Architect, I developed architecture for the new software, which integrates NeuLion Inc. services for watching on-line Sport channels with the Consumer Electronics Applications and Desktop Software.
• Implemented C++ adapter to use OpenMAX IL component(s) in Chromium audio/video playback pipeline;
• Integrated DASH streaming module which is implemented as OpenMAX IL component into Chromium browsed;
• Prototyped the new architecture for NeuLion cross platform application for watching either on-line and file based video content based on Chromium Embedded Framework;
• Architected and prototyped a client application and Chrome NaCl plug-in which utilizes OpenMAX IL framework developed in the company for building playback pipeline automatically.
Tools: Visio, Confluence, MS Visual Studio, GCC, CEF SDK, Chrome plug-in, Chromium, OpenMAX IL, DASH.js, streaming, Native Client SDK, PPAPI, NaCl.
• Agile Software Architect, Software Engineering at DivX LLC (April.2014 – December.2014)
In role of Agile Software Architect, I kept in sync the Big Picture of DivX software and its architecture with Software Product Line. Along with other software architects worked on strategy of further DivX applications.
• Researched the way to implement Content Decryption Module for different browser platforms;
• Proposed/selected Chromium project as a browser engine/technology most used in the application development industry (via CEF) and demanded by consumer electronics vendors for implementing Smart TV and similar applications;
• Prototyped simple solution for changing current DivX Desktop Bundle with the one developed on base Chromium Embedded Framework
Tools: Visio, Enterprise Architect, Confluence, MS Visual Studio, CEF, Chromium, Opera Devices SDK.
• Senior Manager, Software Engineering at Rovi
(Mar.2011 – April.2014)
As a Head of Tomsk Application Department of Rovi Inc. I was responsible for managing of 4 Development Teams, 1 Students Team and 1 QA Team.
I practiced Scrum methodology since 2008 and have an experience in managing software development in role of Scrum Master during 2009 – 2011 years.
Most important responsibilities were:
• Playing a role of technical owner with a specific emphasis on performance, usability and scalability of applications;
• Facilitating communication across management and project teams including project status, justifications for variances, risks, and technical information like architecture, design and implementation objectives;
• Mentoring and motivating staff and cultivating a strong talent pipeline capable of meeting both current and future technology needs;
• Enforcing compliance with established software development life cycle process to ensure quality deliveries;
• Managing personnel activities of staff such as hire, complete performance appraisals, reward, motivate, discipline.
Tools: Visio, Enterprise Architect, VersionOne, Jira, AnthillPro, Confluence, MS Visual Studio.
• Manager, Software Engineering at DivX
(Apr.2008 – Feb.2011)
My role in the company was a Head of Department of Tomsk DivX office.
In my responsibility were 3 Development Teams, 1 Student Team:
• Initiated of creation of Mobile Development team in Tomsk office;
• Participated in forming of 2 more project-based cross-functional teams;
• Formed teams, collected and formalized best practices which had to be applied to accelerate a velocity of whole department;
• Successfully managed the software development department within the international company.
At the period of forming teams for my department, I interviewed about 150 candidates.
Tools: Enterprise Architect, VersionOne, Jira, MS Visual Studio.
Ported of MainConcept multimedia codecs for Linux Embedded, Windows CE and Windows Mobile operating systems. Accelerated these codecs for ARM DSP, Wireless MMX and AltiVec SIMD technologies.
Designed architecture and, for proving of concept, developed a prototype of a network streaming stack (PRT/RTSP) which is currently successfully grown to commercial product Streaming SDK.
One of the first in the industry developed on managed programming language set of base classes for using unmanaged DirectShow from .Net applications.
Designed and developed a common interface for configuring parameters for all of MainConcept DirectShow filters. This interface without any significant changes is currently used in all MainConcept DirectShow filters.
Tools: Visual Studio, Eclipse, Intel Assembler Compiler, DirectX SDK, GCC
Directx, Разработка программного обеспечения, Visual studio, Системное программирование, Встраиваемая система, Управление людьми, Управление проектами, Scrum, Работа с аудио и видео, Видеостриминг, Объектно-ориентированное проектирование