Michael Puzankow, Developer in Poing, Bavaria, Germany
Michael is available for hire
Hire Michael

Michael Puzankow

Verified Expert  in Engineering

Software Developer

Location
Poing, Bavaria, Germany
Toptal Member Since
March 22, 2021

Michael brings more than 25 years of experience in software development, system architecture, and UI design and is an expert with C++ and Qt. Michael's project experience covers Windows, Linux, macOS, and Android, interfacing external hardware through TCP/IP networks, serial protocols, and Bluetooth. His roles have included CTO, CEO, R&D engineer, and department head. Michael also excels with SQL databases, distributed applications, networking, and multithreading.

Portfolio

Mode Software Inc.
C++, CMake, Autotesting, Profiling, Debugging, UI Programming, HTTPS, Sockets...
BlufVPN Oü
Desktop App Development, Cross-platform App Development, C++, C++11, Windows...
Freelance
C++, Networking, Modbus Protocol, UI Design, Windows, Multithreading, Win32 API...

Experience

Availability

Full-time

Preferred Environment

Windows, Linux, C++, Microsoft Visual Studio, Qt, Git, Microsoft SQL Server, MySQL, MacOS

The most amazing...

...core software I've built was for a highly automated access control and safety system for a vehicle test track at the Porsche development center in Germany.

Work Experience

Senior C++/Qt Developer

2021 - 2023
Mode Software Inc.
  • Worked in a team developing a secure, post-quantum encrypted communication platform.
  • Created a desktop front end supporting Windows, macOS, and Linux, based on Qt 5 and QML.
  • Developed a secure communication layer using various cryptographic protocols.
  • Built a high-performance multithreaded message processing engine.
  • Participated in mobile application development for iOS and Android.
  • Participated in UI/UX design and wrote specifications and documentation.
  • Reviewed and improved code created by other developers, optimized performance, and fixed bugs.
  • Participated in the system architecture design, including desktop and mobile apps, communication server, and customer portal.
Technologies: C++, CMake, Autotesting, Profiling, Debugging, UI Programming, HTTPS, Sockets, Networking, Concurrent Programming, Data Structures, Algorithms, Design Principles, Design Patterns, Qt, C++17, C++20, Cryptography, Qt 5, QML, Visual Studio, Conan, SQL, SQLite, MacOS, Linux, Windows, Front-end, Architecture, UI Design, Software Design Patterns, Best Practices, Optimization, APIs, API Architecture, Windows PowerShell, GitLab, Refactoring, JavaScript, Windows Desktop, Windows App Development, Python

Senior C++ Developer

2021 - 2022
BlufVPN Oü
  • Redeveloped a VPN client application for Windows using C++, Qt 5, and a 3rd-party VPN API. Implemented a new UI design. Added new features, including GraphQL API integration.
  • Ported a Qt-based Windows application to macOS and rearranged the source code to support both platforms. Developed the mixed C++/Objective C layer needed for native macOS VPN API integration.
  • Prepared a macOS application for standalone and the App Store distribution.
Technologies: Desktop App Development, Cross-platform App Development, C++, C++11, Windows, MacOS, Microsoft Visual Studio, Microsoft Visual C++, Xcode, Qt, Qt 5, Win32 API, Windows API, GraphQL, JSON, Networking, UI Design, Object-oriented Programming (OOP), Algorithms, Data Structures, APIs, API Integration, Software Development, Software Architecture, Model View Presenter (MVP), VPN, Inno Setup, App Store, Architecture, Front-end, Design Patterns, Best Practices, Optimization, API Architecture, Windows PowerShell, Refactoring, JavaScript, Windows Desktop, Windows App Development, Windows UI

Software Developer

2017 - 2021
Freelance
  • Developed a Windows program to simulate and diagnose serial and network communication between traffic control systems.
  • Built a data acquisition system for an automated road control facility in Switzerland.
  • Created an access control and automation system for the vehicle test track at the Porsche development center in Germany.
  • Ported a native Windows application to Android and iOS using the Qt cross-platform framework.
  • Created a multiplatform VPN client application supporting Windows and macOS.
Technologies: C++, Networking, Modbus Protocol, UI Design, Windows, Multithreading, Win32 API, Documentaries, Qt, Qt 5, C++11, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Microsoft Visual Studio, Microsoft Visual C++, Code Architecture, Data Structures, Integration, Writing & Editing, Object-oriented Programming (OOP), Algorithms, Software Architecture, HTML, Model View Presenter (MVP), Model View ViewModel (MVVM), XML, JSON, Android, Android NDK, NDK, iOS, Bluetooth, Cross-platform App Development, Desktop App Development, MacOS, Windows API, DNS, Architecture, Front-end, Design Patterns, Best Practices, Optimization, APIs, API Architecture, MATLAB, C++98, Technical Writing, Technical Documentation, Documentation, Windows Desktop, Windows App Development, Windows UI

CTO

2004 - 2021
AutoSat
  • Managed architecture design and development of a full-stack vehicle tracking and fleet management system, including hardware design, database design, communication protocols, GUI, and web-based front-end development.
  • Negotiated requirements with customers and wrote specifications and documentation.
  • Supervised hardware and software development teams.
  • Managed a project related to developing an instrumented oarlock for advanced rowing telematics.
  • Developed software tools for quality tests, diagnostics, and setup of diverse hardware devices.
  • Developed a Qt-based cross-platform application for configuration and diagnostics of vehicle telematics sensors.
Technologies: C++, Java, SQL, Hardware Design, Project Management, UI Design, Writing & Editing, Solution Architecture, Software Architecture, Hardware Development, Software Development, Database Architecture, Microsoft SQL Server, Windows, Linux, Git, Jira, Databases, Relational Databases, Microsoft Team Foundation Server, C++14, Integration, APIs, API Integration, Leadership, Object-oriented Programming (OOP), System Architecture, Model View Presenter (MVP), Bluetooth, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Microsoft Visual Studio, Microsoft Visual C++, Serial Port, Engineering Management, Technical Leadership, Documentaries, JSON, Engineering, C++17, C++11, Qt, Qt 5, Android, iOS, Test-driven Development (TDD), Code Architecture, Data Structures, XML, VirtualBox, Modbus Protocol, Cross-platform App Development, Model View ViewModel (MVVM), Native Mobile Apps, Desktop App Development, Windows API, Architecture, Front-end, API Architecture, Mapping, OpenStreetMap, OpenStreetMap API, Geospatial Data, Geospatial Analytics, Cloud, Amazon Web Services (AWS), C#, .NET, C++98, Documentation, Technical Documentation, Technical Writing, System Administration, Windows Desktop, Windows App Development, Windows UI

Head of Software Engineering

2011 - 2014
Glosav
  • Managed architecture design and development of a full-stack vehicle tracking and fleet management system, including hardware design, database design, communication protocols, GUI, and web-based front-end development.
  • Negotiated requirements with customers and wrote specifications and documentation.
  • Supervised hardware and software development teams.
  • Developed software tools for quality tests, diagnostics, and the setup of various hardware devices.
Technologies: C++, Java, SQL, Project Management, Documentaries, UI Design, Desktop App Development, DNS, APIs, API Architecture, OpenStreetMap API, Geospatial Data, Geospatial Analytics, Mapping, Cloud, C#, .NET, C++98, Documentation, Technical Writing, Technical Documentation, System Administration

CEO and Head of Software Engineering

1994 - 2009
Weiss-Electronic Petersburg
  • Developed Windows software for manual control and diagnostics of variable traffic signs.
  • Created Windows software to simulate and diagnose serial and network communications between traffic control systems.
  • Built communication software for data acquisition from traffic detectors and similar road equipment.
  • Managed diverse software development projects, including negotiating requirements and supervising the development team, quality assurance, and documentation.
Technologies: C++, Software Architecture, Project Management, Documentaries, Microsoft Visual Studio, Desktop App Development, C++Builder, Embedded C++, C++98, Documentation, Technical Documentation, Technical Writing, System Administration, Windows Desktop, Windows App Development, Windows UI

Research and Development Engineer

1991 - 1993
Weiss-Electronic GmbH
  • Built a portable terminal, including hardware design and firmware development.
  • Developed firmware for a variable traffic sign controller.
  • Developed MS-DOS software for communication protocol simulation and diagnostics.
Technologies: Hardware Design, Software Development, C++, Electronics, Electrical Engineering

Secure Communication Platform (Post-quantum Encrypted)

http://mode.io
The project team developed a secure communication platform that included desktop, iOS, and Android applications, a communication server, and a customer portal. My responsibilities included the desktop front-end user interface development supporting Windows, macOS, and Linux and communication, encryption, and storage modules. The desktop app was developed in C++ using Qt 5 and QML. I worked closely with mobile and server teams, creating cross-platform features and communication protocols. Furthermore, I participated in the UI/UX design and system architecture development.

Multiplatform VPN Application

http://blufvpn.com
A multiplatform VPN application based on a 3rd-party VPN API.

My role initially was to develop a Windows desktop application using C++ and the Qt framework. The application was then ported to macOS. I rearranged the source code to support both platforms, with only a few parts implementing system-dependent features. I also developed a mixed C++/Objective-C layer on macOS that was necessary to access the native VPN framework from a C++ application.

For Windows, I built an installer based on Inno Setup. For macOS, different installers were created for standalone and App Store distribution. VPN support for different types of macOS distribution required additional modules (app extension for the App Store, a system extension for standalone distribution). These extensions were developed using Xcode and integrated into the application bundle.

Access Control and Automation System for Vehicle Test Track at Porsche Development Center in Germany

The test track consists of the race route and several additional areas, each equipped with entry and exit barriers and smart card readers for driver identification. Safety-related equipment includes vehicle detectors, variable traffic signs, traffic lights, warning blinkers, etc. Large outdoor displays are installed in all areas to advise drivers about current weather conditions, operating modes, warnings, and informational messages. The central computer supervises the equipment, sends necessary commands, and provides a fully automatic operation. Test track operators can adjust the system parameters, switch operating modes, and show text messages on the displays from several remote workstations.

This project's software includes the main automation service for the central computer, user interface applications, and some small programs working with specific equipment. The software runs on Windows and is developed in C++ under the wide use of the Win32 API. The main service communicates with different equipment and supports more than ten TCP/IP-based and serial communication protocols. It is integrated into the company infrastructure and exchanges information with internal databases (employee and project information).

Weather Data Acquisition System for Automated Road Control Facility in Switzerland

The system collects weather-related information from more than 100 weather stations connected via a GSM network. As the weather stations support serial communication only, a tunneling protocol and special hardware are used for data transmission. On the server side, the weather stations appear as a large amount of virtual serial ports. Several types of weather stations, each running a proprietary protocol, are used. Therefore, the server software supports different protocols. The system converts weather data into a common format and transmits it to the road control facility via TCP/IP.

The software runs on Windows and is developed with C++ under the wide use of the Win32 API. It does not have a user interface and works as a Windows service. All system parameters are defined in an XML configuration file.

I was tasked with negotiating requirements, designing architecture, writing specifications, developing code, and writing documentation.

Bluetooth-enabled Instrumented Oarlock for Rowing Telematics

https://nksports.com/empower-oarlock
The customer based in the US manufactures electronic equipment for advanced rowers. The project's goal was the development of an oarlock that measures angular position and force applied by the rower and transmits the measurements via Bluetooth to the handheld device of the coach. This approach supports the coach with real-time data suitable for the evaluation of the rowing technique. The project included hardware design, firmware development, and the building of working prototypes.

On this project, I was tasked with negotiating requirements, writing specifications, supervising the development team, and developing Windows-based tools for oarlock calibration and diagnostics.

Porting of Native Windows Application to Android and iOS Using Qt

A native Windows application developed several years ago is part of a larger project that deals with telematics hardware devices used by high-level sportsmen, especially rowers. These devices gather information from various sensors and transmit it via different communication ways. The application can connect to different types of devices, receive data, and display it in readable format for test and diagnostics purposes. It supports serial port, USB, TCP/IP, and Bluetooth connections, as well as reading from files and several application-specific protocols. The original application supports Windows only and was initially developed using C++, Microsoft Foundation Classes (MFC), and Win32 API. The customer required the application to support mobile platforms such as Android and iOS. After a feasibility test, the Qt framework was chosen as the platform for the new development. The porting itself was not difficult as the existing application already had properly isolated code for UI, business logic, and hardware-specific features. The only issue was the restricted serial port access under Android. Therefore, a platform-specific solution was implemented using Java classes integrated into the C++ application through a JNI interface.

GPS/GSM-based Vehicle Tracking System

http://autosat.com/
The development of a GPS/GSM-based vehicle tracking system for a B2B in Russia was initially a successful startup project that had been improved and redeveloped in the meantime. Many corporate customers currently use the system in Russia. The system consists of onboard terminals and sensors installed on cars/trucks, a communication server, a back-end server, an SQL database, and a GUI application.

Different platforms and technologies were used for development:
• Onboard terminals: STM32 MCU and C++ for firmware development;
• Communication server: Written in C++, hosted on Windows;
• Back-end server: Written in Java and hosted on Linux under Apache;
• Database: Microsoft SQL Server;
• GUI application: Written in Java and supports different platforms.

High performance was one of the main goals of the project. During the development, stress tests were applied to the system using simulation software that imitated more than 10,000 onboard terminals, sending data simultaneously at a high rate.

My primary role in this project was project management, which included writing specifications, designing the system architecture and database structure, defining interfaces, and supervising the development of QA teams.

Cross-platform Application for Configuration and Diagnostics of Vehicle Telematics Sensors

The company develops and manufactures different types of sensors used in vehicle telematics and fleet management systems. Sensor types include fuel level, proximity, vibration, acceleration sensors, etc. Wired or wireless sensors are connected to an onboard terminal and support various communication protocols.

The configuration and diagnostics application can establish communication with any sensor, display basic information such as type and serial number, adjust operation parameters depending on sensor type, and request and display measurements in a readable format. The application supports serial port and Bluetooth interfaces.

The application was originally developed in C++ for Windows using Microsoft Foundation Class (MFC) Library and the Win32 API. Then, it was completely redesigned and is now based on C++ 17 and the Qt framework. Currently supported platforms are Windows, Linux, Android, and iOS.

Windows Application for Configuration and Diagnostics of Interurban Traffic Control Equipment

The customer is a leading European manufacturer of interurban traffic control systems. The application supports various types of equipment installed on roads to monitor and control interurban traffic (traffic detectors, variable traffic signs, weather stations, etc.). It can connect to equipment using network or serial protocols, adjust settings, send commands, and update the firmware. Finally, it can monitor communication in traffic control systems and simulate both on-road devices and central stations for testing purposes. The application supports a comprehensive scripting language that enables users to define custom messages and send them to devices and extensible decoders that translate binary messages in a human-readable format. Initially developed in 2010, the application is being regularly improved and extended to support additional protocols and new types of equipment. The application was developed with C++ using Visual Studio and Microsoft Foundation Class (MFC) Library as the UI framework. It highly utilizes the concepts of object-oriented programming, multithreading, and the Win32 API.
1991 - 1992

Exchange Program in Computer Science

Technical High School of Trier - Trier, Germany

1984 - 1992

Research Engineer's Degree (Master's Equivalent) in Computers, Computer Systems and Networks

St. Petersburg Electrotechnical University (Former Leningrad Electrotechnical Institute “LETI”) - St. Petersburg, Russia

1989 - 1990

Exchange Program in Computer Science

University of Saarbrücken - Saarbrücken, Germany

Languages

C++, C++11, XML, SQL, C++14, C++17, C, HTML, Java, GraphQL, QML, Embedded C++, C#, C++98, JavaScript, Python

Frameworks

Qt, Qt 5, .NET, Windows PowerShell

Libraries/APIs

Win32 API, Microsoft Foundation Class (MFC) Library, Windows API, Microsoft Foundation Classes (MFC), Sockets, NDK, OpenStreetMap API

Tools

Microsoft Visual Studio, Microsoft Visual C++, Git, VirtualBox, VPN, Microsoft Team Foundation Server, Subversion (SVN), Jira, Android NDK, MQTT, Xcode, CMake, Visual Studio, Conan, MATLAB, C++Builder, GitLab

Paradigms

Object-oriented Programming (OOP), Desktop App Development, UI Design, Unit Testing, Test-driven Development (TDD), Parallel Computing, Model View Presenter (MVP), Model View ViewModel (MVVM), Model View Controller (MVC), Concurrent Programming, Design Patterns, Best Practices, API Architecture, Refactoring, Windows App Development

Platforms

Windows, MacOS, Linux, Android, iOS, Win32, Software Design Patterns, Amazon Web Services (AWS), Windows Desktop, Windows UI

Other

Multithreading, Modbus Protocol, Networking, Serial Port, Cross-platform App Development, Bluetooth, Hardware Design, Software Development, Electrical Engineering, Hardware Development, Software Architecture, Documentaries, Code Architecture, Architecture, Leadership, Team Leadership, CTO, Engineering Management, Engineering, Algorithms, Technical Leadership, APIs, API Integration, Solution Architecture, Integration, Data Structures, Inno Setup, App Store, Mathematics, Artificial Intelligence (AI), Native Mobile Apps, System Architecture, Writing & Editing, DNS, Autotesting, Profiling, Debugging, UI Programming, HTTPS, Design Principles, C++20, Cryptography, Front-end, Optimization, Linear Algebra, Electronics, Mapping, OpenStreetMap, Geospatial Data, Geospatial Analytics, Cloud, Technical Writing, Technical Documentation, Documentation, System Administration, GPS, A-GPS

Storage

Microsoft SQL Server, Database Architecture, Databases, Relational Databases, JSON, MySQL, SQLite

Industry Expertise

Project Management

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