Senior Software Developer
2009 - PRESENTOpen Design Alliance- Maintained the Teigha for Architecture library, which implements AutoCAD architectural objects such as walls, doors, windows etc.
- Implemented key features on the project: walls rendering special cases, new components for doors and windows, multi-view blocks, additional component regeneration for stairs, area calculation standards.
- Fixed complex core issues: object rendering, object interactions, section regeneration, crashes, and memory leaks.
- Maintained customer relationships: communicated with key customers, collected feedback about their needs, problems, and priorities; and planned road maps and iterations.
- Organized the work of three developers from individual planning and assigning/monitoring tasks to code reviews and overall mentoring.
- 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, and increased development speed.
- Organized the work of a test team on the project: introduced test requirements based on customer requirements, module complexity, and code analysis; introduced a long-term roadmap for the QA team, set waypoints, and assigned priorities to different areas of testing.
- Implemented a proxy layer for OpenCASCADE modeler usage.
- Implemented a 3D facet modeler.
- Implemented a proxy layer for OpenCASCADE modeler usage.
- Developed a set of testing tools. This allowed faster integration of new developers.
Technologies: IFC, ODA Architecture SDK, AutoCAD API, ODA DWG Toolset ( Teigha, Open Design Alliance ), CAD, Object-oriented Programming (OOP), Microsoft Visual Studio, Visual Studio, C#, C++C++ Software Developer
2007 - 2009Activsystems- Developed a set of custom MFC-based UI controls including a custom list view, custom thread-safe combo-box for handling millions of entries, taxi map control for tracking taxi cars positions in a city, client information custom grid view, and more.
- Developed a prototype of an IOCP-based server (C++ application) for Win Server 2003 OS. Implemented coordinated peer-to-peer connection establishment (UDP hole punching), route traffic through server if peer-to-peer connection could not be established, an accounts list with user statistics, and user database interactions. Provided necessary information to client applications (contact lists, network status, add/remove/search for contact, etc.).
- Developed a mirror driver for a remote desktop application (Windows XP).
- Developed a remote desktop application for WinMobile 5-6 allowing users to control PDA devices from the desktop.
- Implemented two game prototypes (arcade platforming and scrolling) for WinMobile 5 using C++ and a custom graphics library based on GAPI.
Technologies: Object-oriented Programming (OOP), Microsoft Visual Studio, BCG, Visual Studio, Win32 API, Winsock API, WTL, WinAPI, Microsoft Foundation Class Library (MFC), C++C++ Software Developer
2007 - 2007INFRASOFT- Fixed bugs in a custom 2D CAD application (InfrasoftCAD) based on the IntelliCAD 6.3 core.
- Developed a unit testing framework for custom commands testing using the CppUnit library.
- Developed a "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.
Technologies: Object-oriented Programming (OOP), Microsoft Visual Studio, WinAPI, Visual Studio, Win32 API, Multithreading, CAD, ObjectARX, Microsoft Foundation Class Library (MFC), C++C++ Software Developer
2005 - 2007Telma-Soft- Developed a GUI for Motorola MyFaves, a smartphone application.
- Implemented a tool that allows users to edit images (resize, crop, or draw simple geometry) on the smartphone and use those edited images as pictures in notes and the contact book.
- Supported business logic code.
- Developed the GUI for McAfee Virus Scan Mobile, an anti-virus application for smartphones and PDAs. Fixed bugs in the anti-virus core libraries. Implemented new application windows and custom controls.
Technologies: Object-oriented Programming (OOP), Microsoft Visual Studio, Visual Studio, Win32 API, Multithreading, WinAPI, GDI(+), WTL, Microsoft Foundation Class Library (MFC), C++C++ Software Developer
2004 - 2004NIIK- Took a part in the development of a factory simulator for chemical plant engineers. Ported and tested the Fortran 77 math library to C++.
Technologies: C++