Anton U. C++ /Software Engineer / Electronic Engineer / Embedded Developer
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