Обо мне

Looking for an opportunity to start working as backend of fullstack web developer.

C++ software developer with 13 years of experience focused on building efficient and reliable C++ code, quality management, maintaining existing codebase and test automation.

Skills & Expertise

  • Strong proficiency in C++, STL.
  • Team lead managing a team of three developers and maintaining communication with key customers.
  • Competent with C#.
  • Objective-C, Python basic knowledge.
  • Long-term project maintenance: development planning, key features implementation, automated testing and unit tests, quality management, continuous integration.
  • Worked with chromium project for android (Linux ). Added new features to webview system control.
  • Familiar with multithreading programming and synchronization techniques and primitives.
  • Experience with solid modeling: implemented 3d faceted modeler.
  • GUI development for MS Windows: WinForms, WinAPI, MFC, WTL, BCG, CodeJock, GDI\GDI+.
  • Solid hands-on Experience in AutoCAD, AutoCAD Architecture, Teigha for Architecture library, Teigha Core, Teigha for DWG (DWG Direct) libraries.
  • Familiar with: Git, Svn, JIRA
Опыт работы
Open Design Alliance
Team Lead
Сентябрь 2009 — По настоящее время (9 лет и 9 месяцев)

Maintenance of Teigha for Architecture library, which implements AutoCAD architectural objects such as walls, doors, windows etc. 
Teigha for Architecture is a big project consists of about 2 million lines of C++ code and about 7000 classes. Responsibilities:

• Customer relationships: communicate with key customers, collect feedback about their needs, problems and priorities; road map and iterations planning

• Organize work of three developers: individual planning; assign and monitor tasks; code reviews; overall mentoring

• Key features implementation on the project: walls rendering special cases, doors\windows new components, multi-view blocks, stairs additional components regeneration, area calculation standards etc.

• Implemented 3d faceted modeler ( Surface mesh modeling )

• Planned and introduced regression testing process including functionality tests, integration and unit tests for the project. This improved code quality and overall product stability, reduced amount of regression issues, increased development speed

• Organized work of a test team on the project: introduced test requirements based on customer requirements, modules complexity and code analysis; introduced long term road-map for QA team, set waypoints and assigned priorities to different areas of testing

• Developed a set of testing tools. This allowed faster integration of new developers

• Documented core parts of the project in order to facilitate new team members integration into the project

C++ software developer
Сентябрь 2007 — Сентябрь 2009 (2 года и 1 месяц)
  • Implemented two game prototypes (arcade platformer and scroller) for
    WinMobile 5 using C++ and custom graphics library based on GAPI;
    Screenshots and a short movie for “Deep Impact” game prototype for
    WinMobile 5 can be found here:

  • GUI\business logic development for client part of WERTA CRM TAXI. This program is a client\server CRM for taxi. Client GUI part is a multithreaded C++\MFC application.
    •  Project maintenance: added new functionality (customers bonus programs, additional customers info, reworked most of the dialogs and GUI core); bugfix in GUI and business logic;
    • Fixed critical multithreaded issues (crashes, race conditions, hangs);
    • Developed a set of custom MFC-based UI controls: custom list view; custom thread-safe combobox for handling millions of entries; taxi map control for tracking taxi cars positions in a city; clients information custom grid view, etc.

C++ software developer
Март 2007 — Сентябрь 2007 (7 месяцев)
  • Bugfix of custom 2D CAD application (InfrasoftCAD) based on IntelliCAD 6.3 core.
  • Developed unit test framework for custom commands testing using cppUnit library.
  • Developed "Linear objects" plugin for AutoCAD using C++ and Object ARX for drawing, manipulating and documenting linear objects such as gas lines, water lines, electrical wiring etc. Each of these types has it's own set of objects: different pipes, wires, water-conduit wells, posts etc. The pipes, wires, posts were custom objects with tunable set of properties: material, diameter, length and so on.
C++ software developer
Январь 2005 — Март 2007 (2 года и 3 месяца)

Mobile applications development for Win Mobile 2003/2005.

  • Motorola MyFaves – GUI development of a smartphone application MyFaves. Used technologies: C++, WTL, Win GDI, Win API. o Implemented tool which allows user to edit images (resize, crop, draw simple geometry) on smartphone and then use edited images as pictures in notes and contact book. o Business logic code support.
  •  McAfee Virus Scan Mobile - GUI development of anti-virus application McAfee Virus Scan Mobile for smart phones and PDA's, bugfix of the antivirus core libraries. Implementation of new application windows and custom controls.
C++ software developer
Январь 2004 — Декабрь 2004 (1 год)

Took a part in development of a factory simulator for chemical plants engineers. Ported and testedFortran 77 math library to C++.

Высшее образование
Нижегородский государственный технический университет имени Р. Е. Алексеева
Нижний Новгород
Факультет: Институт радиоэлектроники и информационных технологий
Январь 2000—Январь 2006 (6 лет)
Прикладная математика и информатика инженер-программист