Denis Makarov
Verified Expert in Engineering
Embedded Software Developer
Abu Dhabi, United Arab Emirates
Toptal member since September 16, 2021
Denis is an embedded system developer with 10+ years of experience in designing, developing, and maintaining complex software and hardware systems. He holds a PhD in electronics and has professional expertise in C, C++, STL, Qt, Linux, and FreeRTOS. Along with solid experience in embedded systems, information security, cryptography, and networks, Denis is enthusiastic about developing high-load real-time systems for his clients.
Portfolio
Experience
- C - 7 years
- C++ - 6 years
- Linux - 5 years
- Qt - 4 years
- Bash - 4 years
- FreeRTOS - 4 years
- TCP/IP - 3 years
- Bluetooth Low Energy (LE) - 3 years
Availability
Preferred Environment
Linux, Windows, GCC, FreeRTOS, TCP/IP, HTTP, Qt, Bash, C++, C
The most amazing...
...thing I've developed is one of the best smart collars for dogs with back-end IoT service support.
Work Experience
Senior Software Engineer
Toptal
- Designed and developed a webserver to serve cryptographic requests via HTTP API.
- Created and developed a satellite's onboard computer firmware with system services like firmware upgrades, file system, job scheduling, networking, log management, housekeeping, bootloader, and other business logic.
- Maintaining quality control operations such as designing integration tests, verifying requirements, and developing an automation toolset.
Senior Software Engineer
SofTeq
- Developed firmware for SSD controllers based on NVMe technology.
- Built firmware to make a device able to communicate with Azure's IoT hub over WiFi and user's mobile application over BLE.
- Created a desktop GUI application that serves as an automatic electronic devices design tool.
Senior Software Developer
Klika Tech
- Developed a ZigBee host driver and gateway firmware to connect a network of low-power devices to cloud-based infrastructure.
- Ported hardware abstraction layers for different microcontrollers to provide firmware upgrade over the air feature.
- Built firmware for consumer electronic devices with AI voice assistant based on Alexa engine.
Senior Hardware and Firmware Engineer
Power Electronics Institute
- Led the development of firmware for power supply systems for spacecraft. Designed the architecture of the real-time controller.
- Developed a desktop application to track real-time measurements and health metrics of power controllers.
- Managed a project of power supply system development. Oversaw product delivery and communicated with clients.
Junior Electrotechnical Engineer
Intellectual Machines
- Developed a power converter for electric drives and participated in on-site quality tests verification.
- Designed a digital controller for high harmonics compensation system.
- Developed a desktop application for monitoring and debugging embedded controller software.
Experience
Smart Collar
I developed an embedded real-time software that included features such as automatic firmware upgrade downloaded over the air from cloud-based back-end infrastructure, communication with the user's mobile app over Bluetooth, and power management.
HCI Firmware for SSD
I designed the system features following NVMe standards to support high throughput and high reliability of data consistency.
Electronic Design Automation (EDA) Tool
I designed and implemented the system features such as automatic routing, a data integrity controller for the back-end side, and GUI-related parts of the software.
Zigbee Gateway
Smart Fan Assistant
Education
PhD in Electrical Engineering
Novosibirsk State Technical University - Novosibirsk, Russia
Skills
Libraries/APIs
Standard Template Library (STL), Protobuf, Sockets, Node.js
Tools
GCC, Git, PSIM, MQTT, CMake, GNU Make, Make, Makefile, Visual Studio, GNU Debugger (GDB), Valgrind, MATLAB, Altium Designer (PCAD), GitHub, GitLab, Azure IoT Hub
Languages
Bash, C++, C, Embedded C, Embedded C++, UML, Python, SQL, Python 2, Python 3, HTML, Go, QML, CSS, JavaScript
Frameworks
Qt, Catch2, Boost, OAuth 2
Paradigms
Concurrent Programming, Unit Testing, Socket Programming, Design Patterns, Agile, Scrum
Platforms
Linux, Bluetooth Low Energy (LE), STM32, Windows, AWS IoT, Embedded Linux, Raspberry Pi, Ubuntu, Amazon Alexa, Amazon Web Services (AWS), Raspbian, NVIDIA CUDA, Blockchain, Docker
Storage
JSON, MySQL, MongoDB
Other
FreeRTOS, TCP/IP, HTTP, MCU, Real-time Embedded Systems, Power Electronics, Universal Asynchronous Receiver/Transmitter (UART), Real-time Operating System (RTOS), Embedded Systems, Streaming, Stream Processing, Concurrency, Concurrent Computing, EDA, Electronic Design Automation (EDA), ESP32, DSP, Digital Signal Processing, Memory Management, Memory Leaks, Memory Profiling, Memory Optimization, C++ Memory Model, Performance, Algorithms, Networking, IP Networks, Networks, Debugging, Debugging Tools, Runtime Debugging, Profiling, BSD Socket, Socket Communication, Design Principles, Data Structures, Multithreading, Desktop App Design, CAN Bus, Direct Memory Access (DMA), Mbed, Low-level Programming, Client/Server Networking, Computer Networking, NVMe, Schematics, Wireless Protocols, Zigbee, HTTPS, Snapcraft, IEEE 802.15.4, SSH, WiFi, Real-time Audio Processing, Voice Recognition, Encryption, GitFlow, Git Flow, Operating Systems, Applied Cryptography, Cryptographic Protocols
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