- Senior Software Developer2009 - PRESENTOpen Design Alliance
- Maintained a Teigha for Architecture library (ADTDirect) implementing AutoCAD architectural objects such as walls, doors, windows, etc.
- Implemented key features on the project: wall rendering special cases, new components of doors/windows, multi-view blocks, additional components regeneration, area calculation standards, etc.
- Fixed complex core issues: object rendering, object interactions, section regeneration, crashes, and memory leaks.
- Planned and introduced a regression testing process including overall functionality tests, integration, and unit tests for the project. Improved code quality and overall product stability, reduced the amount of regression issues, and increased development speed. Allowed developers to easily check if changes broke product features.
- Organized the work of a test team on the project. Made testing requirements based on customer requirements, module complexity, and code analysis. Made a long term testing roadmap for the QA team, set waypoints, assigned priorities to different areas of testing, and controlled plan execution.
- Communicated with key customers to address their needs, problems and priorities. Created a project road-map and developed an iterations plan based on customer needs.
- Implemented a 3D facet modeler.
- Implemented a proxy layer for OpenCASCADE modeler usage.
- C++ Software Developer2007 - 2009Activsystems
Technologies: C++, MFC, WinAPI, WTL, WinSock
- 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.
- C++ Software Developer2007 - 2007INFRASOFT
Technologies: C++, MFC, ObjectArx, IntelliCAD, Multithreading
- 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.
- C++ Software Developer2005 - 2007Telma-Soft
Technologies: C++, MFC, WTL, GDI, WinAPI, Multithreading
- 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.
- C++ Software Developer2004 - 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++.