Aleksey Abramovsky, Developer in Nizhny Novgorod, Russia
Aleksey is available for hire
Hire Aleksey

Aleksey Abramovsky

Verified Expert  in Engineering

Multithreading Developer

Location
Nizhny Novgorod, Russia
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, BCG. Team lead of a C++ junior/middle developers team, as well as hands-on quality management and test automation experience.

Portfolio

Open Design Alliance
IFC, ODA Architecture SDK, AutoCAD API, CAD, Object-oriented Programming (OOP)...
Activsystems
Object-oriented Programming (OOP), Microsoft Visual Studio, BCG, Win32 API...
INFRASOFT
Object-oriented Programming (OOP), Microsoft Visual Studio, WinAPI, Win32 API...

Experience

Availability

Part-time

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

2009 - PRESENT
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.
Technologies: IFC, ODA Architecture SDK, AutoCAD API, CAD, Object-oriented Programming (OOP), Microsoft Visual Studio, C#, C++

C++ Software Developer

2007 - 2009
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.
Technologies: Object-oriented Programming (OOP), Microsoft Visual Studio, BCG, Win32 API, Winsock API, WTL, WinAPI, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, C++

C++ Software Developer

2007 - 2007
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.
Technologies: Object-oriented Programming (OOP), Microsoft Visual Studio, WinAPI, Win32 API, Multithreading, CAD, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), C++

C++ Software Developer

2005 - 2007
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.
Technologies: Object-oriented Programming (OOP), Microsoft Visual Studio, Win32 API, Multithreading, WinAPI, GDI(+), WTL, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, C++

C++ Software Developer

2004 - 2004
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++.
Technologies: C++

Teigha for Arhitecture

https://www.opendesign.com/products/teigha-architecture
Team lead of Teigha for Architecture project, managing a team of three junior/middle developers.

Fixed core issues and organized the development and QA processes. Currently, the project is being maintained.

FullDive VR Browser

http://fulldive.com/#vr-features
Mobile browser based on Chromium allows the user to watch any video in VR.

Changed Chromium OpenGL rendering device to provide the necessary functionality to an Android wrapper application.

2D Game for PPC 2003

http://murzik555.livejournal.com/1114.html
The link includes several screenshots and a small clip from a game I developed it for PPC 2003.

Sample of a Complex GUI Based on BCG Library

http://murzik555.livejournal.com/1317.html
There are three custom controls in the screenshot:
- 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

A GUI I developed.

MFC GUI Application

This program is a client\server CRM for taxis. The client GUI part is a multithreaded C++/MFC application. My involvement entailed:

• 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

Developed a prototype of the gold-lock.com IP-telephony system for encrypting VOIP conversations, text messages, and file transfers.

Testimonial | Andrew Rackcheev, CEO at Aktiv Systems

"May 04, 2011
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.

"April 7, 2011
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."
2000 - 2006

Master's Degree in Applied Mathematics

Nizhy Novgorod Technical University - Nizhny Novgorod

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

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring