Denys B. C++ Engineer with video experience
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: 2023Summary:
- 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
Technologies: C++17, mhook, WinAPI, ATL, COM
Senior Software Engineer, Driver filter for Windows Registry redirection
Duration: 2022Summary:
- Researching how to redirect registry keys for particular process to isolate it
- Implemented PoC that redirects registry calls for children of the target process
Technologies: C for KMDF, Windows Kernel API
Senior Software Engineer, Antikeylogger solution in KMDF driver
Duration: 2021Summary:
- 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
Technologies: C for KMDF, Windows Kernel API
Senior Software Engineer, Software defined network
Duration: 2020-2021Summary:
- 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
Technologies: Go, bash, Docker, Prometheus, Systemd, bird
Senior Software Engineer, Property management system
Duration: 2020Summary:
- 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
Technologies: Go, ArangoQL, bash, Docker, Kubernetes, GraphQL, GRPC (proto3)
Senior Software Engineer, Software defined perimeter
Duration: 2019-2020Summary:
- 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
Technologies: Go, bash, Swagger, Redis, Hashicorp Consul
Senior Software Engineer, Corporate identity provider based on microservices
Duration: 2019Summary:
- 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
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: 2019Summary:
- 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
Technologies: Go, bash, Kubernetes, Custom Resource Definition, Admission Webhooks
Senior Software Engineer, Highly available service by client's geolocation
Duration: 2018Summary:
- 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
Technologies: Python, bash
Senior Software Engineer, Autotest for RDP Server component
Duration: 2018Summary:
- 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
Technologies: PowerShell, C#, bash, WinRM
Senior Software Engineer, RDP Server component for custom authentication
Duration: 2018Summary:
- 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
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-2018Summary:
- Fixing bugs in windows services
- Implementing support of new version of VMWare vSphere in provisioning module
- Fixing bugs in PnP driver for USB-devices
Technologies: C++, C, VB6, Java, COM, KMDF
Senior Software Engineer, Restoring damaged SQLite databases
Duration: 2017Summary:
- Researching SQLite database structure
- Fixing and improving legacy code
- Implemented parsing of all kinds of SQLite pages
- Benchmarking and improving performance
Technologies: C++
Senior Software Engineer, Cloud-based storage and analytic tool for personal sensitive data
Duration: 2016-2017Summary:
- 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
Technologies: C++, C#, Python, .Net, boost, gtest, RPC, SQL
Senior Software Engineer, Forensic tool targeting mobile devices for Windows and Mac OS
Duration: 2013-2016Summary:
- 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
Technologies: C++, C#, Python, Qt, boost, gtest, openssl, curl, CUDA, OpenCL, protobuf, tinyxml, jsoncpp