Denys B. C++ Engineer with video experience

Full Stack Web

Summary

- Senior Software Engineer with over 11 years of experience in full-cycle product development with video experience.
- Proficient in multiple programming languages including C++17, C#, Golang, Python, and SQL.
- Skilled in test-driven and behavior-driven development, with a focus on desktop and client-server application development for Windows, Linux, and Mac OS.
- Experienced in cloud application development using microservice architecture, Docker, AWS, Kubernetes, and SQL/NoSQL databases.
- Strong knowledge of Windows internals and driver development, including WinAPI, IPC, RPC, ATL/COM, KMDF drivers, and system services.
- Expertise in reverse engineering for Windows and Mac OS, using tools such as IDA Pro, WinDbg, and HEX editors.
- Proficient in data protection using system built-in and third-party crypto libraries like OpenSSL.

Work Experience

Senior Software Engineer, Clipboard protection hooks

Duration: 2023
Summary:
  • Researching behavior of WinAPI that interacts with clipboard
  • Implementing COM-server with clipboard protection functionality
  • Implementing hooks DLL with clipboard protection functionality and monitoring features
  • Investigating and solving problems with clipboard interaction for some specific application with non-standard clipboard
Responsibilities: Researcher, Developer
Technologies: C++17, mhook, WinAPI, ATL, COM

Senior Software Engineer, Driver filter for Windows Registry redirection

Duration: 2022
Summary:
  • Researching how to redirect registry keys for particular process to isolate it
  • Implemented PoC that redirects registry calls for children of the target process
Responsibilities: Researcher, Developer
Technologies: C for KMDF, Windows Kernel API

Senior Software Engineer, Antikeylogger solution in KMDF driver

Duration: 2021
Summary:
  • Researching how to intercept keystrokes in kernel and deliver them to the target process in user mode
  • Implemented PoC with interceptor driver and consumer DLL that should be injected to the protected process
Responsibilities: Researcher, Developer
Technologies: C for KMDF, Windows Kernel API

Senior Software Engineer, Software defined network

Duration: 2020-2021
Summary:
  • Creating network namespaces, interfaces, wireguard tunnels as systemd units
  • Implemented parts of heavily loaded multithreaded system
  • Making benchmarks
  • Monitoring the network namespace resources and exporting to Prometheus
Responsibilities: Backend developer
Technologies: Go, bash, Docker, Prometheus, Systemd, bird

Senior Software Engineer, Property management system

Duration: 2020
Summary:
  • Creating architectures for microservices decomposed by managed data
  • Implementing microservices with GRPC internal API using code generation tools
  • Designing and implementing GraphQL interface for API-gateway using code generation tools
  • Integrating US payment system
  • Integrating tenant screening service
Responsibilities: Lead backend developer, Researcher
Technologies: Go, ArangoQL, bash, Docker, Kubernetes, GraphQL, GRPC (proto3)

Senior Software Engineer, Software defined perimeter

Duration: 2019-2020
Summary:
  • Separating the project on specific modules, creating architectures for each module and their interaction inside and outside the infrastructure
  • Implementing SDP controller with Keycloak as default IDP
  • Implementing user authorization and authentication with JWT on SDP controller
  • Managing user access to internal and external resources using DAC logic
  • Designing and implementing REST API using Swagger and golang code generation tools
  • Integrating OKTA as external IDP
Responsibilities: Researcher, Backend developer
Technologies: Go, bash, Swagger, Redis, Hashicorp Consul

Senior Software Engineer, Corporate identity provider based on microservices

Duration: 2019
Summary:
  • Implementing interaction between services using REST API and NATS queue
  • Implementing data analyzing aimed to protect privacy of logged in user
  • Implementing fast and secure data sharing between services
  • Migrating PostgeSQL tables to the new schemas
Responsibilities: Researcher, Dev manager, Backend developer
Technologies: Go, SQL, bash, Docker, Kubernetes, go-kit, go-nats, Redis, PostgreSQL, DocumentDB (MongoDB), Hashicorp Consul & Vault

Senior Software Engineer, Kubernetes native policy engine

Duration: 2019
Summary:
  • Researching the work of Kubernetes API server
  • Implementing interaction with Kubernetes API server using k8s repo packages
  • Implementing CRD with own controller
  • Implementing validation and mutation admission webhooks in CRD controller
  • Made cloud application stand-alone and self-tuning for work inside and outside the cluster
Responsibilities: Researcher, Dev manager, Developer
Technologies: Go, bash, Kubernetes, Custom Resource Definition, Admission Webhooks

Senior Software Engineer, Highly available service by client's geolocation

Duration: 2018
Summary:
  • Researching the concept for AWS
  • Writing scripts and resource definitions for creating infrastructure in the cloud
  • Calculating development and operation costs for AWS, Azure and Google Cloud
Responsibilities: Researcher, Developer
Technologies: Python, bash

Senior Software Engineer, Autotest for RDP Server component

Duration: 2018
Summary:
  • Implemented scripts that prepare and manage Windows and Linux machines on Hyper-V
  • Implemented scripts for starting RDP connection from the Windows as server
  • Implemented Autoresponder for the RDP client side to determine successful RDP connection
  • Implemented tests management using
  • csv file
  • Implemented automated test deployment and launching using Bamboo
Responsibilities: Researcher, Single developer
Technologies: PowerShell, C#, bash, WinRM

Senior Software Engineer, RDP Server component for custom authentication

Duration: 2018
Summary:
  • Researching TPM, reversing Windows binaries for its support
  • RDP virtual channel implementation
  • Implementation of Credential Provider with custom Credentials
  • Researching OS bugs and limitations
  • Improving functionality and fixing bugs in PnP driver
  • Implementing COM-server as Windows service
  • Implementing interaction with Active Directory and Local System Authority from C# and C++ code
Responsibilities: Researcher, Developer
Technologies: C++, C#, PowerShell, bash, Credential Provider, COM, TPM API, Active Directory

Senior Software Engineer, Provisioning of VMs on VMWare vSphere and Hyper-V

Duration: 2017-2018
Summary:
  • Fixing bugs in windows services
  • Implementing support of new version of VMWare vSphere in provisioning module
  • Fixing bugs in PnP driver for USB-devices
Responsibilities: Developer
Technologies: C++, C, VB6, Java, COM, KMDF

Senior Software Engineer, Restoring damaged SQLite databases

Duration: 2017
Summary:
  • Researching SQLite database structure
  • Fixing and improving legacy code
  • Implemented parsing of all kinds of SQLite pages
  • Benchmarking and improving performance
Responsibilities: Dev manager, Developer, Researcher
Technologies: C++

Senior Software Engineer, Cloud-based storage and analytic tool for personal sensitive data

Duration: 2016-2017
Summary:
  • Implemented Server’s REST API for storing, processing and retrieving user data
  • Implemented desktop client application with Qt for Windows and Mac OS
  • Fixing urgent bugs on server’s side
Responsibilities: Developer
Technologies: C++, C#, Python, .Net, boost, gtest, RPC, SQL

Senior Software Engineer, Forensic tool targeting mobile devices for Windows and Mac OS

Duration: 2013-2016
Summary:
  • Decomposing, refactoring, testing and documenting legacy code
  • Implementing new features in obtaining and analyzing useful data
  • Analyzing and improving performance
  • Researching new abilities for the product using reverse engineering
  • Separating functional parts of the product as separate sub-products in form of static and dynamic libraries with CLI
Responsibilities: Developer, Researcher, Acting Dev manager
Technologies: C++, C#, Python, Qt, boost, gtest, openssl, curl, CUDA, OpenCL, protobuf, tinyxml, jsoncpp