Dmitry Demin, Developer in Sutomore, Bar, Montenegro
Dmitry is available for hire
Hire Dmitry

Dmitry Demin

Verified Expert  in Engineering

Software Engineer and Back-end Developer

Location
Sutomore, Bar, Montenegro
Toptal Member Since
February 16, 2022

Dmitry is a software engineer and data scientist with over 20 years of experience. Skilled in many technologies, programming languages, and frameworks, Dmitry has been using C, C++, Rust, JavaScript, and TypeScript with Node.js, React, and Vue. He excels with PostgreSQL, PostGIS, and Microsoft SQL Server databases. Dmitry loves to solve interesting tasks and create products that benefit its users.

Portfolio

Self-employed
C++, JavaScript, TypeScript, Node.js, Three.js, WebGL, Vue, Ruby, Mathematics...
DSCVR, Inc
Rust, WebAssembly, Architecture, Blockchain, Smart Contracts, Docker...
Droplet Computing Ltd
Rust, Networking, Go, VPN, TCP/IP, UDP, Network Protocols, Containers...

Experience

Availability

Part-time

Preferred Environment

Linux, C++, JavaScript, TypeScript, Node.js, PostgreSQL, Rust

The most amazing...

...solution I've developed is software that is used to ensure the smooth operation of civil aviation in many countries.

Work Experience

Software Engineer

2019 - PRESENT
Self-employed
  • Designed the core structure of a geometric computation algorithm library in C++ for handling 3D point clouds and meshes.
  • Created an algorithm for model segmentation and classification of surface types and then enhanced the quality of the resulting mesh model by utilizing the identified segments.
  • Implemented and merged a surface reconstitution algorithm into the system.
  • Built a front-end UI using WebGL for visualizing and modifying models, calculating model parameters, and exchanging information with the back end via a cloud API.
  • Created a system that visualizes the 3D scene of the building and simulates movement over it.
  • Developed a desktop application that simulates the etching process for a nano-size integrated circuit and visualizes the result in 3D.
  • Implemented software infinite impulse response (IIR) filters for a given Laplace transform.
  • Built an integration module for OMERO, a system that handles images from electronic microscopy in a secure central repository.
Technologies: C++, JavaScript, TypeScript, Node.js, Three.js, WebGL, Vue, Ruby, Mathematics, 3D Math, Linux, Digital Signal Processing, WebAssembly, WebKit, Networking, React, C, Rust, GraphQL, Raspberry Pi, Embedded C++, CMake, CSS, Qt, Assembly, ESP32, Arduino, Embedded Systems, Embedded Linux, OpenGL, 3D Graphics, Geometry, Graphics, 3D Modeling, 3D Geometric Analysis, Emscripten, Docker, Python, WebSockets, C++14, C++17

Back-end Engineer

2022 - 2022
DSCVR, Inc
  • Developed a set of tools for a blockchain-based Web3 system.
  • Worked with a decentralized cloud computing network.
  • Optimized a persistent storage format to back up and restore the entire system state with limited system resources.
  • Set up CI/CD scripts for an automatic check, built and deployed the system using Docker and GitHub actions.
Technologies: Rust, WebAssembly, Architecture, Blockchain, Smart Contracts, Docker, CI/CD Pipelines, Web3

Networking Engineer

2022 - 2022
Droplet Computing Ltd
  • Developed a high-speed Ethernet frames/IP packets VPN router to connect virtual machines over public networks.
  • Worked with low-level network protocols, including Ethernet, IP, ARP, and DHCP.
  • Created a software that sends/receives gigabytes of data flawlessly.
Technologies: Rust, Networking, Go, VPN, TCP/IP, UDP, Network Protocols, Containers, Virtual Machines, Parallel Programming

Software Engineer

1998 - 2022
Monitor Soft
  • Created the central modules of a message switching system for civil aviation, including interprocess communication, multithreading, archiving, and routing.
  • Built a desktop client for a civil aviation messaging network, the Aeronautical Fixed Telecommunications Network.
  • Developed Node.js bindings for the third-party message transfer framework.
  • Designed and developed the back end and the GraphQL API of a message processing system.
  • Oversaw and developed the front end of the message transfer agent using JavaScript and Vue.js.
Technologies: C, C++, Delphi, PostgreSQL, TCP/IP, Linux Kernel Drivers, PHP, Vue, Node.js, JavaScript, TypeScript, React, Networking, GraphQL, REST, CMake, Rust, Parallel Programming

Senior Full-stack Developer

2014 - 2019
A+S Consult GmbH
  • Created a traffic lights control system to control and visualize networks of traffic lights.
  • Designed and developed a system for visualization of the transport flow modeling.
  • Created algorithms for processing and transformation of graph geometries in GIS.
  • Built a software module for processing data streams from GPS devices and data sensors.
  • Developed a map layers tile server to visualize transport flow parameters on the map.
Technologies: Ruby, C++, PHP, PostgreSQL, Node.js, Vue, JavaScript, TypeScript, MongoDB, Linux, Mathematics, Perl, React, PostGIS, GIS, Leaflet, Google Maps, OpenLayers, REST, Docker

Senior Software Engineer

2000 - 2014
Globalstroy-Engineering OJSC
  • Developed an ERP system for obtaining various data from different company branches.
  • Built an inventory system for hardware and software installed on computers and servers.
  • Designed and developed a storage system for corporate electronic documents.
  • Created reports for a corporate document management system.
Technologies: Microsoft SQL Server, C#, ASP.NET, PHP, Delphi, JavaScript, Visual Studio, CSS

CAD-like System to Process 3D Models

I collaborated with a US-based startup that creates hardware and software for 3D scanning. I worked as a computation geometry engineer and front-end developer in a team of 10 developers. My responsibilities in this project involved:
• Developing several C++ modules for geometry processing
• Creating WebGL-based Vue.js components for viewing and editing models
• Building the front-end UI for computation of models parameters and communication with the back end over a specific cloud API, using JavaScript and Vue.js as well

Software for Transport Modeling and Traffic Simulation

I collaborated with the a branch of a Germany-based company that provides consulting services and develops software to control transport flows in cities. I worked as a full-stack software engineer in a team of 5 developers. My responsibilities in this project involved:
• Designing and developing a system for visualizing results of the transport flow modeling
• Creating algorithms for processing and transformation of graph geometries in GIS
• Developing a map layers tile server
• Writing a software module for processing data streams from GPS devices and other data sensors

Message Transfer Agent for Civil Aviation

I collaborated with a company that develops various software for civil aviation. I worked as a back-end and front-end developer within a team of four developers whose roles were to develop other parts of the message switching and transferring system. My responsibilities involved:
• Developing Node.js bindings for the third-party message transfer framework
• Designing and developing a back-end message processing system and GraphQL API with Node.js
• Designing and developing the front end of the message transfer agent using JavaScript and Vue.js
1992 - 1998

Master's Degree in Computer Science

Moscow Power Engineering Institute | Technical University - Moscow, Russia

OCTOBER 2015 - PRESENT

Master C++ eCertificate

Brainbench

MARCH 2003 - PRESENT

Microsoft Certified Professional

Microinform Training Center

Languages

C++, JavaScript, C++14, TypeScript, Rust, Assembly, GraphQL, Embedded C++, C++17, Ruby, C#, C, Delphi, PHP, Perl, CSS, Go, Python

Libraries/APIs

Node.js, Vue, Three.js, OpenGL, React, WebGL, Leaflet, Google Maps, OpenLayers

Storage

PostgreSQL, Microsoft SQL Server, MongoDB, PostGIS

Other

3D Math, Mathematics, Networking, Digital Signal Processing, WebAssembly, 3D Graphics, Graphics, Web3, 3D Modeling, 3D Geometric Analysis, TCP/IP, ESP32, Linux Kernel Drivers, WebKit, UDP, Network Protocols, Containers, Virtual Machines, Architecture, Embedded Systems, Smart Contracts, Geometry, CI/CD Pipelines, WebSockets

Frameworks

Qt, ASP.NET

Tools

CMake, Visual Studio, Emscripten, GIS, VPN

Platforms

Linux, Docker, Arduino, Raspberry Pi, Blockchain, Embedded Linux

Paradigms

REST, Parallel Programming

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