Teiva Harsanyi

Senior Software Engineer

About Me

I'm a software engineer specialized in backend development and distributed systems.

I have extensive experience in designing and implementing resilient, responsive, scalable and maintainable systems.

I love learning, sharing and facing challenges. Last but not least, I am also an open-source enthusiast.

Main interests:
• Clean code 🧽
• Reliability 🧱
• Performance / Scalability ⚡
• Observability 👀

Languages: Go, Rust, Java

Spoken languages: 🇬🇧 🇫🇷


Beat - Remote 🌍

Staff Engineer

Staff engineer in the matching domain (matching driver/passenger):
• Design, implementation, and operation of critical services with a strong focus on reliability, observability, and performance
• Reliability advocacy: SLO and reliability experimentations

Result: Delivery of new company-critical features, quality & reliability improvements

Environment: Go, Java, Kafka, Mongo, MQTT, Prometheus, Jaeger, Kubernetes, AWS

Utility Warehouse - London 🇬🇧

Senior Software Engineer

Migration of a distributed monolith platform (customer communication) to microservices:
• Proposition, design, and implementation of the v2
• Focus on improving development quality & testing coverage (from unit to end-to-end tests)
• Observability improvements: business monitoring with Elasticsearch and distributed tracing with Jaeger
• SLA: SLO definition, SLI development, dashboards & alerting using Prometheus/Grafana

Result: Average latency reduced by +90%, elastic architecture, resiliency improvements

Environment: Go, NATS, gRPC, CockroachDB, etcd, Elasticsearch, Prometheus, Jaeger, Docker, Kubernetes, AWS

SkySoft-ATM - Geneva 🇨🇭

Software Engineer

• Lead developer on the migration of the company's monolith to microservices

Result: Project & business scoping (event storming, DDD), technical stack evaluation, development of the first microservices (e.g. flight trajectory prediction)

Environment: Go, Scala, DDD, Kafka, Elasticsearch, Travis, Docker, Kubernetes

• Proposition, design, and implementation of a safety-critical flight data repository based on CQRS and Event Sourcing
Main challenges: concurrency, responsiveness, resiliency

Result: Repository deployed and used by the Swiss air traffic control center (blog post)

Environment: Java, Spring Boot, Axon, CQRS, Event Sourcing, Elasticsearch, Event Store

Axa - Paris 🇫🇷

Integration Architect

As a member of the Integration Design Authority:
• Expertise and support to different entities of Axa Group (Asia & Europe)
• Leader of the Axa integration framework: distributed caching, NoSQL connector, concurrency implementation library, monitoring, etc.

Result: Delivery of the new major version to Axa Group entities

Environment: Java, Vert.x, Couchbase, Hazelcast, ELK, Docker

Airbus Helicopters - Marseille 🇫🇷

Integration Technical Leader

• Technical leader of the Integration Competency Center
• Technical manager of multiple SOA projects

Result: The company became the most mature entity of Airbus Group in regards of its integration platform

Environment: Java, TIBCO platform, Informatica Data Quality, Jenkins

Atos - Toulouse 🇫🇷

Software Engineer

Software developer then technical leader of the development team (8 developers)

Result: Industrialization and improvement of the deliverable quality

Environment: Java, Jenkins


I'm currently writing a book with Manning that will be published in 2022: 100 Go Mistakes

The book’s main idea is to list 100 of the most common mistakes made by Go developers in various aspects of the language. Each mistake will be illustrated as far as possible with real-life examples. It should help Go developers in working smarter, not harder.

Meanwhile, I enjoy writing on my blog (+40 posts). Here are some examples:

1 Year of Event Sourcing and CQRS

I designed and implemented a system based on CQRS and Event Sourcing principles. This post was my one-year anniversary on the project.

Read on Medium

The Top 10 Most Common Mistakes I’ve Seen in Go Projects

This post is my list of the most common mistakes I’ve seen in Go projects (pointers, error management, Go contexts, etc.).

Read on Medium

Go and CPU Caches

How understanding the processor architecture can help us in optimizing performance?

Read on Medium

A Closer Look at Go’s sync Package

A deep dive into the synchronization primitives from the Go sync package: Mutex, RWMutex, WaitGroup, Map, Pool, Once & Cond.

Read on Medium

Parallel Merge Sort in Go

An implementation of the merge sort algorithm using Go. It's a way to dive in the concurrency primitives of the language.

Read on Medium

A 10-Minute Introduction to Scala

An overview of the Scala programming languages in 10 minutes: types, methods/functions, closures, classes, objects, traits, etc.

Read on Medium

Solving Algorithmic Problems: Find a Duplicate in an Array

Given an array of n + 1 integers between 1 and n, find one of the duplicates. If there are multiple possible answers, return one of the duplicates.

Read on Medium

Introducing Consistent Hashing

What is consistent hashing? How is it different from a standard hashing algorithm?

Read on Medium

Find out more on


Mechanical Sympathy in Go - GopherCon Turkey 2020

Open Source


3k ⭐

Reactive Extensions for the Go Language

Project leader

Algo Deck

3.9k ⭐

An open-source collection of +200 algorithmic cards

Helping developers in preparing their algorithmic & data structure interviews


+200 ⭐

An actor framework for Go

Porting some ideas from Akka into Go


+130 ⭐

Making a Go code example more idiomatic


+60 ⭐

Static bit vector structures for Go


+20 ⭐

A library to merge existing Go contexts


+20 ⭐

A RISC-V virtual processor, written in Rust


1 ⭐

A gRPC client-side load balancer in Go




I am available on Codementor, an online platform providing instant one-on-one help for software developers. I am working with engineers and students on the following topics:

"Fantastic engineer. Well spoken. Extremely helpful."
"Very knowledgable, smart guy with a very solid understanding of microservices and system design. Also very keen to help, clearly cares about doing a good job."
"Excellent engineer, extremely knowledgeable."
"Teiva is a really nice mentor. He solved my problems in few minutes and spent time with me to gave me additional explanations. His way of explaining things really appealed to me. I strongly advise Thanks you a lot."

Soft Skills

Technical Skills