Roman Shevchenko, Developer in Sharm El-Sheikh, Qesm Sharm Ash Sheikh, South Sinai Governorate, Egypt

Roman Shevchenko

Full-stack Developer

Location
Sharm El-Sheikh, Qesm Sharm Ash Sheikh, South Sinai Governorate, Egypt
Toptal Member Since
July 3, 2019

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. His areas of expertise include Node.js, TypeScript, Go, .NET, Java, PHP, Transact-SQL, MySQL, NoSQL, and interoperations between them, APIs, and communication protocols.

Roman is available for hire
Hire Roman

Portfolio

Flowcrypt a.s.
TypeScript, Kotlin, Java 11, Chrome Extensions, Firefox Extensions, PostgreSQL...
IX-7 Asset Management SA
SOAP, JavaScript, MongoDB, SymmetricDS, MySQL, Microsoft SQL Server, React, PHP...
0chain
Go, Docker, Docker Compose, Redis, RocksDB, Cassandra, NoSQL...

Location

Sharm El-Sheikh, Qesm Sharm Ash Sheikh, South Sinai Governorate, Egypt

Availability

Part-time

Preferred Environment

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

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

2020 - PRESENT

Typescript/Kotlin Developer

Flowcrypt a.s.
  • Fixed bugs and added features to open-source Flowcrypt-browser extension.
  • Implemented S/MIME support, PKCS#7 signing/encryption/decryption. Imported PKCS#8 and PKCS#12 private key data, PEM format support.
  • Took part in the peer code review of the Flowcrypt-browser and the private back end repositories.
Technologies: TypeScript, Kotlin, Java 11, Chrome Extensions, Firefox Extensions, PostgreSQL, IntelliJ IDEA, Ubuntu, REST APIs, Node.js, Gradle, Applied Cryptography, Asymmetric Encryption
2016 - PRESENT

Lead Software Engineer

IX-7 Asset Management SA
  • Developed Transact-SQL-stored procedures and table-returning functions for fast and effective calculations of financial metrics.
  • Created custom CLR aggregate functions for MS SQL to boost performance.
  • Designed a MySQL database and developed stored procedures.
  • Set up a heterogenous replication between MS SQL and MySQL using SymmetricDS.
  • Developed a WordPress website with PHP back-end scripts.
  • Contributed to legacy ASP.NET WebForms app development.
  • Developed a .NET-driven SOAP web service and PHP client.
Technologies: SOAP, JavaScript, MongoDB, SymmetricDS, MySQL, Microsoft SQL Server, React, PHP, WordPress, .NET, Windows Services, Back-end, Visual Studio, Ubuntu, REST APIs, Azure DevOps, Microsoft Power BI, CI/CD Pipelines, C#.NET, NoSQL, C#
2021 - 2022

Developer

0chain
  • Fixed bugs and made updates to Merkle Patricia Trie's implementation for the blockchain engine.
  • Made improvements to the module that saves the currently calculated state to RocksDB.
  • Implemented complex integration tests with multiple nodes running in Docker containers.
Technologies: Go, Docker, Docker Compose, Redis, RocksDB, Cassandra, NoSQL, Asymmetric Encryption
2019 - 2021

Cryptographic Engineer

Ribose
  • Solved various technical issues of the RNP library and applications, including Unicode support on Windows.
  • Added additional options for 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, Debian.
Technologies: C++, OpenPGP, Python, YAML, GitHub, CI/CD Pipelines, С++, NoSQL, Applied Cryptography, Asymmetric Encryption
2019 - 2020

Freelance Web Developer

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, Redux
2018 - 2019

Lead Software Engineer

404 Publishing, Inc.
  • Worked on a private fork of https://github.com/byteball/ocore. This is a distributed blockchain system written in Node.js.
  • Modified a network communication protocol to make it more robust and lightweight.
  • Designed changes to SQLite and MySQL database structure to store the DAG more efficiently.
  • Developed a web front end to easily enter transactions for debugging purposes.
  • Ported key derivation and ECDSA signing to client-side JavaScript.
Technologies: MySQL, SQLite, Node.js, Back-end, Ubuntu, Bitcore, REST APIs
2018 - 2019

Collaborator

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
2016 - 2018

Senior Software Engineer

Logican Solutions, Ltd.
  • Designed an MS SQL database via SSDT with subsequent Entity Framework model generation and editing with a database-first design.
  • Created a Web API service layer using ASP.NET technology to be called by a web front end.
  • Designed visual elements and bound them to business logic using MVVM Light, WPF, and C#.NET.
  • Created web pages using Kendo UI controls, including hierarchy grid, Razor engine, and custom JavaScript.
  • Integrated the system with extraneous services such as Experian and Kontomatik.
  • Created an efficient distribution algorithm per ratio with catch-up.
Technologies: MVC Razor, JavaScript, Experian, Ninject, ASP.NET, Model View Controller (MVC), Kendo UI, Windows Communication Framework (WCF), Microsoft SQL Server, .NET, Windows Presentation Foundation (WPF), Back-end, Visual Studio, REST APIs, C#.NET, C#
2016 - 2017

Software Developer

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#
2014 - 2016

Lead Software Engineer

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 Russian and international media, blogs, and microblogs.
  • Developed C# Web API back end for the internal site and some updates to AngularJS front end.
  • Improved a legacy 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#
2012 - 2014

Lead Software Engineer

Global Consulting Group, JSC
  • Developed a brokerage database and back end consisting of various nodes communicating via Protobuf-based protocol.
  • Developed a WPF MVVM front end and parts of a Kendo UI web client.
  • Integrated the brokerage system with Moscow Interbank Currency Exchange (MICEX) and Russian Trading System (RTS) stock exchange.
  • Implemented conditional orders, specifically Stop Loss, Stop Limit, OCO groups.
  • Designed and implemented a high-throughput signature verification server with caching for each order placed.
Technologies: JavaScript, Microsoft SQL Server, Protobuf, Model View Controller (MVC), Model View Viewmodel (MVVM), Windows Presentation Foundation (WPF), Telerik, Kendo UI, .NET, Back-end, Visual Studio, C#.NET, C#, Applied Cryptography, Asymmetric Encryption
2010 - 2011

Lead Software Developer

Rambler Internet Holding
  • Took part in developing a FreeBSD/C++ internet indexer, with indexes divided into shards.
  • Tweaked search results and mapped search queries to shards and reducing the results.
  • Developed extra features like adult content filtering.
Technologies: Boost, Standard Template Library (STL), FreeBSD, C++, Back-end, С++, Eclipse IDE, Eclipse
2005 - 2008

Lead Software Developer

JC System Integration
  • Developed multi-user video and audio manipulation software for TV broadcasts.
  • Implemented custom controls using C++ (first version) and C# (second 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 Library (MFC), C#, C++, Visual Studio, С++
2002 - 2005

Software Engineer

X5 Retail Group
  • Developed three-tier architectures 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 Library (MFC), C++, Oracle, Back-end, Visual Studio, С++, Applied Cryptography, Asymmetric Encryption

Experience

WPF and Web for Debt Management Software

A project that included database design via SSDT; Entity Framework model generation and editing; repository, business logic, and service layers; dependency injection; MVVM and MVC infrastructure for the WPF application and portal, respectively; and partial views. Various Kendo UI controls were used and integrations with third-party services like Experian and Kontomatik.

Retail Compliance WPF Application

This WPF application is of layered architecture. I implemented custom-drawn controls, MVVM binding, SQLite design, and interaction. For the schedule, I used the SyncFusion library. It's buggy, but I made the most of it by filing issues to the library developers and putting workarounds in place.

Effective Calculation of Financial Data using MS SQL

https://ix-7.com
Fast calculations of financial metrics using Transact SQL. For efficiency and maintainability, table-valued functions were defined. Also, to boost performance, custom CLR aggregate functions were created. This integration project involved asynchronous calculations based on incoming signals using jobs, Linked Servers input, and CSV output.

Aminal

https://github.com/liamg/aminal
I made substantial improvements on the Aminal open-source project, written in Go language with OpenGL rendering. I implemented support for various terminal modes, sixel rendering, and Linux/Windows cross-platform compatibility.

C# PDF Report Builder

My client wanted to generate PDFs using the SyncFusion library. I did it precisely according to the templates provided. The report included a header with page numbering, size-to-fit image placement, and tables spanning multiple pages. This was all done for a Windows 8 app.

Media Research Project

I took part in the development of an internal project for a large media research company using C#, Couchbase, and Elasticsearch on the back end and AngularJS and MVC on the front end.
I also supported and issued hot fixes for a legacy WPF/MSSQL project.

Online Trading System

A system with C#, Entity Framework, WCF, and Protobuf over Sockets on the back end and WPF and MVVM on the front end.

Rambler Services

An internet search back end (Google competitor) written in C/C++ to be run under FreeBSD using STL.

Byteball Fork

Work on a private byteball fork written using Node.js with SQLite or MySQL storage. This is a blockchain (or, to be more precise, DAG) architecture where blocks (units) are confirmed when they get a subsequent chain over them containing signed units from a majority of 12 trusted nodes.

Node.js/Express/TypeScript Firebase Back End for a Dating Application

Design and implementation of a modern state-of-the-art REST API using Google Firebase hosting, functions, and Firestore database for a dating application. DTOs are validated with a JSON Schema generator based on TypeScript source code. Firestore interaction features transactions, batch writes, and partial updates.

Node.js/Serverless/Express/TypeScript/TypeORM Back End

Design and implementation of REST API using Node.js Serverless framework with subsequent deployment on AWS.
TypeScript and TypeORM was used to access the MongoDB cluster.

IoT Scooter Control (Omni)

Developed a .NET Core TCP service for Air interface protocol to remotely control Omni-based scooter firmware. The service is deployed in Mono environment ruuning in Amazon EC2.

The service performs lock/unlock operations as well as firmware updates based on requests queued in PostgreSQL database.

AWS Lambda Development in Golang

Implementation of several Lambda functions written in Go to extract data from DynamoDB, then optionally transform and digitally sign it using crypto/openpgp package.
For easier deployment of the project to AWS as well as potentially to other platforms, the Serverless framework was used.

Interactive Brokers Order Management Plugin

C# plugin to manage orders and positions via native IB API and FIX bridge.

C#/QuickFix Plugin For Ninja Trader

Fix4.2, Fix4.3, Fix4.4 plugins for various brokers (LumeFX, OTCXN, Integral) providing a translation of order submission, execution reports and market data between the systems.

Cryptoexchange Plugins for Ninja Traders

Plugins to integrate Bitmex and Binance into Ninja Trader order management and market data.

Java/QuickFix Order Management Platform

Order management system for creating complex stop-loss/take-profit conditions per business requirements. It used the QuickFix engine for Java, providing event notifications and emulating custom bracket orders.

C++/ACSIL Studies for Sierra Chart

Custom studies were written in C++ for the Sierra Chart platform.

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.

Progressive Web Apps for Customers and company CRM

https://mobile.ix-7.ch
The PWA for customers is designed to display investment portfolios, performance charts, whereas the custom CRM PWA helps manage potential clients, their accounts, enter financial transactions. I supervised the frontend development, designed the Web API tier and implemented SQL queries in an efficient manner. I also set up Azure pipelines for build and deployment to on-prem IIS servers.

Business Reports for Fintech Company

Dashboards with performance charts of customers' portfolios. I provided queries for datasets, supervised other developers, and developed a custom security extension to allow users to access the reporting services with credentials from a custom authentication system.

Flowcrypt Browser Extension

https://flowcrypt.com
A Chrome and Firefox extension to sign or encrypt messages sent and received with a Gmail account, either by OpenPGP or S/MIME standards. The extension has the capability to generate, import, and export OpenPGP keys with some customization.

Skills

Languages

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

Frameworks

.NET, ASP.NET Web API, .NET 4, Kendo UI, MVC Razor, VB.NET WinForms, Express.js, Windows Presentation Foundation (WPF), ASP.NET, .NET Core, MVVM Light Toolkit, PEG.js, Swagger, Windows Communication Framework (WCF), Windows PowerShell, Serverless Framework, Boost, JUnit, Razor

Libraries/APIs

Node.js, ODBC, JSON API, NinjaScript, Microsoft Foundation Class Library (MFC), Interactive Brokers API, Windows Forms (WinForms), REST APIs, React, Experian, Stripe API, Stripe, Web API, Standard Template Library (STL), OpenGL, Protobuf

Tools

Visual Studio, NinjaTrader, Syncfusion, Stripe Checkout, Apache Maven, Plesk, Terminal, Ninject, Git, Subversion (SVN), Balsamiq Mockups, Microsoft Visio, Firebase Authentication, ANTLR 4, Mocha, IntelliJ IDEA, Microsoft Power BI, Gradle, Eclipse IDE, GoLand, Firebase Cloud Messaging (FCM), MongoDB Atlas, DataStax, GitHub, Dapper, Docker Compose

Paradigms

MVC Design, Model View Viewmodel (MVVM), Azure DevOps, Model View Controller (MVC), REST, Socket Programming, PKCS

Platforms

Visual Studio Code (VS Code), Telerik WPF, NetBeans, Azure, Linux, Ubuntu, Blockchain, Bitcore, Firebase, AWS Lambda, WordPress, Oracle, Telerik, Eclipse, RStudio, MetaTrader, FreeBSD, Docker, Amazon Web Services (AWS)

Storage

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

Other

Coding, Back-end, APIs, RS485, RS-232, FIX Protocol, QuickFIX, Order Management, Windows Services, Distributed Software, Security Design, SSH, Modbus Protocol, SMPP, SOAP, Cryptocurrency, VNC, SSL Certificates, Internet Information Services (IIS), Web App Deployment, Applied Cryptography, Webhooks, Directed Acrylic Graphs (DAG), Serverless, Protocol Buffers, TCP, CLR, WebSockets, Chrome Extensions, CI/CD Pipelines, Asymmetric Encryption, Xamarin Studio, Dynamic Data Exchange (DDE), Elliptic Curve Cryptography, Firebase Hosting, PGP, TypeORM, OpenPGP, Firefox Extensions, Lambda Functions, X.509 Certificates, S/MIME

Education

1994 - 2000

Master of Computer Applications (M.C.A.) Degree in Information Technology

Bauman's MSTU - Moscow