Anton U. C++ /Software Engineer / Electronic Engineer / Embedded Developer

Desktop Software

Summary

- Strong knowledge of C/C++, 20 years of experience in firmware and embedded development using different types of micro-controllers and microprocessors
- Design of different measuring units for MWD-systems, SCADA systems for industrial equipment
- Experience and understanding of OOP, component design
- Deep experience in developing measuring equipment
- Involvement in long-term projects, which gave me strong experience in various areas of software design and development, including design of client-server systems, low-level firmware development and testing projects.
- Solid knowledge in using various tool required for successful project development: Issue and Bug Tracking systems, Source Control systems, Code Review tools.
- Active teamwork attitude, quick learning ability, good skills in problem solving.
-Sociable, result oriented, Good logical thinking
- Intermediate English.
- Availability starting from ASAP

Education

Embedded Developer / Electronic Developer / Firmware Developer

February 2020 - Present

Embedded Developer, Telematics

December 2018 - February 2020

Embedded Developer, Luxoft

October 2017 - November 2018

Team Lead, QB-Tech

August 2015 – September 2017

Software / Electronical Engineer, Ukrspetspribor

April 2011 – July 2015

Software / Electronical Engineer, Experimental Design Bureau of Geophysical Instrumentation

March 2000 – March 2011

Projects

Firmware Developer, Fiber communication unit

Nov 2021 - June 2023
Description: Development of firmware for MCU for the management internal processes of the unit. Developed drivers for internal wired interfaces. Developed logging subsystems and protocols for external communications. Developed a set of tests for validation of correct behavior of the device.
Responsibilities: Code development. Code refactoring. Math development. Code reviewing. Bug fixing. Documentation
Technologies: C/C++, MPLAB X, CMake, GCC, Ninja, GIT, UART, I2C, SPI, MCU IMX6

Software Developer / Math Developer, Breath and Heart monitoring system

Sept 2021 - Nov 2021
Description: Our team designed a math model for a single sensor system for monitoring baby’s breath and heartbeat. We’ve built a math model, converted it to a c-code library and filled it with a list of tests
Responsibilities: Code development. Algorithm development. Test development. Bug fixing
Technologies: C/C++, CMake, GCC, Python, Matlab, Ninja, Jira, GIT

Embedded Engineer, Eco-office

Jan 2021 – Aug 2021
Description: IoT project, in eco air monitoring field. We collect different measurements from sensors like temperature, pressure, humidity, CO2, particles. We have distributed network of sensor nodes connected to gateway by LoraWAN, both gateway and sensor nodes have Lora modules and Wi-Fi/Bluetooth chips and have feature of initial device configuration via Bluetooth. The nodes could also send measurements via Wi-Fi, MQTT to AWS cloud if it’s possible to connect to Wi-Fi. And gateway collects packets with sensor data from LoraWAN and sends it to the AWS cloud. Also, we have OTA updates from AWS via HTTPs.
Responsibilities: Team leading. Code development. Code reviewing. Product supporting and documentation. Bug fixing.
Technologies: LoraWAN, Wi-Fi, Bluetooth, AWS cloud, MQTT, OTA, HTTPs

Firmware / Electronic Developer, Smart Grow

Mar 2020 - Jan 2021
Description: Development of a growing system. Our team has developed a sample greenhouse device. The device has a common interface for connecting various sensors. The device also contains a subsystem for controlling external equipment. The customer can monitor the current state of the microclimate on the device screen, on a mobile phone or personal webpage
Responsibilities: Code development. Development methods of calibration. Math development. Schematics review. Bug fixing
Technologies: CMake, GCC, Python, Matlab, Ninja, Jira, GIT, DRCC16, UART, RS232, RS485

Firmware / Electronic Developer, Data processing system

Nov 2018 - Dec 2020
Description: Development of a system based on SOC, SOM and other PC with ARM processors onboard units for the automation management of different measuring or registration systems, using various wired interfaces. We designed various electronic parts for customer needs, with manual and/or remote-control subsystem via SSH and RDP. As a part of project, we’ve customized Linux OS for the main boards of our system.
Responsibilities: Code development. Code refactoring. Math development. Code reviewing. Schematics review. Bug fixing. Porting software from Linux to Windows.
Technologies: C++, CMake, GIT, Ninja, Raspbery Pi, Orange Pi, IMX6, I2C, SPI, CAN, USB, UART, RS232, RS485, Bluetooth

Software / Electronic Engineer, Data processing system

Sept 2017 - Nov 2018
Description: Development of an application system for the analysis, calculation, and visualization of data. The data obtained from the measuring modules undergo various processing, including neural networks and machine learning, to provide the user with complete and detailed information about the measurements taken.
Responsibilities:
Code development. Math development. Code reviewing. Fixing bugs. Estimation and business analyses
Technologies: Matlab, C++, MSVS, Jira, TFS

Software / Electronic Engineer, SCADA system for technological equipment and post-terminals

Dec 2015 - May 2017
Description: Development of a client-server system that is used to monitor the operation of various industrial equipment and control it. The system collects all data that is present on the interfaces, performs data analysis, generates warnings when there are malfunctions, signals a failure in the operation of the equipment, and signals when external interference into the operation of the equipment. The collected data is saving to the internal flash storage and then transmitted to the central server via a 2G connection. To protect against external interference in the operation of the system, all data is encrypted, and the whole complex is in a separate-dedicated VPN.
Responsibilities: Architecture and design. Code development. Code reviewing. Fixing bugs. Product supporting and documentation maintenance. Managing of team, distribution of tasks.
Technologies: C/C++, Keil, GCC/GDB, FreeRTOS, Altium, I2C, SPI, CAN, USB, UART, RS232, RS485, ModBus, MDB, TCP/IP, 2G/3G, Git, Jira, Confluence

Software / Electronic Engineer, Road Control

Feb 2012 - Oct 2012
Description: Development of a mobile laboratory in the form of SCADA-system for the roads expertise. The laboratory includes 4 IP-video cameras, a GPS-navigator and a set of various measuring sensors that assess the slope of the road, the flatness of the roadway, the temperature of the coating. All received information is recorded on an external hard drive while the vehicle is moving. It is also possible to add audio notes and insert control points in the process of collecting information.
Responsibilities: Architecture and design. Code development. Fixing bugs. Product support and documentation maintenance.
Technologies: C/C++, GCC/GDB, Ubuntu, TCP/IP, Git

Software / Electronic Engineer, MWD system

Dec 2009 – Dec 2015
Description: Electronic and firmware development of various measuring modules (inclinometer, gamma measure, neutronic measure, temperature, pressure), power supply and telemetry for the MWD system; diagnostic tools for measuring transducers, methods for validation and calibration of measuring instruments; mathematical algorithms for improving the quality of the obtained measurement results.
Responsibilities: Electronic design. PCB design. Math-modeling. Code development. Fixing bugs. Product support and documentation maintenance.
Technologies: C/C++, ASM, VHDL, MatLab, Visual Studio, Keil, ISE, PCad, Altium, I2C, SPI, CAN, USB, Manchester2, LVDS, UART, RS232, RS485, ModBus

Software Engineer

Mar 2009 – Dec 2009
Description:Development list of libraries with RESTful API for Emergency Service systems in Real Time. Our solution was based on UML-diagram which was provide by customer. Our solution was built with using OATPP server, for the JSON manipulation we used Nlohmann library. All methods were covered by unit-tests. As a building system we used CMake3.
Responsibilities: Development libraries. Code development. Code reviewing. Bug fixing.
Technologies: C++11, CMake3, JSON, Oat++, Catch2, Jinja2Cpp, RESTful API 

Software Engineer

Jun 2001 – Jul 2002
Description: A highly sensitive non-touch baby Breathing Movement Monitor. It is intended for detection of respiratory cessation (apnea) in babies. It constantly monitors baby’s breathing micro movements through the mattress during sleep and gives an alert to caretakers if breathing stops or becomes irregularly slow, giving critical time to intervene.
Responsibilities: Signal clearing and biometric data extraction. Implementation on edge devices and in the cloud. Bug fixing.
Technologies: C/C++, Matlab, Digital Signal Processing, CMake

Software / Electronic Engineer, Loggins system for research of oil and gas wells

Mar 2000 - Mar 2009
Description: Electronic and firmware development measuring modules (induction method, acoustics method, inclinometer, caliper, technological data) of a cable-logging system, to obtain operational information on the state of the well. Development different protocols for packing and transmit data of measure. Development of diagnostic tools for measuring transducers, methods for validation and calibration of measuring instruments. Development of mathematical algorithms for improving the quality of the obtained measurement results.
Responsibilities: Electronic design. Math-modeling. Code development. Fixing bugs. Product support and documentation maintenance.
Technologies: C/C++, ASM, VHDL, Matlab, Microcap, Visual Studio, Keil, ISE, PCad, Altium, I2C, SPI, CAN, USB, Manchester2, LVDS, UART, RS232, RS485, ModBus

Education

Kyiv Polytechnic Institute, Master’s degree in Computer Science