Embedded Software Engineer with 15 years of experience in developing software for microcontroller-based and embedded systems. Skilled in RTOS, bare-metal programming, and Linux-based solutions. Experienced in designing multithreaded applications, hardware interfacing, and optimizing software performance. Passionate about robotics.
Topcon Agriculture - Concordia Sulla Secchia, Italy
Senior Software Engineer
Developed and optimized a multithreaded application for a GNSS project, migrating a large legacy codebase from RTOS to RT Linux and integrating it with a new external GNSS receiver. Implemented new features required for Topcon AG products and ensured stable operation on the new platform.
- Improved performance and maintainability of legacy code in an RT Linux environment.
- Enhanced the codebase's modularity and extensibility, making future feature development more efficient.
- Ensured compatibility and reliable operation with new GNSS hardware.
Tech stack: C, C++, GNU Make
Conducted short-term research on code performance and compiler technologies.
Developed full-platform simulation software for an external client (a computer components manufacturer).
- Created models of various hardware units based on behavioral specifications and implemented unit tests.
- Assisted in debugging and testing Linux driver software running on the simulator.
Tech stack: Proprietary C-like hardware modeling language, GNU Make, Python
Developed embedded software for a wide range of MCU-based (NXP Kinetis) devices.
- Designed multithreaded applications for MQX RTOS, interfacing with peripherals such as memories, laser transmitters, DWDM ASICs, and L2/L3 switches, as well as Linux-based control modules over serial/TCP connections.
- Developed bootloaders and firmware update mechanisms.
- Designed software for a DWDM shelf control unit with dual protective redundancy.
Tech stack: C, C++, Make, CodeWarrior IDE
Worked on the development of a DaVinci-based audio/video platform.
- Improved and debugged drivers for various SoC and onboard peripherals.
- Ported a speaker voice distortion algorithm and implemented the required user-level functionality.
- Adapted speaker identification and speech recognition algorithms for a CUDA-based speech processing complex, achieving a 10x to 100x speed improvement.
Tech stack: C / C++, CUDA
Coursera & Penns University: Aerial robotics
https://coursera.org/share/cf9238f866b503ac1ae92dcad7960f5f
Born 20.03.1984, Moscow
Coursera & Penns University: Aerial robotics
https://coursera.org/share/cf9238f866b503ac1ae92dcad7960f5f