I am specialized in backend
development, distributed systems and
I have extensive experience in designing and implementing resilient, responsive, scalable and maintainable systems.
I love challenges, learning and sharing. Last but not least, I am also an open-source enthusiast.
Languages: 🇬🇧 🇫🇷
I am interested in complex projects facing technical challenges such as
low-latency/high-throughput, scalability, data consistency, etc.
My main programming language has been Go since 2017.
I enjoy writing pragmatic, clean and maintainable code (or at least finding the right balance).
Software engineer on the company's communication platform:
• Proposition, design, and implementation of the v2 (moving from a distributed monolith to a microservice architecture)
• Development quality & testing improvements
Result: Average latency reduced by +90%, elastic architecture, resiliency improvements
Environment: Go, NATS, gRPC, CockroachDB, etcd, Redis, Elasticsearch, Prometheus, Jaeger, Docker, Kubernetes, AWS
• Proposition, design, and implementation of a safety-critical
flight data repository based on CQRS and Event Sourcing
Main challenges: concurrent accesses, responsiveness, resiliency
Result: Repository deployed and used by the Swiss air traffic control center (blog post)
Environment: Java, Spring Boot, Axon, Elasticsearch, Event Store, CQRS, Event Sourcing
• Lead developer of a migration project from a monolith to a microservice architecture
Result: Project & business scoping (event storming workshops), technical stack evaluation, development of the first microservices (e.g. flight trajectory prediction)
Environment: Go, Kafka, Elasticsearch, Travis, Docker, Kubernetes
• Member of the Integration Design Authority: expertise and
support to the different entities of Axa Group
• Leader of the Axa integration framework: distributed caching, NoSQL connector, reactive library, monitoring, etc.
Result: Delivery of the new major version to Axa Group entities
Environment: Java, Vert.x, Couchbase, Hazelcast, Elasticsearch, Docker, webMethods
• 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
Software developer then technical leader (8 developers)
Result: Industrialization and improvement of the quality
Environment: Java, webMethods, Jenkins
I enjoy writing (~40 posts published). Here are some examples:
I designed and implemented a system based on CQRS and Event Sourcing principles. This post was my one-year anniversary on the project.
This post is my list of the most common mistakes I’ve seen in Go projects (pointers, error management, Go contexts, etc.).
A deep dive into the synchronization primitives from the Go sync package: Mutex, RWMutex,
WaitGroup, Map, Pool, Once &
An implementation of the merge sort algorithm using Go. It's a way to dive in the concurrency primitives of the language.
Understanding the principles of LMAX Disruptor, an inter-threads communication library.
An overview of the Scala programming languages in 10 minutes: types, methods/functions, closures, classes, objects, traits, etc.
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.
A post to describe why, in my opinion, a unified data model is a bad approach for a company.
Find out more on medium.com/@teivah
Project leader of the v2
Helping the developers in preparing their algorithmic & data structure interview.
Find out more on github.com/teivah
I am available on Codementor (an online platform providing instant one-on-one help for software developers) if you need some help 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."