Roman Shevchenko, Developer in Belgrade, Serbia
Roman is available for hire
Hire Roman

Roman Shevchenko

Verified Expert  in Engineering

Bio

Roman is a full-stack developer and database designer with great attention to detail and team spirit. He takes the initiative to communicate ideas or architectural suggestions to maximize efficiency and minimize expense and effort, which is a win-win for everyone. Roman's areas of expertise include Node.js, TypeScript, .NET, Java (Kotlin), Go, PHP, Transact-SQL, MySQL, NoSQL, and interoperations between them, both on-prem and cloud deployment, design and implementation of APIs and protocols.

Portfolio

Ribose
C++, OpenPGP, Python, YAML, GitHub, CI/CD Pipelines, С++, NoSQL...
FlowCrypt
TypeScript, Kotlin, Java 11, Chrome Extensions, Firefox Extensions, PostgreSQL...
IX-7 Asset Management SA
SOAP, JavaScript, MongoDB, SymmetricDS, MySQL, Microsoft SQL Server, PHP...

Experience

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Visual Studio, IntelliJ IDEA, RStudio

The most amazing...

...project I've worked on is a private byteball fork, a blockchain or DAG that is confirmed by signatures of the majority of trusted nodes.

Work Experience

Cryptographic Engineer

2019 - PRESENT
Ribose
  • Solved various technical issues of the RNP library and applications, including Unicode support on Windows.
  • Added additional options for command-line interface (CLI) key generation, e.g., key expiration date.
  • Adjusted RNP's CMake project for building with Visual Studio tools.
  • Set up GitHub Action handlers for CI testing on various platforms, including Windows, Ubuntu, CentOS, and Debian.
Technologies: C++, OpenPGP, Python, YAML, GitHub, CI/CD Pipelines, С++, NoSQL, Applied Cryptography, Asymmetric Encryption, C, Elliptic Curve Cryptography, GPG, Visual Studio, Open-source Software (OSS), Cross-platform App Development, Cross-platform, DevOps, APIs, Coding, Windows, Unix, Open Source, Unit Testing, Standard Template Library (STL), GitHub Actions, Cryptography, Public-key Cryptography, PKCS, Linux

TypeScript and Kotlin Developer

2020 - 2023
FlowCrypt
  • Revamped the codebase related to the OpenPGP.js library, including key management, encryption, and decryption, for robust email security.
  • Enhanced email security by implementing S/MIME message signing, encryption, and decryption using the PKCS #7 standard, bolstering data protection.
  • Successfully upgraded the extension to OpenPGP.js v5, enabling vital library calls within Firefox content scripts for seamless operation.
  • Improved message decryption support for incoming messages generated by various mail applications, including Thunderbird and ProtonMail.
  • Elevated the development process by creating a streamlined framework for accessing Gmail and other servers, reducing errors, and promoting more efficient development based on the established framework.
  • Overcame communication challenges between extension frames and Gmail pages, implementing secure messaging using window.postMessage and AES-GCM encryption for seamless and protected interaction.
  • Expanded continuous integration (CI) capabilities by integrating Puppeteer-driven tests, significantly enhancing test coverage and automation. Also, contributed to Semaphore CI and Git Hooks automation, streamlining the build and deployment processes.
  • Actively participated in peer code reviews for the FlowCrypt browser extension and the back-end projects (Kotlin, Java, jOOQ, and Javalin) that facilitated the extension's setup and functionality, ensuring code quality and collaboration.
  • Contributed pull requests to repositories https://github.com/openpgpjs/openpgpjs and https://github.com/openpgpjs/web-stream-tools to facilitate seamless integration into the project I've been working on.
Technologies: TypeScript, Kotlin, Java 11, Chrome Extensions, Firefox Extensions, PostgreSQL, IntelliJ IDEA, Ubuntu, REST APIs, Node.js, Gradle, Applied Cryptography, Asymmetric Encryption, Java, Web API 2, Webpack 4, Elliptic Curve Cryptography, X.509 Certificates, GPG, OpenPGP, S/MIME, PKCS, SemaphoreCI, GitHub, Puppeteer, IndexedDB, Fetch API, jQuery, Ajax, DOM, OAuth 2, JOOQ, Javalin, Advanced Encryption Standard (AES), AES, Open Source, Async/Await, Asynchronous Programming, Back-end, Open-source Software (OSS), Technical Leadership, DevOps, APIs, API Integration, SQL, OAuth, Coding, Database Modeling, JSON Web Tokens (JWT), Unix, Mocha, Apache Maven, Databases, Relational Databases, Multithreading, Unit Testing, Full-stack Development, Database Schema Design, GitHub Actions, Cryptography, Public-key Cryptography, Webpack, Linux, User Interface (UI)

Lead Software Engineer

2016 - 2023
IX-7 Asset Management SA
  • Designed and optimized an MS SQL database with triggers, custom CLR aggregate functions, and table-returning functions for efficient financial metric calculations. Maintained schema using SQL Server Data Tools (SSDT).
  • Established heterogenous replication between MS SQL and MySQL using SymmetricDS, ensuring data consistency across platforms.
  • Designed a MySQL database for a WordPress-powered website, implementing stored procedures and views to enhance data management.
  • Developed a feature-rich WordPress website with PHP back-end, integrated FusionCharts, and seamlessly connected MySQL, MS SQL, and MongoDB databases.
  • Enhanced a legacy ASP.NET Web Forms application by integrating single sign-on (SSO) through IdentityServer4 for improved security and user experience.
  • Created a SOAP web service using .NET and developed a PHP client to enable efficient communication between systems.
  • Led a team in successfully developing multiple Angular-powered sites with responsive design, seamlessly transforming them into progressive web apps (PWAs) for enhanced user engagement and mobile accessibility.
  • Implemented single sign-on (SSO) using IdentityServer4 and incorporated two-factor authentication (2FA) with Twilio integration, providing enhanced security features as a team leader.
  • Set up Azure CI/CD pipelines with on-premises server deployment via Azure agents, streamlining the development and deployment process.
  • Developed a Saferpay payment system plugin and custom document templates for nopCommerce 3.90, contributing to eCommerce functionality and customization.
Technologies: SOAP, JavaScript, MongoDB, SymmetricDS, MySQL, Microsoft SQL Server, PHP, WordPress, .NET, Windows Services, Back-end, Visual Studio, Ubuntu, REST APIs, Azure DevOps, Microsoft Power BI, CI/CD Pipelines, C#.NET, NoSQL, C#, Angular, NopCommerce, SQL CLR, SQL Server Data Tools (SSDT), FusionCharts, IdentityServer 4, Twilio API, TypeScript, XML, VB.NET WinForms, Laravel, Symfony, Web API 2, JSON/XML Schemas, X.509 Certificates, GPG, ASP.NET Web API, Payment APIs, Payment Gateways, Microsoft Access, Visual Basic for Applications (VBA), OAuth 2, VB.NET, Progressive Web Applications (PWAs), Async/Await, Asynchronous Programming, ASP.NET MVC, SaferPay API, Cross-platform UX, Cross-platform App Development, Cross-platform, PDF, Technical Leadership, DevOps, Azure DevOps Services, APIs, API Development, API Integration, Architecture, YAML, SQL, PHP 7, OAuth, Dashboards, Query Optimization, Coding, Database Triggers, Database Modeling, JSON Web Tokens (JWT), Entity Framework, Windows, Unix, Software Architecture, SMS, Mocha, SSH, Databases, Relational Databases, Front-end Development, Advanced Encryption Standard (AES), AES, Multithreading, Unit Testing, Full-stack Development, Database Schema Design, Web API, Plugin Development, Cryptography, Public-key Cryptography, PWA, Full-stack, Internet Information Services (IIS), CLR, Web App Deployment, SSL Certificates, Plesk, Model View Controller (MVC), ASP.NET Core 2, Linux, Single Sign-on (SSO), User Interface (UI)

Developer

2021 - 2022
0chain
  • Addressed and rectified bugs while implementing updates to enhance the efficiency and reliability of the Merkle Patricia Trie within the blockchain engine.
  • Undertook significant enhancements to the module responsible for persistently saving the currently computed state, optimizing its performance, and integrating it with RocksDB for efficient data management.
  • Conducted intricate integration tests involving multiple nodes running within Docker containers, demonstrating proficiency in ensuring the seamless interaction and functionality of the blockchain system.
Technologies: Go, Docker, Docker Compose, Redis, RocksDB, Cassandra, NoSQL, Asymmetric Encryption, Asynchronous Programming, Back-end, Open-source Software (OSS), Amazon EC2, GitHub, Coding, Unix, SSH, Databases, Distributed Software, Open Source, Multithreading, Unit Testing, Smart Contracts, TCP/IP, Sockets, Socket Programming, Linux, Cryptocurrency

Freelance Web Developer

2019 - 2020
Toptal Clients
  • Designed and implemented a Node.js and TypeScript-based REST API with Express.js, routing deployed as a Google Firebase function.
  • Set up a Google Firebase hosting for a simple web front end.
  • Used TypeScript-JSON-validator to generate DTO validation based on the TypeScript source code and annotations.
  • Integrated Firebase Authentication into the plain REST API, specifically Firebase ID Token.
  • Implemented persistence with Google Cloud Firestore featuring transactions, Batch writes, and partial updates.
Technologies: Cloud Firestore, Firebase, TypeScript, Express.js, Node.js, Back-end, Visual Studio, Serverless, Ubuntu, MongoDB Atlas, Firebase Authentication, Serverless Framework, REST APIs, Web API 2, Async/Await, Architecture, Coding, Database Modeling, Google Cloud Platform (GCP), Software Architecture, Mocha, Databases, Unit Testing, Firebase Realtime Database, Firebase Cloud Messaging (FCM)

Lead Software Engineer

2018 - 2019
Millix Foundation
  • Contributed to a fork of the distributed blockchain system (https://github.com/byteball/ocore), utilizing Node.js for back-end development.
  • Enhanced the network communication protocol, optimizing it for increased robustness and efficiency, resulting in a more lightweight operation.
  • Redesigned SQLite and MySQL database schemas to improve the storage efficiency of the directed acyclic graph (DAG), significantly enhancing data retrieval and storage processes.
  • Engineered a user-friendly web interface for streamlined transaction entry, facilitating efficient debugging and testing.
  • Implemented client-side JavaScript for secure key derivation and ECDSA signing, bolstering system security and user data protection.
Technologies: MySQL, SQLite, Node.js, Back-end, Ubuntu, Bitcore, REST APIs, Elliptic Curve Cryptography, Byteball, Technical Leadership, Coding, Database Modeling, Unix, SSH, Distributed Software, Unit Testing, Database Schema Design, Smart Contracts, TCP/IP, Sockets, Socket Programming, Cryptography, Public-key Cryptography, Directed Acrylic Graphs (DAG), Linux, Cryptocurrency

Collaborator

2018 - 2019
Aminal Open-source Project
  • Made substantial improvements to the Aminal open-source project.
  • Added support for various terminal modes to meet vttest requirements.
  • Implemented underline and inverse rendering using OpenGL.
  • Added support for numerous OSC and CSI control sequences.
  • Implemented an extended mouse support using OpenGL.
Technologies: OpenGL, Go, Ubuntu, Terminal, Open-source Software (OSS), Graphics Programming, Cross-platform UX, Cross-platform App Development, Cross-platform, YAML, Coding, Windows, Unix, GoLand, Open Source, Unit Testing, Linux

Senior Software Engineer

2016 - 2018
Logican Solutions
  • Participated in the design and development of a comprehensive financial management system, focusing on integrating advanced technologies and third-party services to enhance operational efficiency and data integrity.
  • Contributed to the adoption of SQL Server Data Tools (SSDT) and Entity Framework, employing a database-first approach to enhance system architecture and maintainability.
  • Helped centralize core functionalities by creating a robust business logic layer, enhancing system maintainability and clarity in separating concerns.
  • Contributed to enhancing the application’s user interface by utilizing Kendo UI controls, improving user interaction through intuitive and appealing design elements.
  • Assisted in the integration with external financial services, like Experian and Kontomatik, to automate critical data acquisition processes and expand system capabilities.
  • Supported team efforts in adopting best practices in software development and project management, contributing to continuous learning and process improvements.
Technologies: MVC Razor, JavaScript, Experian, Ninject, ASP.NET, Model View Controller (MVC), Kendo UI, Windows Communication Foundation (WCF), Microsoft SQL Server, .NET, Windows Presentation Foundation (WPF), Back-end, Visual Studio, REST APIs, C#.NET, C#, Telerik WPF, XML, MVC Design, Web API 2, Subversion (SVN), JSON/XML Schemas, ASP.NET Web API, Async/Await, Asynchronous Programming, ASP.NET MVC, Reconciliation, PDF, APIs, API Development, API Integration, SQL Server Data Tools (SSDT), Database Development, JSON, SQL, Telerik, Coding, Database Triggers, Database Modeling, Financial Planning & Analysis (FP&A), Windows, SMS, Balsamiq Mockups, Databases, Relational Databases, Front-end Development, Software Requirements Specifications (SRS), Multithreading, Unit Testing, Full-stack Development, Database Schema Design, SQL Server Agent, Web API, C#.NET WinForms, Full-stack, Internet Information Services (IIS), User Interface (UI)

Software Developer

2016 - 2017
Atlas Labs
  • Implemented Auto Configuration Server according to TR-069 specifications. MSSQL database is used for storing configuration parameters reported by the router devices and queuing configuration tasks like firmware upload, parameter updates, and others.
  • Worked on the project where the transport agent was initially supposed to be built upon the WCF infrastructure, but as the protocol occasionally uses non-SOAP empty body POST requests, another solution was needed.
  • Solved the problem by building the agent upon the WebAPI framework from Microsoft.
Technologies: Azure, Microsoft SQL Server, Web API, .NET, Back-end, Visual Studio, C#.NET, C#, XML, SOAP, Protocol Development, Web API 2, JSON/XML Schemas, ASP.NET Web API, Async/Await, Asynchronous Programming, APIs, API Development, SQL, Coding, Database Modeling, Windows, SSH, Databases, Relational Databases, Multithreading, Database Schema Design, Internet Information Services (IIS)

Lead Software Engineer

2014 - 2016
A1 Media Research, Inc.
  • Designed Couchbase buckets and Elasticsearch indexes. Created queries to Elastic, including aggregate queries. Adapted .NET client using Elasticsearch.Net and NEST libraries.
  • Improved a scraper written in C# used to scrape the whole range of international media, blogs, and microblogs.
  • Developed C# Web API back end for the internal website and some updates to the AngularJS front end.
  • Improved a legacy Windows Presentation Foundation (WPF) application by adding new forms and reports.
Technologies: JavaScript, Microsoft SQL Server, Elasticsearch, Couchbase, REST, Web API, Model View Controller (MVC), Model View ViewModel (MVVM), ASP.NET, Windows Presentation Foundation (WPF), Back-end, Visual Studio, REST APIs, C#.NET, NoSQL, C#, Web API 2, Angular, JSON/XML Schemas, ASP.NET Web API, Async/Await, ASP.NET MVC, Technical Leadership, DevOps, APIs, API Development, API Integration, SQL, Web Scraping, Dashboards, Query Optimization, Coding, Database Triggers, Database Modeling, Entity Framework, Windows, WebSockets, Databases, Relational Databases, Redis, Software Requirements Specifications (SRS), Multithreading, Unit Testing, Full-stack Development, Database Schema Design, Full-stack, Internet Information Services (IIS), Web App Deployment, User Interface (UI)

Lead Software Engineer

2012 - 2014
Global Consulting Group, JSC
  • Developed a brokerage database and back end consisting of various nodes communicating via Protobuf-based protocol.
  • Built a WPF MVVM front end and parts of a Kendo UI web client.
  • Integrated the brokerage system with Moscow Interbank Currency Exchange (MICEX) and the Russian Trading System (RTS) stock exchange.
  • Implemented conditional orders, specifically stop loss, stop limit, and one-cancels-the-other (OCO) groups.
  • Designed and implemented a high-throughput signature verification server with caching for each order placed.
  • Implemented the Internet Explorer add-on for cryptographic keypair generation and certificate signing request submission using a page.
Technologies: JavaScript, Microsoft SQL Server, Protobuf, Model View Controller (MVC), Windows Presentation Foundation (WPF), Telerik, Kendo UI, .NET, Back-end, Visual Studio, C#.NET, C#, Applied Cryptography, Asymmetric Encryption, XML, CryptoPro, C, Protocol Development, ActiveX, Subversion (SVN), X.509 Certificates, ASP.NET Web API, Asynchronous Programming, ASP.NET MVC, Windows Services, Trading, Technical Leadership, APIs, API Development, API Integration, Architecture, SQL, Coding, Database Triggers, Entity Framework, Windows, Software Architecture, Databases, Relational Databases, Front-end Development, Software Requirements Specifications (SRS), Multithreading, Unit Testing, Full-stack Development, Database Schema Design, SQL Server Agent, Web API, TCP/IP, Sockets, Socket Programming, Protocol Buffers, Google Protocol Buffer, Cryptography, Public-key Cryptography, Internet Information Services (IIS), PKCS, User Interface (UI)

Software Developer

2010 - 2011
Rambler Internet Holding
  • Took part in developing a FreeBSD/C++ internet indexer, with indexes divided into shards.
  • Tweaked search results, mapped search queries to shards, and reduced the results.
  • Developed extra features like adult content filtering.
Technologies: Boost, Standard Template Library (STL), FreeBSD, C++, Back-end, Eclipse IDE, Eclipse, Coding, Unix, SSH, Distributed Software, Multithreading, Unit Testing, TCP/IP, Sockets, Socket Programming

Software Developer

2008 - 2009
JC System Integration
  • Developed a multi-user video and audio manipulation software for TV broadcasts.
  • Implemented custom controls using C++ (1st version) and C# (2nd version).
  • Designed an MS SQL database for concurrent project editing with optimistic locks and update notifications.
Technologies: Windows Forms (WinForms), Microsoft SQL Server, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), C#, C++, Visual Studio, С++, Subversion (SVN), SQL, Coding, ODBC, Database Modeling, Entity Framework, Windows, Databases, Relational Databases, Multithreading, Unit Testing, Database Schema Design, C#.NET WinForms, User Interface (UI)

Lead Software Developer

2006 - 2007
Intechform System Integration
  • Developed software for ICPDAS micro-controllers running the MiniOS7 operating system for collecting data from several electronic volume converters (flow computers) measuring gas consumption, including SEVC-c/Corus.
  • Built modules to collect data in real-time or periodically via RS-232 or RS-485 ports using Modbus and similar protocols and stored the collected data in the EVC's flash memory.
  • Developed a module to send the collected data to the head office upon incoming connections using a custom protocol.
Technologies: C#, C++, C, RS485, Modbus Protocol, RS-232, Protocol Development, Embedded Systems, Firmware, Standard Template Library (STL), Windows Services, Visual Studio, Technical Leadership, SQL, Coding, Windows, Databases, Relational Databases, Multithreading, Unit Testing, Database Schema Design, IoT Protocols, C#.NET WinForms, TCP/IP, Sockets, Socket Programming

Software Engineer

2002 - 2005
X5 Retail Group
  • Developed a 3-tier architecture for a high-load online discount system.
  • Designed database, protocols, and transport agents for mobile top-ups using C++ and Oracle. The turnaround time between POS and mobile operators was under two seconds.
  • Developed a thin client for PalmOS barcode scanners using CodeWarrior and server-side Java scripts for stock control.
  • Developed a thin client with HTML and JavaScript and the server-side Java scripts for Symbol micro-kiosks, specifically price-checkers.
  • Integrated data collection from work-time control devices using C++.
Technologies: Java, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), C++, Oracle, Back-end, Visual Studio, С++, Applied Cryptography, Asymmetric Encryption, SOAP, XML, CryptoPro, C, Protocol Development, Firmware, Embedded Systems, X.509 Certificates, Payment APIs, Payment Gateways, Windows Services, Reconciliation, APIs, API Development, API Integration, Architecture, Java 8, SQL, Query Optimization, Coding, ODBC, Database Triggers, Database Modeling, Windows, Software Architecture, Databases, Relational Databases, Software Requirements Specifications (SRS), Multithreading, Database Schema Design, SQL Server Agent, IoT Protocols, TCP/IP, Sockets, Socket Programming, Cryptography, Public-key Cryptography, SSL Certificates, PKCS, SMS, User Interface (UI)

Software Engineer

2001 - 2002
FlexTel Service
  • Designed and developed a high-reliability text message delivery system for sending to pagers, mobile phones, and email.
  • Created and developed the database, accompanied by delivery agents, sending messages over UCP, POCSAG, and SMTP protocols.
  • Developed an inbound SMTP server for automatic message redirection to mobile devices.
  • Participated in the PBX telephony server development for its E1 line and Dialogic card.
Technologies: C++, T-SQL (Transact-SQL), Database Design, SMTP, Protocol Development, Telephony, Paging, PBX, Windows Services, Visual Studio, Architecture, SQL, Coding, Database Modeling, Windows, Software Architecture, SMPP, Databases, Relational Databases, Software Requirements Specifications (SRS), Multithreading, Database Schema Design, SQL Server Agent, TCP/IP, Sockets, Socket Programming

AI-powered Messaging Assistant

This is a personal assistant application designed to augment messaging platforms with the power of AI-driven chat completions. The app leverages the ChatGPT API to suggest intelligent responses, enhancing user interactions with their correspondents. Initially integrated with Telegram via the sophisticated Telegram API and TDLib FFI, the system is engineered for expandability to other messaging platforms.

For the front-end, I utilized React Native to support multiple platforms efficiently. Also, TypeScript was used to enhance development efficiency and maintainability. The back-end was built on a robust Node.js/Express.js framework, ensuring fast and efficient server-side operations. TypeScript is used to unify development practices with the front end, reducing complexity and cost. Additionally, I integrated TypeORM for flexible and reliable database connectivity and incorporated OAuth for secure user authentication, safeguarding user data and interactions.

A cornerstone of the application is its commitment to user privacy. It is designed to ensure that neither messages nor ChatGPT inputs and outputs are stored in the back-end database.

Progressive Web Apps for Customers and Company CRM

Led the development of two progressive web apps (PWAs) for a fintech client.

1. A fintech customer portal PWA: The objective was to enhance customer experience and provide insights into investment portfolios and performance charts. Its key include are a display of investment portfolios with a robust, user-friendly interface for tracking and analyzing financial assets and dynamic performance charts for a visually appealing representation of investments

2. CRM system PWA for managers. The objective was to streamline client management for efficient account handling. Its key features are a fine-tuned system to streamline the organization and tracking of potential clients, effectively converting them into customers, and Financial transaction entry— the CRM PWA allows manual entry of financial transactions

My key contributions:
Front-end: Oversaw Angular front-end development, ensuring a user-friendly interface for both PWAs.
• Web API: Led the design of the web API tier, optimizing communication for a smooth user experience.
• Database design
• SSO: Led a security upgrade with SSO via IdentityServer4 and 2FA using Twilio, enhancing protection.
• CI/CD: Streamlined tests and deployments to on-premise IIS servers with Azure pipelines.

Flowcrypt Browser Extension

https://flowcrypt.com
This browser extension enhances Gmail communication by enabling message signing or encryption through OpenPGP and S/MIME standards. My role as the lead developer for this project showcases my expertise in maintaining and improving intricately organized complex browser extensions, ensuring high-quality reusable code and seamless integration with the company's back-end and 3rd-party services.

My key contributions:
• Established an efficient framework for accessing Gmail and other servers, minimizing code redundancy and promoting effective development.
• Restructured the codebase to utilize the latest version of the OpenPGP.js library.
• Added a feature to use X.509 family keys for S/MIME message signing, encryption, and decryption using the PKCS #7 standard.
• Significantly improved Puppeteer-driven tests to enhance continuous integration (CI) capabilities.
• Enhanced message decryption support for incoming messages from various mail applications, including Thunderbird and ProtonMail.
• Actively participated in peer code reviews for the FlowCrypt browser extension and associated back-end projects, ensuring high-quality code and collaboration.

My contributions are publicly available in the Github.com repository.

Media Research Project

I played a key role in an internal project for a media research company, integrating C#/.NET, Couchbase, and Elasticsearch on the back end and AngularJS on the front end. The versatile C# ensured robust development, while Couchbase stored post attributes in an unstructured form, which is crucial for diverse data. Elasticsearch facilitated dynamic full-text searches. AngularJS crafted a seamless and responsive user interface.

A sophisticated scraper aggregated posts and comments from national social networks, streamlining data collection. Users could group posts by events and assess audience sentiment through a positive/negative response ratio.

During the phase-out, I provided crucial support and hotfixes for a legacy WPF/MS SQL project, ensuring a smooth transition between systems. This project showcases my proficiency in diverse technologies, from data aggregation to sentiment analysis, emphasizing efficiency and continuity throughout the lifecycle.

IVA & Debt Management Software

https://www.logican.co.uk/iva-debt-management-software/
This project comprised cutting-edge technologies, robust architecture, and intuitive design as we knew it in 2016, providing a sophisticated solution for insolvency practitioners to manage the debts of their customers (handling Individual Voluntary Agreements in the UK).

My participation included:
• Database design and deployment: Leveraged the power of a well-structured database built using SQL Server Data Tools (SSDT), ensuring optimal performance, scalability, and maintainability.
• Entity framework model generation and fine-tuning (database first): Utilizing the efficiency of Entity Framework, the project implemented a database-first approach to simplify model generation. Subsequently, the model was manually fine-tuned for complex reports and data manipulations.
• Various Kendo UI controls: Elevated the user interface with a rich set of Kendo UI controls, including implementing a hierarchy grid, providing an intuitive and visually appealing experience.
• Integration with 3rd-party services: Seamlessly integrated with third-party services such as Experian and Kontomatik, expanding the functionality and scope of the financial management system by automating debt and bank account data acquisition.

Back End for a Dating Application

The client's ambitious objective was to create and launch a highly scalable serverless dating application poised to conquer the world! To achieve this, I designed and implemented a robust Node.js/TypeScript-based REST API utilizing Express.js routing. This API was deployed as a Google Firebase function.

In addition, I established Google Firebase hosting to support a straightforward web front end connected to the API. To ensure smooth collaboration with iOS and Android developers, I provided them with comprehensive specifications on how to consume the API efficiently.

For robust data validation, I employed the typescript-json-validator tool, generating data transfer object (DTO) validation based on TypeScript source code and annotations.

Moreover, I seamlessly integrated Firebase authentication, specifically Firebase ID Token, into the plain REST API. This enhances the security and integrity of the application.

On the persistence front, I implemented a sophisticated solution using Google Cloud Firestore. This includes advanced features such as transactions, batch writes, and partial updates, ensuring a resilient and scalable foundation for the dating application.

An Online Tiered Loyalty System for a Large Grocery Store Chain

I autonomously designed a three-tier architecture for a high-load online tiered loyalty system, showcasing my proficiency in key areas. This design demonstrated my skills in multithreaded C++, socket programming, and managing concurrent access to the database from multiple threads. The architecture was specifically tailored to handle high volumes of transactions efficiently, ensuring system reliability and performance.

Additionally, I engineered the entire database, incorporating complex and high-performing queries to enhance system efficiency. This involved a deep dive into optimizing data storage and retrieval processes, ensuring the system could handle large datasets without compromising speed or accuracy. This comprehensive approach underscores my skills in creating a robust and efficient system, spanning from architecture to database design.
Developing a monitoring application using MFC technology was also critical to this project, allowing for real-time system performance tracking and issue resolution.

Mobile Top-ups Infrastructure for a Large Grocery Store Chain

I independently orchestrated the design of a comprehensive system for mobile top-ups, seamlessly integrating with three national operators. This involved Oracle server database design, custom protocol development for transport agents in C++, and integrations with mobile operators' payment systems. The system achieved an impressive turnaround time of under two seconds between point-of-sale (POS) transactions and interactions with mobile operators, ensuring reliability by implementing custom protocols for two-phase commits.

To further enhance operational efficiency, I developed a specialized tool. This tool empowered accountants to complete or roll back stuck transactions manually and featured advanced capabilities, including signing, encrypting, and sending daily reports to operators for streamlined reconciliation processes.

Online Trading System

Embarking on an ambitious journey, our team, dedicated to excellence in trading systems, crafted a robust solution. At its core, a dynamic system comprised a Microsoft SQL database, redundant C#/.NET back-end modules, and a sophisticated Kendo UI-based web .NET application front end. This fusion offered users a comprehensive platform for trading equities and currencies.

A standout feature was the real-time data delivery with minimal latency. Back-end modules cached critical data, enabling effortless live quotes for users. This empowered traders to monitor equity balances and access up-to-date chart data for informed decisions in dynamic market environments.

Strategically leveraging Entity Framework, we ensured rapid development and synchronized complex queries with the evolving database structure.

Beyond the core modules, a high-throughput cryptography service revolutionized order verification, delivering security and speed within milliseconds. Additionally, a browser plugin facilitated client-side key pair and certificate signing request (CSR) generation, streamlining private key cryptography for a seamless and secure trading experience.

Byteball Fork

Our project involved crafting a private Byteball fork with Node.js, utilizing SQLite or MySQL storage, and adhering to a DAG architecture. The blockchain's core confirmation principle occurs when blocks receive a subsequent chain containing signed units from most 12 trusted nodes.

In translating functional requirements, I implemented codebase changes, strategically rearranged node interactions, and executed meticulous test plans. Team-led algorithm and architecture optimization ensured scalability and speed, ensuring efficient blockchain operation in various scenarios.

We extended protocol functions into REST API functions, maintaining a consistent approach to security. To uphold code quality, we thoroughly analyzed open-source contributions. I focused on hierarchical deterministic key generation using the Bitcore library, adjusting it to meet our project's specific needs.

Adhering to rigorous security policies, we identified potential attack vectors and vulnerabilities. All work underwent checks for grammatical, structural, organizational, and thematic consistency to integrate seamlessly within the entire codebase.

Power BI-driven Financial Dashboard with Custom Authentication

I led the development of a Power BI-driven dashboard deployed on an on-premises Power BI Report Server. Emphasizing the use of Direct Query for rapid development on large datasets, I orchestrated the creation of performance charts representing customers' portfolios, supervised developers, and provided queries for datasets.

The dashboard's strength lies in its custom security extension, a solution I developed. This allows users to use credentials from our own authentication system to access the reports. Our on-prem SQL server hosts financial data and user information with access scopes and hashed passwords, ensuring data confidentiality.

Upon logging into the report server, data queried for reports is restricted based on the user's access scope. The security framework, implemented by me in conjunction with Power BI's row-level security feature, guarantees a robust and tailored access control system.

Efficient Financial Data Computation and Integration Project

In the inception and growth of a fintech startup, I led the establishment of a robust financial database infrastructure for seamless integration with diverse applications. This involved crafting SQL jobs and T-SQL scripts for data extraction and processing, optimized with table-valued functions.

A significant challenge arose in computing intricate financial metrics using standard SQL queries, leading to the creation of a resource-efficient CLR-based aggregate function. Further optimizations focused on adjusting table indexes for peak performance.

Financial metrics were then distributed using SymmetricDS to isolated databases supporting .NET and WordPress sites using MySQL. I honed my MySQL programming skills to craft user-centric queries for the WordPress site.

Additionally, I guided developers in query construction and database structuring, ensuring a smooth integration process. Collaboration with database administrators resulted in a successful email-sending integration, using triggers to initiate communications under specific conditions.

Fintech Service Landing Page Customization

https://ix-7.com
My accomplishments:
• Spearheaded the customization of a WordPress-based landing and showcase site for a fintech client, focusing on personalized investment portfolio generation.
• Implemented an innovative feature allowing anonymous users to input investment preferences, generating tailored recommendations through dynamic visualizations using the FusionCharts library.
• Integrated a sophisticated user interaction bot, enhancing customer engagement by capturing preferences through conversational inputs. Preferences were stored in MongoDB, which also supported request throttling to ensure system
reliability.
• Leveraged MySQL for robust back-end data management, supporting the core functionality of investment recommendation generation.
• Enabled seamless user transition from the landing page to the main subscription-based platform, utilizing SOAP services to transfer portfolio data efficiently.
• Developed multilingual promotional pages equipped with an unsubscription feature to broaden market reach and enhance user experience.

Retail Compliance Application

https://www.retailguardian.com
The Retail Compliance Application, launched in 2016, utilized the Windows Presentation Foundation (WPF) framework and followed the Model-View-ViewModel (MVVM) pattern for its architecture. It was designed with tablet PCs in mind and incorporated a variety of sophisticated custom-draw controls, using an SQLite database for data storage.

My role in its development included creating a subsystem for managing staff schedules, covering holidays, sick leaves, and more. Despite the library's early development stage, the application took advantage of the Syncfusion library for scheduling UI controls and PDF report generation.

By directly communicating with the library's developers, I overcame challenges and implemented workarounds to enhance functionality. Additionally, I integrated the MessageBird library for SMS communication, further expanding the application's capabilities by enabling automated messaging features. This experience not only sharpened my technical skills but also provided valuable insights into handling library limitations and integrating third-party APIs.

Aminal (Now Darktile) – GPU Rendered Terminal Emulator

https://github.com/liamg/darktile
In late 2018, I engaged with the Aminal (now Darktile) open-source project, a cutting-edge terminal emulator written in the Go language with OpenGL rendering. This terminal was meticulously crafted to excel in time-critical tasks, demanding high precision and efficiency.

At the heart of this endeavor was a deep dive into OpenGL intricacies, where I honed my skills in graphics programming. My contributions were made in collaboration with a highly professional team, ensuring that every enhancement aligned with the project's goals.

As a valued contributor, my focus spanned from implementing support for the emulation of various terminal modes to integrating Sixel rendering and ensuring cross-platform compatibility, addressing a range of issues.

Auto Configuration Server (ACS) for Router Devices According to TR-069

https://en.wikipedia.org/wiki/TR-069
The Auto Configuration Server (ACS) per TR-069 remotely configures customer-premises equipment (router devices, in our case), managing tasks like firmware uploads and device status retrieval via the CPE WAN Management Protocol (CWMP). My implemented system integrates a custom transport agent and a dedicated MS SQL database.

The database stores configuration parameters from the devices and efficiently queues various tasks. Initially planned on WCF infrastructure, it was later discovered that the TR-069 protocol occasionally uses an empty body POST request (to enable bidirectional requests over HTTP), not strictly conforming to SOAP specifications. To address this, the transport agent was redesigned using Microsoft's Web API framework in C#.

This transition successfully addressed the challenge posed by the protocol's occasional use of empty body POST requests. The transport agent ensures reliable and compliant communication with the devices, enhancing the ACS performance and adaptability. The MS SQL database remains instrumental in managing configurations and queuing tasks, providing a comprehensive solution for remote router configuration.

Rambler Internet Search Engine

https://www.rambler.ru/
During its heyday as a Google competitor, the Rambler internet search engine was an intricate ecosystem featuring a crawler, a sharding indexer, and a robust search engine back end. The foundation of this system was laid with nodes developed in C/C++, utilizing the powerful Standard Template Library (STL) and Boost. These nodes were strategically deployed on FreeBSD servers, showcasing a commitment to a stable and reliable operating environment.

The choice of C/C++ and STL for node development reflected a commitment to performance and efficiency. These languages, known for their low-level capabilities and optimization opportunities, allowed Rambler to create nodes that could handle the substantial computational demands of crawling, indexing, and serving search results.

Deploying on FreeBSD servers highlighted a preference for a robust and Unix-like operating system known for its stability and scalability. The choice of FreeBSD showcased a dedication to providing users with a reliable and efficient search experience.

AWS Lambda Development

Implementation of several Lambda functions written in Go to extract data from DynamoDB, then optionally transform and digitally sign it using crypto/OpenPGP package.

The Serverless Framework was used for easier deployment of the project to AWS and potentially to other platforms.

SaferPay Payment Plugin for nopCommerce 3.90

This project marks my contribution to the eCommerce ecosystem by creating a robust SaferPay payment plugin for nopCommerce. Powered by the ASP.NET framework, this custom plugin facilitates secure and efficient online transactions via SaferPay—a trusted online payment solution provided by SIX Payment Services, a Swiss-based financial technology company. GDPR standards were diligently followed throughout the development process to address data protection and privacy concerns, ensuring compliance with European regulatory requirements.

Beyond providing a straightforward payment option, the plugin supports recurring payments. This feature allows my client to offer subscription services, membership plans, and other recurring billing models effortlessly. The implementation of recurring payments enhances the versatility of the plugin, catering to businesses with subscription-based revenue models.

Stripe Checkout Upgrade for SCA Compliance

https://yspi.ie/
As the calendar was closing in on September 2019 and the Strong Customer Authentication (SCA) deadline loomed, I was summoned by several clients to rewire their checkout systems. One such client was YSPI (Youth Suicide Prevention Ireland), a charitable organization accepting dynamic donations. They urgently needed an upgrade of the existing Stripe API checkout script to the new SCA-compliant version. A dynamic product catalog and arbitrary donation amounts heightened the complexity. I quickly deciphered the general database structure and crafted the necessary hooks for 3D Secure support – yet another showcase of my agility in engineering solutions.

Fast and Reliable Alarm Transport and Conversion Module for Medical Devices

The client wanted to route alarm signals from the Vivago system to a system from a different manufacturer. For this purpose, I developed a module that accepts signals in the native format (XML-RPC-based API) and converts and forwards them over a SIP-based protocol to the external system.

The module also provides status feedback on the link to the external system to the original sender, making the integration complete and reliable. An ASP.NET Core application was built to host the module.

Multithreaded Control Service for IoT Omni-based Scooters

I contributed to a .NET Core TCP service for air interface protocols to control Omni-based scooter firmware remotely.
Operating within a Mono environment on Amazon EC2, the service is designed to handle lock/unlock operations and firmware updates, all orchestrated through a PostgreSQL database.
My extensive experience in multithreaded architecture and diverse protocol knowledge proved instrumental. I identified some severe flaws in the thread interoperation of the codebase and implemented necessary updates to significantly enhance reliability, thereby making the product more competitive in the market.

Advanced Metering Infrastructure for Industrial Boilers

On-premise devices have a 512K RAM ICP DAS controller running MiniOS7, installed near electronic volume converters for gas consumption measurement. We developed C++ firmware for direct communication with EVCs, sending processed data to the head office server via a GSM module. With only RS-232 and RS-485 ports, I navigated port intricacies, ensuring compatibility with various EVCs using custom protocols and MODBUS.

The head office server dispatches firmware updates to devices, managed adeptly by developed firmware code. Controller flash memory stores received data and updates, released after a successful head server session for efficient data management.

The head office software built in C#/.NET includes a communication module on a custom protocol and a WinForms GUI application.

Solidity to Go Transpiler PoC

The project was developed on the Node.js platform, where PEG.js served as the backbone for parsing Solidity code, generating a parsed tree representing a smart contract definition. An intermediate structure is created to track the inheritance hierarchy, identifier definitions, and their corresponding scopes as crucial semantic data.

Another challenge was to extract Solidity function modifiers to rebuild them in Go, preserving a possible chain of invocations in the correct order.
Thus, the transpiler Go code maintained the nuanced behavior of the original Solidity smart contract.

Custom IQFeed Order Management and Chart Analyzer Platform

A .NET-based platform using IQFeed for market data and Instaquote API for real-time order management. The project also included a backtesting mode and custom visualizers with low-level graphic rendering.

Order Management Platform

Developed and deployed a robust Order Management System leveraging the QuickFIX engine for Java, which enabled the creation of complex stop-loss/take-profit conditions tailored to meet precise business requirements. This system significantly enhanced trading efficiency by providing real-time event notifications and emulating custom bracket orders, improving order execution speed and accuracy. The project not only streamlined operational workflows but also contributed to a reduction in financial risk through enhanced order management capabilities.

Interactive Brokers Order Management Plugin

A C# plugin for NinjaTrader 7 to manage orders and positions via a native Interactive Brokers API and FIX bridge. The plugin provides an abstraction layer required by NinjaTrader 7 for visualization and order management using mainly non-documented .NET DLL endpoints.

Crypto Exchange Plugins for NinjaTrader

I developed plugins to integrate BitMEX and Binance into Ninja Trader order management and market data. The product is a dynamic link library (DLL) that allows NT7 to subscribe to ticks, download historical ticks or bars, place and cancel orders, and track stock positions and equity.

C#/QuickFIX Plugin for NinjaTrader

FIX 4.2, 4.3, and 4.4 plugins for various brokers, such as LumeFX, OTCXN, and Integral, which translates order submission, execution reports, and market data between the systems. The plugins provide an abstraction layer required by NinjaTrader 7 for visualization and order management using mainly non-documented .NET DLL endpoints.

C++/ACSIL Studies for Sierra Chart

The Sierra Chart platform allows the implementation of stock/FX trading indicators and strategies they call "studies" in C++-based language, using some exported low-level functions.

TASKS
• Created tailored ATR and RSI indicators that are exactly equivalent to NinjaTrader's indicators in output.
• Implemented Kase CD and Kase Peak Oscillator, Volatility Stop, Momentum, Adaptive CCI, and DamianiVolatmeter indicators based on NinjaTrader's code.
• Implemented gapless versions of a dozen of indicators.
• Re-implemented MetaTrader4's SuperADX, SupportingADX, and Chopy Market Index (CMI).

Most of the implemented studies support inputs based on other indicators and tick data.

Custom Request Processor for DataStax (Student Assignment - Java)

https://github.com/rrrooommmaaa/datastax-java-driver
The assignment was implementing custom request types for DataStax Cassandra Java Driver following the producer-consumer pattern.

A custom request processor was implemented to return the Producer row result for CQL-compatible requests.

The solution:
• Is thread-safe.
• Stores temporary items in a queue and drains them whenever the consumer requests more.
• Has a non-blocking, lock-free queue-drain pattern using atomic variables (https://akarnokd.blogspot.com/2015/05/operator-concurrency-primitives_11.html).
• Uses ForkJoinPool for lock-free data pumpin.
• Supports Producer cancel to avoid data pumping when no longer required.
• Implements filter, map, and reduce methods for producers that allow a data flow preserving the features mentioned above.
• Covered with unit and integration tests.
1994 - 2000

Master of Computer Applications (MCA) Degree in Information Technology

Bauman Moscow State Technical University (BMSTU) - Moscow, Russia

Libraries/APIs

Node.js, ODBC, JSON API, NinjaScript, Microsoft Foundation Class (MFC) Library, Interactive Brokers API, Windows Forms (WinForms), REST APIs, FusionCharts, API Development, Sockets, Entity Framework, Microsoft Foundation Classes (MFC), Web API, Protobuf, React, Experian, Stripe API, Stripe, Twilio API, Web API 2, Puppeteer, jQuery, AES, Telegram Messenger API, Standard Template Library (STL), OpenGL, JOOQ

Tools

Visual Studio, NinjaTrader, Git, Syncfusion, Stripe Checkout, GitHub, C#.NET WinForms, Apache Maven, Plesk, Terminal, Ninject, Subversion (SVN), Balsamiq Mockups, Firebase Authentication, ANTLR 4, Mocha, IntelliJ IDEA, Microsoft Power BI, CryptoPro, GPG, Java Concurrency, Microsoft Access, Azure DevOps Services, Gradle, Eclipse IDE, GoLand, Firebase Cloud Messaging (FCM), MongoDB Atlas, DataStax, Dapper, Docker Compose, Webpack 4, SemaphoreCI, MessageBird, TeamCity, ChatGPT, Webpack

Languages

C#.NET, C#, JavaScript, T-SQL (Transact-SQL), XML, F#, Visual Basic .NET (VB.NET), TypeScript, С++, Java 8, SQL, Go, C++, Java, Visual Basic for Applications (VBA), PHP, Kotlin, YAML, Assembly, Pascal, VB.NET, Assembly Language, Solidity, R, Perl, Python, Java 11, C, MQL4, PHP 7

Frameworks

.NET, ASP.NET Web API, ASP.NET, .NET 4, Kendo UI, MVC Razor, VB.NET WinForms, Express.js, Windows Presentation Foundation (WPF), Google Protocol Buffer, .NET Core, PEG.js, Swagger, Windows PowerShell, Serverless Framework, IdentityServer 4, JSON Web Tokens (JWT), Mockito, ASP.NET MVC, Mono, Divi, Jest, Boost, JUnit, Razor, Angular, Laravel, Symfony, ActiveX, ASP.NET Core 2, OAuth 2, Javalin, AngularJS, React Native

Paradigms

REST, MVC Design, Model View ViewModel (MVVM), Socket Programming, Database Design, Unit Testing, Asynchronous Programming, Database First, Model View Controller (MVC), Azure DevOps, Cross-platform, DevOps, PKCS, Design Patterns, Database Development, Concurrent Programming, Business Intelligence (BI), Code Refactoring

Platforms

Visual Studio Code (VS Code), Telerik WPF, Windows, WordPress, Oracle, Telerik, NetBeans, Azure, Ubuntu, Blockchain, Bitcore, Firebase, AWS Lambda, Google Cloud Platform (GCP), Amazon EC2, Unix, Linux, Eclipse, RStudio, MetaTrader, FreeBSD, Docker, Amazon Web Services (AWS), NopCommerce, MetaTrader 4

Storage

SymmetricDS, Database Modeling, SQL Server Data Tools (SSDT), Microsoft SQL Server, Database Triggers, JSON, Databases, Relational Databases, MySQL, SQL CLR, Couchbase, Elasticsearch, SQLite, PostgreSQL, Cloud Firestore, JSON/XML Schemas, SQL Server Agent, NoSQL, IndexedDB, Oracle RDBMS, MongoDB, Firebase Realtime Database, Amazon DynamoDB, Redis, RocksDB, Cassandra, MySQLi, XML-RPC, CQL, SQL Views

Other

Coding, Back-end, APIs, RS485, RS-232, FIX Protocol, QuickFIX, Order Management, Windows Services, OpenPGP, Software Architecture, API Integration, Payment APIs, Payment Gateways, Integration, Multithreading, Open Source, Async/Await, TCP/IP, Protocol Design, 3D Secure, Open-source Software (OSS), Trading, Technical Leadership, Query Optimization, Code Review, Full-stack Development, Financial Planning & Analysis (FP&A), Database Schema Design, Software Requirements Specifications (SRS), Architecture, SSH, Modbus Protocol, SMPP, Windows Communication Foundation (WCF), SOAP, Cryptocurrency, SSL Certificates, Internet Information Services (IIS), Web App Deployment, Applied Cryptography, Webhooks, PGP, Directed Acrylic Graphs (DAG), Serverless, Protocol Buffers, CLR, WebSockets, Chrome Extensions, Distributed Software, CI/CD Pipelines, Asymmetric Encryption, SMS, Ajax, DOM, Advanced Encryption Standard (AES), Progressive Web Applications (PWAs), Back-end Development, Smart Contracts, Reconciliation, Byteball, PDF, Cross-platform App Development, SaferPay API, Authorization, OAuth, Front-end Development, Backtesting Trading Strategies, Internet of Things (IoT), IoT Protocols, GitHub Actions, Joi, OpenAI GPT-3 API, OpenAI GPT-4 API, Cryptography, Public-key Cryptography, PWA, Full-stack, User Interface (UI), OpenAI, Xamarin Studio, Dynamic Data Exchange (DDE), Elliptic Curve Cryptography, Firebase Hosting, TypeORM, Firefox Extensions, X.509 Certificates, S/MIME, Algorithms, Networking, SMTP, Protocol Development, Telephony, Paging, PBX, Firmware, Embedded Systems, Session Initiation Protocol (SIP), Data Communication, Algorithmic Trading, Apache Cassandra, Integration Testing, Fetch API, SIP, Optimistic/Pessimistic Concurrency Checks, Third-party Integration, Digital Signatures, Monorepos, User Authentication, Reporting, Charts, Cross-platform UX, Graphics Programming, Web Scraping, Dashboards, Plugin Development, Asynchronous I/O, Source Code Review, Single Sign-on (SSO), Landing Page Design, Medical Software, Bookkeeping, Stock Market, Chatbots

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring