
Adrian Bercovici
Verified Expert in Engineering
Software Architect and Developer
Bucharest, Romania
Toptal member since June 13, 2025
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
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
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.
Software Architect
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.
Senior C# Software Engineer
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.
Software Engineer
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.
Systems Engineer
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.
Experience
Real-time Chat Server
https://github.com/sanzor/AdiChatThe 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-dspCtesiphon Chat
https://github.com/sanzor/CtesiphonOituz – WebRTC (SFU) Erlang native framework
https://github.com/Oituz/SignallingEducation
Master's Degree in Real-time Systems Control
Politehnica University of Bucharest - Bucharest, Romania
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring