Aleksey Abramovsky
Verified Expert in Engineering
Multithreading Developer
Bat Yam, Israel
Toptal member since October 22, 2013
Aleksey is a C++ software developer with 13 years of experience focused on building efficient and reliable C++ code and long-term project maintenance. He has broad experience with Windows development: WinAPI, MFC, WTL, and BCG. Aleksey is a team lead of a C++ junior/middle developers team and has hands-on quality management and test automation experience.
Portfolio
Experience
- C++ - 9 years
- Multithreading - 8 years
- ODA Architecture SDK - 8 years
- AutoCAD API - 8 years
- Win32 API - 8 years
- Microsoft Foundation Classes (MFC) - 5 years
- Microsoft Foundation Class (MFC) Library - 5 years
- Chromium - 1 year
Availability
Preferred Environment
Git, Subversion (SVN), Visual Studio, Windows
The most amazing...
...thing I've built is a VR browser for Android based on the Chromium open-source project.
Work Experience
Senior Software Developer
Open 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.
C++ Software Developer
Activsystems
- 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 Developer
INFRASOFT
- 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 Developer
Telma-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.
C++ Software Developer
NIIK
- Took a part in the development of a factory simulator for chemical plant engineers. Ported and tested the Fortran 77 math library to C++.
Experience
Teigha for Arhitecture
https://www.opendesign.com/products/teigha-architectureFixed core issues and organized the development and QA processes. Currently, the project is being maintained.
FullDive VR Browser
http://fulldive.com/#vr-featuresChanged Chromium OpenGL rendering device to provide the necessary functionality to an Android wrapper application.
2D Game for PPC 2003
http://murzik555.livejournal.com/1114.htmlSample of a Complex GUI Based on BCG Library
http://murzik555.livejournal.com/1317.html- Custom list view control
- DriveMap control
- Legend control
These controls are based on the CWnd class. I implemented all the logic from scratch.
Complex Win GUI
MFC GUI Application
• Implementing new project maintenance functionality including customer bonus programs, additional customer info, reworked dialogs and GUI core, bug fixes in the GUI, and improved business logic.
• Fixing critical multithreaded issues (crashes, race conditions, hangs).
• Developing a set of custom MFC-based UI controls such as custom list view, custom thread-safe combobox for handling millions of entries, taxi map control for tracking taxi cars positions in a city, client information custom grid view, and more.
• Implementing interactions with a MySQL database such as SQL queries and C++ wrappers for MySQL interfaces.
C++ Project Maintenance
Testimonial | Andrew Rackcheev, CEO at Aktiv Systems
To Whom It May Concern:
I am pleased to write this letter of recommendation for Alexey Abramovskiy. He was our employee during August 2007 - September 2009 and I'm still sorry he left. I cannot recommend him highly enough.
Alexey was working on several projects inside our company. He started on a senior developer role and his motivation and skills allowed to complete several project for mobile platforms. He was quickly promoted to lead developer/architect position role and this was one of the best decisions I personally made. On this position he was a key contributor to a new very challenging project. He was responsible for developing cross-platform VoIP engine allowing to work in slow networks. His attention to details, great architect skills and ability to quickly learn allowed to successfully complete the project in short time frame.
Alexey also is a nice person with good communication skills. Again, I cannot recommend him highly enough and he will be a key asset for any team."
Testimonial | Nikolai Zubchenko, Director at Dlnsight Pty, Ltd.
To whom it may concern:
Alexei Abramovskii has joined DInsight in 2010 in a Lead Software Developer role. We were impressed by his ability quickly get up to speed with complex issues. He has excellent analytical skills, remarkable attention to details and quality of work.
He also has excellent design skills, ability to see the big picture and think through issues of scalability, quality and support. His code is clean and logical.
His proactive attitude to his duties has prevented many major issues with released products. Alexei is very productive. In fact all key features in versions 3.0 and 3.1 of Kernel CAD suite were implemented by him.
In short period of time he has become involved in various parts of the system and different platforms and technologies from core system functionality and complex geometric algorithms to Graphic User Interface in Microsoft .NET framework with consistently top notch professional attitude.
We also value high his honesty and work ethics. He is nice and friendly and has good communication skills. I am confident he will be a great asset to any team."
Education
Master's Degree in Applied Mathematics
Nizhy Novgorod Technical University - Nizhny Novgorod
Skills
Libraries/APIs
Microsoft Foundation Class (MFC) Library, Codejock, Standard Template Library (STL), Microsoft Foundation Classes (MFC), AutoCAD API, Windows Template Library (WTL), Win32 API, WinAPI, WTL, Winsock API, GDI(+)
Tools
Microsoft Visual Studio, Subversion (SVN), Git, CAD
Languages
C++, C#, Objective-C
Paradigms
Object-oriented Programming (OOP), Agile Software Development
Platforms
Windows, Docker, Linux
Other
ODA Architecture SDK, BCG, IFC, Multithreading, Chromium
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring