Work Experience
Senior Software/Firmware Engineer, Plugable extension boards development
Duration: August 2023 - present
Summary: Development of extension boards including bootloader with DFU support and cryptographic protection, device drivers, and signal processing connectivity for hardware extensions.
Responsibilities:
- Development of bootloader with DFU support and cryptographic protection.
- Device drivers development.
- Porting and extending libraries.
- Signal processing connectivity.
Technologies: STM32CubeIDE, stm32, UART, I2C, SPI, Thread/CoAP, AES, LwIP, HAL.
Senior Software Engineer, Surgical microscope for spinal surgery
Duration: September 2021 - August 2023
Summary: Development of software for a surgical microscope used in spinal surgery, focusing on image and video processing to assist surgeons during operations.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: Linux, OpenCV, Nvidia CUDA, tcp/ip, Magwell video capture SDK, video processing, image processing, interprocess communication.
Senior Software/Firmware Engineer, Smart watch health care project
Duration: April 2020 - September 2021
Summary: Development of Windows subsystem, BLE connectivity, OTA updates, drivers implementation, business logic, and fitness algorithms for a smart watch health care device.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: STM32CubeIDE, stm32, nRF52, FreeRTOS, TouchGFX, UART, I2C, SPI.
Senior Software Engineer, Video conference software
Duration: March 2020 - April 2020
Summary: Integration of new Chromium engine and bug fixing for video conference software to enhance performance and user experience.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C/C++, Video/Audio codec, Chromium Embedded, Windows, Mac.
Senior Software/Firmware Engineer, Vehicle Control System project
Duration: October 2019 - March 2020
Summary: Implementation of vehicle control system including navigation, video encoding, engine control, and telemetry to improve vehicle management and monitoring.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C/C++, gnu chain, Qt Creator, CAN bus, Raspberry Pi.
Senior Software/Firmware Engineer, Mobile healthcare device project
Duration: March 2019 - October 2019
Summary: Development of desktop applications for setting up and testing mobile healthcare devices to ensure device functionality and reliability.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C/C++, QT, Sierra Wireless Open AT, networking, serial port interface, gps, gsm.
Senior Software/Firmware Engineer, Smart house gateway
Duration: August 2018 - March 2019
Summary: Firmware implementation for a smart house gateway based on Z-Wave network to enable home automation and device connectivity.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C/C++, Boost, Linux, Yocto, Z-Wave, networking, JSON, gcc, gdb.
Senior Software/Firmware Engineer, Smart NIC
Duration: October 2017 - August 2018
Summary: Firmware development for smart network interface devices to enhance network performance and device management.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C/C++, Linux, networking, u-boot, Octeon sdk, device drivers, gcc, gd.
Senior Software/Firmware Engineer, IOT gateway
Duration: April 2016 - October 2017
Summary: Development of IoT gateway and mobile pedestal to support IoT device connectivity and communication.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, Yocto linux, Thread networking, MQTT, TUN/TAP, ipv6, 6LoWPAN, NFC, IAR, Kinetis sdk.
Senior Software Engineer, Album design software
Duration: June 2015 - April 2016
Summary: Development of album design software for professional wedding and portrait photographers to create customized photo albums.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, QT5, qml, imagemagick, gtest, http/https.
Senior Software Engineer, Home media centre
Duration: June 2015 - June 2015
Summary: Development of DLNA/UPNP home media centre software for iOS, tvOS, Android, and Linux platforms to enable media streaming and sharing.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, Objective-C, boost, iOS SDK, tvOS, xcode, mobile VLC kit.
Senior Software Engineer, Client for cloud services
Duration: March 2014 - June 2015
Summary: Development of client software for cloud services including download, upload, update, and cryptographic protection of user files stored in the cloud.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, QT5, POCO, OpenSSL, curl, cryptopp, ZeroMQ, SQLite, http/https.
Senior Software Engineer, Presentation software
Duration: May 2012 - March 2014
Summary: Development of software for mixed type presentations including video, DVD, webcam, rich text, images with alpha blending and transitions.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, DX9, DX11, DirectShow, Media Foundation, OpenGL, MFC, VisualStudio12, Metro(Modern UI), ffMpg.
Software Engineer, Sqlite DB performance test on iOS devices
Duration: August 2011 - September 2011
Summary: Performance testing of SQLite database on iOS devices to evaluate and optimize database operations.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: Objective C, iOS sdk, XCode, SQLite.
Software Engineer, Back-end server project
Duration: May 2011 - May 2012
Summary: Development of smart router configuration support backend server to manage router settings and operations.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, Xml, Eclipse, RadHat linux, qemu, Rally.
Software Engineer, 3D CAD system
Duration: April 2010 - May 2011
Summary: Development of alpha version of 3D CAD system for computer-aided design and modeling.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, OpenGL, Qt, Xml, Bezier curves, step files, Windows, MS Visual Studio, Rally.
Software Engineer, Application for business
Duration: September 2009 - April 2010
Summary: Maintenance development, build script improvements, and unit test implementation for business application software.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: Hudson, git, svn, C++, Java, JUnit, Ant, Ivy, HP-UX, Eclipse, Oracle, MSSQL, Visual Studio, COM, MFC, WINAPI.
Software Engineer, Mobile toolkit box software
Duration: March 2008 - September 2009
Summary: Development of software for mobile toolkit boxes including design, development, and testing of new functionality.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: Security Cards, C++, DES/3DES, Java, Eclipse, Visual Studio NET, MFC, WINAPI.
Software Engineer, Distributed document processing application
Duration: May 2007 - March 2008
Summary: Development and maintenance of distributed document processing application with new feature additions.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, Oracle, MSSQL, Visual Studio, Data-matrix, Barcodes, MFC, WINAPI.
Software Engineer, Firmware for telecommunication device
Duration: October 2006 - May 2007
Summary: Development of firmware for telecommunications devices including DS1, DS3, and Ethernet (PHY) device drivers.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: VxWorks, Eclipse, C/C++, SVN.
Software Engineer, Firmware for telecommunication device
Duration: July 2006 - October 2006
Summary: Development of application for telecommunications industry including alarm processing module and H264 video encoder parts.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: VxWorks, Eclipse, C/C++, SVN, Visual Studio NET, Multimedia, Multithreading.
Software Engineer, Distributed internet auction system
Duration: February 2005 - July 2005
Summary: Development of server part of a commercial distributed internet auction system to support online auction operations.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: Kdevelop, gcc, SourceSafe, Linux, PostgreSQL, Cryptography, Multithreading.
Software Engineer, Application for construction industry
Duration: September 2005 - February 2005
Summary: Development of application software for the construction industry to support business processes.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: Visual Studio, COM, MS SQL, Boost, Multithreading.
Software Engineer, Application for insurance business
Duration: June 2004 - September 2005
Summary: Development of application software for the insurance business to manage insurance processes.
Responsibilities:
- Research, analysis and design.
- Coding and unit testing.
Technologies: Java, xml, Eclipse, MKS, ant.
Software Engineer, Distributed Telemetry Processor
Duration: May 2002 - June 2004
Summary: Development of client/server intercommunication module for telemetry distributed system including graphic telemetry viewer and earth remote sensing software package.
Responsibilities:
- Graphic telemetry viewer development.
- Earth remote sensing software package development.
- Research, analysis and design.
- Coding and unit testing.
Technologies: C++, OpenGl, Com/DCom, Svn, Tcp/Ip, Visual Studio 6.0, MYSQL, Multithreading.
Education
- Lviv National Polytechnic University
M.Sc Degree in Microelectronics and solid state devices
August 1996 - May 2001