Embedded Software Developer
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.
ExperienceC - 7 yearsC++ - 6 yearsLinux - 5 yearsQt - 4 yearsFreeRTOS - 4 yearsBash - 4 yearsBluetooth LE - 3 yearsTCP/IP - 3 years
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.
Senior Software Engineer
- 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
- 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
- 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
- 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.
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.
Smart Fan Assistant
Qt, Boost, OAuth 2
Standard Template Library (STL), Protobuf, Sockets, Node.js
GCC, Git, PSIM, MQTT, CMake, GNU Make, Make, Makefile, Visual Studio, GDB, Valgrind, GNU Debugger, MATLAB, Altium Designer (PCAD), GitHub, GitLab, Azure IoT Hub
Concurrent Programming, Unit Testing, Socket Programming, Design Patterns, Agile, Scrum
Linux, Bluetooth LE, STM32, Windows, AWS IoT, Embedded Linux, Raspberry Pi, Ubuntu, Amazon Alexa, Amazon Web Services (AWS), Raspbian, NVIDIA CUDA, Blockchain, Docker
JSON, MySQL, MongoDB
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), Catch2, 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
PhD in Electrical Engineering
Novosibirsk State Technical University - Novosibirsk, Russia