Adrian Bercovici, Developer in Bucharest, Romania
Adrian is currently unavailable

Adrian Bercovici

Software Architect and Developer

Bucharest, Romania

Toptal member since June 13, 2025

Bio

Adrian is a software architect who has spent 8+ years creating high-performance distributed systems and low-latency architectures in finance, banking, and IIoT. He specializes in high-throughput payment processing, low-latency web apps, scalable messaging systems, and financial risk assessment platforms. An expert in actor-based models like Erlang/OTP and Microsoft Orleans, event-driven architectures, and concurrency, Adrian has hit 25x performance improvements and multimillion-USD cost savings.

Portfolio

Absa
Python, C#, Temporal Cloud, TeamCity, Kubernetes, Grafana, RabbitMQ, CockroachDB
Nuvei
C#.NET, Orleans, Azure, Azure DevOps, RabbitMQ, Apache Kafka, KSQL, xUnit, Moq...
TransPerfect
C#.NET, RabbitMQ, WebSockets, SQL, ASP.NET Core, Redis Pub/Sub

Experience

  • C#.NET - 8 years
  • Functional Programming - 6 years
  • WebSockets - 6 years
  • Real-time Systems - 6 years
  • Domain-driven Design (DDD) - 6 years
  • Distributed Systems - 5 years
  • Erlang (OTP) - 4 years
  • Industrial Automation - 3 years

Preferred Environment

Visual Studio Code (VS Code), Windows Subsystem for Linux (WSL), Visual Studio

The most amazing...

...thing I've developed is a real-time chat application using Erlang, which has WhatsApp and Discord features, such as seen messages and a real-time feed.

Work Experience

Lead Platform Developer

2024 - 2025
Absa
  • Led five developers in rewriting an entire Python codebase on Temporal Workflows, providing code samples and conducting coaching sessions, pair programming, and pull request reviews.
  • Saved tens of hours of monthly manual work by developing a cron job for database synchronization between multiple Absa Bank departments, updating 1,500+ database clusters' information daily.
  • Developed a system for autohealing databases and virtual machines. It collected and aggregated alerts in timed windows and acted upon them by forwarding commands like restarts and shutdowns to other subsystems.
  • Influenced junior developers' coding style and patterns by up to 80% by performing regular coaching sessions, guiding them on domain-driven design, functional and declarative programming, and dependency injection.
Technologies: Python, C#, Temporal Cloud, TeamCity, Kubernetes, Grafana, RabbitMQ, CockroachDB

Software Architect

2021 - 2024
Nuvei
  • Led an R&D initiative to build a distributed payment notification system prototype from scratch using Microsoft Orleans without proper documentation—improving throughput by 25x—from 20 to 500 requests per second—through innovative architecture.
  • Led a monolith decomposition into microservices, focusing on transaction blacklist detection for anti-terrorism compliance.
  • Wrote integration and unit tests for payment operations, such as refunds, payments, payouts, and disputes, covering all business scenarios.
Technologies: C#.NET, Orleans, Azure, Azure DevOps, RabbitMQ, Apache Kafka, KSQL, xUnit, Moq, Task Parallel Library (TPL)

Senior C# Software Engineer

2019 - 2021
TransPerfect
  • Architected, developed, and sent into production the back end for a web-based text editor with optical character recognition, real-time translation, and multiple real-time user session capabilities.
  • Conducted stakeholder meetings, including with VP-level staff, gathered technical requirements, and wrote technical documentation.
  • Trained QA engineers on testing the solution, performed coaching sessions for junior developers, and conducted ramp-up meetings.
Technologies: C#.NET, RabbitMQ, WebSockets, SQL, ASP.NET Core, Redis Pub/Sub

Software Engineer

2018 - 2019
Orange
  • Developed a distributed computer shutdown system for all Orange employee computers. The system had one server and Windows services running on all computers.
  • Built the back and front ends of an SMS campaign system for running SMS campaigns for Orange customers. The front end was done in Blazor.
  • Created a custom Redis library supporting batch transactions and asynchronous operations. Performed unit and integration tests in single-threaded and multithreaded environments.
Technologies: C#.NET, Blazor, Redis, SQL, Docker, RabbitMQ

Systems Engineer

2017 - 2017
Indas Tech
  • Developed a SCADA/HMI desktop app for a railway section testing machine. The app could plot real-time data from the programmable logic controller (PLC) via sensors, store data in an SQLite database, and generate reports.
  • Performed factory acceptance tests at the client's site and coached operators on how to use human-machine interface (HMI) desktop apps to control industrial processes.
  • Upgraded the welding machine HMI app to support new features like fetching data from multiple PLCs and supporting custom reports.
Technologies: C#.NET, C#.NET WinForms, OPC Data Access, Allen-Bradley PLCs, Siemens PLC, RSLogix, Serial Communication, SCADA

Experience

Real-time Chat Server

https://github.com/sanzor/AdiChat
A full-fledged chat web application, including web UI, server, and database integration.

The server side is built using Erlang/OTP with the Nova Framework. Persistence is done using PostgreSQL, and I built the web UI using plain JavaScript.

The chat application supports:
• User subscriptions to multiple channels.
• Multiple sessions for the same user.
• Fault tolerance load balancing, with the application distributed across multiple nodes.

Audio Player Media Platform

https://github.com/sanzor/audio-dsp
Developed an audio player media platform, where users can upload, listen to, manage, transform, and change audio files (currently only supporting WAV format). The platform can work as a command-line interface (CLI) with a read-eval-print loop (REPL) and as a web server using Actix actors.

Ctesiphon Chat

https://github.com/sanzor/Ctesiphon
Built a real-time chat server that supports multiple devices and multiple subscribed chat rooms per client. I used C#.NET on the server, WebSockets as the communication protocol, and Redis Pub/Sub for broadcasting messages to subscribed clients.

Oituz – WebRTC (SFU) Erlang native framework

https://github.com/Oituz/Signalling
Developed a native WebRTC framework in Erlang supporting signaling and orchestration components for a selective forward unit broadcasting strategy. The server is written in Erlang, and each connected client gets a session where they can negotiate their streaming and receiving capabilities.

Education

2016 - 2018

Master's Degree in Real-time Systems Control

Politehnica University of Bucharest - Bucharest, Romania

2012 - 2016

Bachelor's Degree in Systems Engineering

Politehnica University of Bucharest - Bucharest, Romania

Skills

Libraries/APIs

Task Parallel Library (TPL), Reactive Extensions, Moq, Tokio, WebRTC

Tools

RabbitMQ, Visual Studio, C#.NET WinForms, TeamCity, Grafana, xUnit, Siemens PLC

Languages

C#.NET, Erlang (OTP), Python, Python 3, Rust, JavaScript, C#, SQL, Erlang

Paradigms

Actor Model, Functional Programming, Actor Programming, Reactive Programming, Real-time Systems, Azure DevOps, Redis Pub/Sub

Storage

Redis, CockroachDB

Frameworks

Orleans, Blazor WebAssembly, TIA Portal, Windows Presentation Foundation (WPF), ASP.NET Core, Blazor

Platforms

Temporal Cloud, Visual Studio Code (VS Code), Docker, Kubernetes, Azure, Apache Kafka, Music Streaming

Other

WebSockets, Domain-driven Design (DDD), Supervisory Control & Data Acquisition (SCADA), Distributed Systems, Electronics, Industrial Automation, Clang, PID Controllers, Windows Subsystem for Linux (WSL), OPC Data Access, RSLogix, KSQL, Actix Web, Allen-Bradley PLCs, Serial Communication, SCADA, Streaming

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