Denis Makarov, Embedded Software Developer in Minsk, Minsk Region, Belarus
Denis Makarov

Embedded Software Developer in Minsk, Minsk Region, Belarus

Member since October 4, 2020
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.
Denis is now available for hire

Portfolio

  • SofTeq
    C, C++, Azure IoT Hub, FreeRTOS, Git, Python, Bash, Linux, Wireless Protocols...
  • Klika Tech
    C, C++, Linux, Node.js, Python, AWS IoT, Git, Embedded Linux, STM32...
  • Power Electronics Institute
    C, C++, Power Electronics, FreeRTOS, TCP/IP...

Experience

  • C 7 years
  • C++ 6 years
  • Linux 5 years
  • Qt 4 years
  • FreeRTOS 4 years
  • Bash 4 years
  • Bluetooth LE 3 years
  • TCP/IP 3 years

Location

Minsk, Minsk Region, Belarus

Availability

Part-time

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.

Employment

  • Senior Software Engineer

    2019 - 2021
    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.
    Technologies: C, C++, Azure IoT Hub, FreeRTOS, Git, Python, Bash, Linux, Wireless Protocols, Concurrent Programming, RTOS, Embedded C, Embedded C++, Embedded Systems, GCC, Windows, Qt, Standard Template Library (STL), MCU, Real-time Embedded Systems, Bluetooth LE, Protobuf, STM32, NVMe, Unit Testing, Node.js, Embedded Linux, Universal Asynchronous Receiver/Transmitter (UART), HTTP, TCP/IP, MQTT, HTTPS, Ubuntu, IEEE 802.15.4, JSON, SQL, Streaming, Stream Processing, Boost, SSH, Catch 2, Makefile, Make, GNU Make, CMake, Electronic Design Automation (EDA), EDA, Python 3, Python 2, Concurrency, Concurrent Computing, WiFi, Memory Management, Memory Leaks, Memory Profiling, Memory Optimization, C++ Memory Model, Performance, Direct Memory Access (DMA), Desktop App Design, Multithreading, Data Structures, Design Principles, UML, Design Patterns, Socket Communication, BSD Socket, Socket Programming, Sockets, Profiling, GNU Debugger, Runtime Debugging, Algorithms, Networking, IP Networks, Networks, Debugging, GDB, Valgrind, Debugging Tools, Low-level Programming, Encryption, Client/Server Networking, Computer Networking, Agile, Scrum, GitFlow, GitHub, GitLab, Git Flow, JavaScript, Docker
  • Senior Software Developer

    2018 - 2019
    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.
    Technologies: C, C++, Linux, Node.js, Python, AWS IoT, Git, Embedded Linux, STM32, Bluetooth LE, Wireless Protocols, Concurrent Programming, RTOS, Embedded C, Embedded C++, Embedded Systems, GCC, Bash, Standard Template Library (STL), MCU, Real-time Embedded Systems, Protobuf, Unit Testing, Universal Asynchronous Receiver/Transmitter (UART), HTTP, TCP/IP, MQTT, HTTPS, Ubuntu, Snapcraft, IEEE 802.15.4, Raspberry Pi, OAuth 2, MongoDB, JSON, Streaming, Stream Processing, Boost, SSH, Catch 2, Makefile, Make, GNU Make, CMake, Amazon Alexa, Python 3, Python 2, Concurrency, Concurrent Computing, WiFi, AWS, Digital Signal Processing, DSP, Voice Recognition, Real-time Audio Processing, ESP32, Memory Management, Memory Leaks, Memory Profiling, Memory Optimization, C++ Memory Model, Performance, Raspbian, Mbed, Direct Memory Access (DMA), Desktop App Design, Multithreading, Data Structures, Design Principles, Design Patterns, Socket Communication, BSD Socket, Socket Programming, Sockets, Profiling, GNU Debugger, Runtime Debugging, Algorithms, Networking, IP Networks, Networks, Debugging, GDB, Valgrind, Debugging Tools, Low-level Programming, Encryption, Client/Server Networking, Computer Networking, Agile, Scrum, GitFlow, GitHub, GitLab, Git Flow, JavaScript, Docker
  • Senior Hardware and Firmware Engineer

    2010 - 2018
    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.
    Technologies: C, C++, Power Electronics, FreeRTOS, TCP/IP, Universal Asynchronous Receiver/Transmitter (UART), MCU, STM32, PSIM, MATLAB, RTOS, Embedded C, Embedded C++, Embedded Systems, GCC, Windows, Qt, Bash, Standard Template Library (STL), Real-time Embedded Systems, Unit Testing, Git, Altium Designer, Schematics, HTTP, HTTPS, Ubuntu, IEEE 802.15.4, JSON, SQL, Streaming, Stream Processing, Visual Studio, SSH, Makefile, Make, GNU Make, Electronic Design Automation (EDA), EDA, MySQL, Python 3, Python 2, Concurrency, Concurrent Computing, Digital Signal Processing, DSP, ESP32, Memory Management, Memory Leaks, Memory Profiling, Memory Optimization, C++ Memory Model, Performance, Raspbian, Mbed, Direct Memory Access (DMA), CAN Bus, Desktop App Design, Multithreading, Data Structures, Design Patterns, Socket Communication, BSD Socket, Socket Programming, Sockets, Profiling, GNU Debugger, Runtime Debugging, Networking, IP Networks, Networks, Debugging, GDB, Debugging Tools, Low-level Programming, Client/Server Networking, Computer Networking, CUDA, GitFlow, GitHub, GitLab, QML, HTML, CSS
  • Junior Electrotechnical Engineer

    2008 - 2010
    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.
    Technologies: C, MATLAB, Schematics, Altium Designer, PSIM, Embedded C, Windows, MCU, Real-time Embedded Systems, Power Electronics, STM32, Universal Asynchronous Receiver/Transmitter (UART), Visual Studio, SSH, Electronic Design Automation (EDA), EDA, MySQL, Digital Signal Processing, DSP, Memory Leaks, Performance, C++, Direct Memory Access (DMA), CAN Bus, Debugging, GDB, Debugging Tools, Low-level Programming, CUDA, GitFlow, GitHub, HTML, CSS

Experience

  • Smart Collar

    A wearable device for dogs to track health metrics and GPS location.

    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 user's mobile app over Bluetooth, and power management.

  • HCI Firmware for SSD

    A part of firmware; a host controller interface for managing the communication with the PC host.

    I designed the system features following NVMe standards to support high throughput and high reliability of data consistency.

  • Electronic Design Automation (EDA) Tool

    A graphical user interface application for SoC designers.

    I designed and implemented the system features such as automatic routing, data integrity controller for back-end side, and GUI-related parts of software.

  • Zigbee Gateway

    A ZigBee coordinator device serves as a gateway connecting a network of low-power ZigBee devices to an IP-capable network to provide the IoT infrastructure. The solution is based on an IEEE 802.15.4 radio module and industrial-type router driven by embedded Linux.

  • Smart Fan Assistant

    A smart device that tracks sports events and competitions, provides daily reports, and delivers promotions from sponsors. I created several interactive tools based on the Amazon Alexa voice assistant service.

Skills

  • Languages

    Bash, C++, C, Embedded C, Embedded C++, UML, Python, SQL, Python 2, Python 3, HTML, QML, CSS, JavaScript
  • Frameworks

    Qt, Boost, OAuth 2
  • Libraries/APIs

    Standard Template Library (STL), Protobuf, Sockets, Node.js
  • Tools

    GCC, Git, PSIM, MQTT, CMake, GNU Make, Make, Makefile, Visual Studio, GDB, Valgrind, GNU Debugger, MATLAB, Altium Designer, GitHub, GitLab, Azure IoT Hub
  • Paradigms

    Concurrent Programming, Unit Testing, Socket Programming, Design Patterns, Agile, Scrum
  • Platforms

    Linux, Bluetooth LE, STM32, Windows, AWS IoT, Embedded Linux, Raspberry Pi, Ubuntu, Amazon Alexa, Raspbian, CUDA, Blockchain, Docker
  • Storage

    JSON, MySQL, MongoDB
  • Other

    FreeRTOS, TCP/IP, HTTP, MCU, Real-time Embedded Systems, Power Electronics, Universal Asynchronous Receiver/Transmitter (UART), RTOS, Embedded Systems, Streaming, Stream Processing, Concurrency, Concurrent Computing, EDA, Electronic Design Automation (EDA), Catch 2, 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, AWS, Encryption, GitFlow, Git Flow

Education

  • PhD in Electrical Engineering
    2004 - 2013
    Novosibirsk State Technical University - Novosibirsk, Russia

To view more profiles

Join Toptal
Share it with others