VPV resume

Valery Vachaev
Montreal, Quebec H1M 2H9
cell: (438)-389-3340 • e-mail: val.vachaev@gmail.com
web: https://vachaev.net
Professional Objective

Highly motivated IT professional with more than 20 years of relevant experience seeking a challenging position in the area of software design and development.

Highlights of Qualifications
• Experienced in full software development life cycle in Linux/Mac/Windows/embedded platforms.
• Programming languages: C, C++, C++17, Bash and SQL
• Qt 4/5 cross-platform framework, QML, QtQuick
• Database: MySQL, SQLite, Redis
• Cross-platform API library: Qt, STL, OpenSSL, network sockets, ODBC/unixODBC
• Development Tools/IDEs: MS Visual Studio, QtCreator, Eclipse, GNU Toolchain (Make, GCC, GDB), Cmake, Yocto.
• Experienced in many operating systems such as: LINUX, UNIX, Windows, MacOSX
• Experienced in building Linux image for different type of boards (Raspberry Pi, Toradex, Boundary Devices, Xilinx and other) using Boot2Qt/Yocto project.
• Experienced in embedded software design techniques and architectures (all stages: creating Linux image, creating cross-compile build environment, design and implementation of application)
• Experienced with UI development using QT/QML library for LINUX/Windows/MacOSX
• Experienced in virtualization/container technology (Xen/Docker)
• MQTT broker (Mosquitto)
• Experienced in VPN technology (OpenVpn and IPSEC), PKI and network protocols TCP/IP, UDP, HTTP(S), SOAP, web sockets

Employment History

Software Developer/Consultant 01/2025 – 04/2025
Kafexpress Ltd, Montreal, Quebec

– designing and implementing a mobile application for Android and iOS (iPhone). The application is used for creating / viewing and modifying the clients orders / invoices. Interacting with a WooCommerce server using its REST API.
  Platform: Linux, MacOs tools: C++/Qt6/QML


Software Engineer/Consultant 10/2024 – 11/2024
Resonance Research Inc, CT

– add new features to the existing application that controls precision laser measuring tool
– add new page / improve QML-based GUI
Platform: Linux, tools: C++/Qt5/QML

Software Engineer/Consultant 02/2023 – 03/2023
CamCloud Inc, Ottawa ON

– configure Hanwha security Camera SDK and cross compiling several libraries (mbedtls, tinycbor, ixwebsocket)
– implementing a C++ prototype application for security webcamera device that supports the custom CAMC Connect protocol encapsulating into secure websocket tunnel.
Platform: Linux, tools: C++/cmake

Software Engineer/Consultant 11/2022 – 12/2022
Resonance Research Inc, CT

– building Linux customized image for PCM3365 (Intel® Atom™ E3825) board using Yocto framework
– integrating Apex STX104 library supporting high resolution AD/DA converter board
– implementing QML-based application for PCM3365 as a part of precision laser measuring tool
Platform: Linux, tools: C++/Qt5/QML

Software Engineer/Consultant 12/2021 – 05/2022
Caterpillar, Montreal, QC

– fixing bugs of CMATS testing framework written in Python
– improving/implementing new report features for back-end application
Platform: Linux, tools: Bash/Python/C++

Software Engineer/Consultant 03/2021 – 10/2021
Planitar Inc, Kitchener, ON

– building Linux-based customized image for Raspberrypi 4 board using Yocto framework
– refactoring the existing C/C++ code / implementing new features for firmware application which controls the Planitar 360° camera
Platform: Linux/Yocto, tools: Bash/C/C++17.

Software Developer/Consultant (short-term contract) 06/2020 – 08/2020
SatcomDirect Inc, Ottawa, ON

– building Linux-based image for SD network router using OpenWrt framework
– configuring development environment (gcc, gdb, cmake, QtCreator) for remote debugging the router application(s)
– Implementing failover application for SD router.
– Fixing bugs, extending functionality of SDR router.
Platform: Linux/OpenWrt, tools: Bash/C/C++14.

C++/Linux Software Consultant 08/2019 – 04/2020
GE Grid Solution, Toronto, ON

Designing and implementing containerized applications for Predix Edge OS on Intel NUC/Xilinx boards.
– The broken rotor bar detection (BRBD) project consists of two separated containerized applications:
the first one generates(simulates) the experimental data periodically and publishes them either to MQTT broker or writes to Redis database. The second application reads the input and proceeds the data in accordance with the BRB detection algorithm and publishes the results to MQTT broker for further data visualization by “Node Red” tool.
– Radius authentication module project consists of two separated containerized applications: the first one is subscribed to upcoming authentication request and performs it by using cryptlib library API. Then it publishes the result of request back to MQTT broker. The second application is used for stress testing and generates the authentication requests randomly.
Generating Xen(dom0/domU) images for Intel NUC/Xilinx boards by using Yocto projects.
– testing inter-processor communication between APU and RPU on Xilinx board using libmetal/openAMP.
– testing inter-processor communication between domU VMs using Redis/MQTT.
All applications use PAHO C++/redis++ libraries for communicating with MQTT messaging broker/Redis database.
Platform: Linux/PredixEdgeOS/Xen, tools: C++14 / Yocto / Docker / MQTT / Redis / Node-Red
C++ / Qt / Qml Software Consultant 01/2015 – 06/2019
ICS Inc, Waltham, MA

Participated in number of projects:
– building Linux image for Toradex-Apalis-TK1 board, creating development environment for using NVIDIA CUDA/OpenCV/Qt5 libraries, implementing a demo application utilizing these libraries (Talis Biomedical) Tools: NVIDIA JetPack-L4T, Eclipse, QtCreator, Qt /C/C++
– implementing OTA update/upgrade system for embedded Linux (HennyPenny) Tools: Boot2Qt/C/C++
– building Linux images using Yocto project for different boards (Magnacoustics, Megger, HennyPenny, Philips, TalisBio)
– refactoring and migrating desktop multi-media application to embedded device Toradex Apalis-iMX6. Tools: Qt5 / C++/QML (Magnacoustics Inc)
– creating a working prototype of multi-windows application for Windows/MacOsX in C++ using Qt5 framework (Melco)
– improving application performance on VAR-SOM-MX6 embedded platform QML/C++/Linux (Ivenix)
– creating build environment and demo Qt application for BeagleBoneBlack-based system
– refactoring application code to improve GUI performance, serial communication, Qt4/C++/WnCe7 (Setra)
– migrating application “i1Profiler” from Qt4 to Qt5 on Windows/MacOsX (X-Rite)
Platform: Linux/Windows/ WinCE7/ Mac/embedded, tools: Qt4/5 C/C++/QML/ Boot2Qt / Yocto

Software Developer/Consultant (contract job) 10/2014 – 12/2014 Flextronics, Ontario, Ottawa
– built Linux-based i386 image using OpenWrt framework and tested the image on VirtualBox virtual machine
– modified LuCI Web interface for using with that machine
– participated in adaptation of two network packages (vrrdp, lighthttp) of OpenWrt Unified Configuration Interface (UCI)
Platform: OpenWrt, tools: Bash/C.

Embedded/Application Software Developer/Consultant (contract job) 03/2014 – 10/2014
Smiths Detection, Ontario, Mississauga
– Participated in designing and implementing Graphical User Interface for new Smiths Detection product (IONSCAN 600 detector) using QT5 library.
– Designed and implemented several custom widgets that were used across application.
– Developed application logic in C++ based on state machine framework. Platform: Hectronic Qseven/Linux, tools: C++/QT5.

Software Developer/Consultant (contract job) 08/2013 – 11/2013
Scintronica Inc., Ontario, Ottawa
Designed and implemented a GUI based desktop application which communicates with the gamma camera controller by using a simple “telnet” like protocol and supports a set of “special” commands to configure the gamma cameras, starts/stops acquisition and monitors the status of the acquisition process, transfers and displays images from the camera.
Platform: Windows, tools: C++/QT5.

Software Developer 10/2012 – 06/2013
IBM Canada, Ottawa, Ontario
Worked on C/C++ code optimization of IBM Java Virtual Machine on Windows/Linux/AIX/zOS platforms. Was involved in integration testing and fixing various defects of JVM on different platforms. Designed and Implemented a portable API to convert strings between the environment’s platform encoding and modified UTF-8 code set.

Senior Software Developer 07/2007 – 09/2012
Level Platforms Inc.”, Ottawa, Ontario

Participated in designing and implementing LPI Managed Workplace application (LP MW) for remote monitoring and management of the IT infrastructure.
Acted as a technical leader on Connection Service project (VPN solution for LP MW).
As a Linux Software Developer designed and implemented the following applications:
– kernel and user space NETFILTER modules to provide a specific firewall policy. Tools: C/GNU Tools.
– QT-based application for configuring VPN server. The application configures network interfaces, firewall policy (using netfilter framework), freeradius server and VPN server after installation Linux OS from customized live CD. Also the application connects to the SQL server to retrieve digital certificates and write info about current VPN server. Tools: C++/QT4/UnixODBC/Bash/GNU Tools.
– Linux service (daemon) which reports periodically to SQL server about server resource usage and VPN connections statistics. Tools: C/GNU Tools/UnixODBC library.
as a Linux System Engineer:
– configured VPN server environment on Linux platform, including OpenVpn, ipsec-tools, l2tpns, netfilter, freeradius, freetds, unixODBC packages;
– built highly customized Linux-based live CD with integrated VPN server. Tools: OpenSuse KIWI Image System.
as a Windows Software Developer:
designed and implemented the following applications:
– service-based application (agent) for establishing and maintaining VPN connection in “silent” mode using L2TP/Ipsec or OpenVpn client if the users out of office. The initial communication/service session is used SSL connection.
Tools: C/MS VS 2005/2010.
– service-based application to upgrade VPN client in “silent” mode. Tools: C++/MS VS 2005.
– C++ library which provides establishing-maintaining VPN connection using L2TP/Ipsec or OpenVpn clients. It includes a basic telnet (TCP) class for controlling OpenVpn client via “management interface”.
Tools: C++/MFC/MS VS 2008.
as a C# Software Developer:
I was responsible for integration of LPI MW with third party products using Web Services API. Designed and implemented integration with SalesForce and BMC REMEDY CRMs
Tool: C#/.NET/VS2010/MS SQL.

Open Source Project 08/2010 – 10/2010
Designed and implemented OpenVPN Windows Control a software tool for controlling secure IP tunnels that can be created by OpenVPN process. Tools: C/MinGW/GCC. For details, see http://sourceforge.net/projects/vpnwinclient/

Software Developer/Consultant (contract job) 01/2007 – 06/2007
“Xandros, Inc.”, Ontario, Ottawa
• Participated in development of xMC System Monitor. The application was implemented as a Linux service and used for controlling server resources usage as a part of Xandros Desktop Management Server (Debian Linux).
Tools: C++/QT3/GNU Tools.
Open Source Project 08/2006 – 10/2006
Implemented a script-based system that is aimed to add package management into building process of the LFS (Linux From Scratch) project. For details, see https://vachaev.net/osp/lfsbs.html

Embedded/Application Software Developer/Consultant (contract job) 04/2006 – 07/2006
“Fidus Systems, Inc.”, Ontario, Ottawa
• Implemented a PCI card driver for Windows.
• Implemented a serial peripheral interface (SPI) to provide a communication between driver and PIC microcontroller.
• Modified existing microcontroller code for PIC 16F818 microcontroller.
• Developed a monitor application for security device including GUI for Windows using C++/WTL 7.
For more details, see http://www.barracudasecurity.com/configuration.htm

Software Developer 09/2004 – 04/2006
“GoodContacts Research Ltd”, Ontario, Ottawa
• Participated in development of add-in applications for Outlook Express, Outlook Office 2000/XP/2003 e-mail clients. The add-ins applications are developed to synchronize personal information between e-mail clients and/or web online database.
• Integrated Google Maps feature to the “GoodContacts” product using Google Map API/C++/PHP.
• Developed a library to provide an access to the Outlook Express message store.
Tools: C++/MAPI/STL.
• Developed a User Graphics Interface for “GoodContacts” product using C++/WTL 7.
• Developed a framework based on WTL library and hooking/subclassing methods of programming for Win32-systems in order to integrate “GoodContacts” product features into the Outlook Express e-mail client.
Tools: C++/WTL/STL.

Software Developer (Volunteer job) 02/2004 – 04/2004
“A Better Chance for Success”, Ontario, Ottawa • Created a database of Ottawa’s employers and advisers using MySQL-4. • Converted pdf-files to html and text format and inserted prepared information to the database. • Developed a web access for members of an organization to the database using PHP. For details, see http://www.a-better-chance.org/ Software Developer/Engineer 06/1988 – 10/2003 worked for different companies in the field of information technology and defence in Russia Education Master degree in Engineering. Tomsk University of Automated Control Systems and Radio-electronic. Department of Radio Equipment Designing. Tomsk, Russia