Blog About me Projects Contact LinkedIn GitHub Impressum Datenschutz Get in touch
Senior Java Developer · Technical Lead

Ebi Rejali

Backend Engineering & Distributed Systems

12+ years designing and building Java backend systems — from early-career enterprise platforms to leading distributed architectures at scale. Based in Berlin. Here I write about what I've learned along the way.

From the blog

Writing about what works

Notes on things I'm learning, building, and tinkering with outside the day job.

Building a Java-based weather station: from sensor to dashboard

A cheap sensor, a weekend, and the language I already know well. Here's how a small IoT weather station taught me more about MQTT and event-driven design than any tutorial did.

About me

I build backend systems that don't break at 3am

I'm a Senior Java Developer & Technical Lead with 12+ years of experience building mission-critical backend systems. I hold technical leadership for the project — deciding on architecture and technical direction — and mentor and manage across different teams. My work spans complex, high-traffic domains — real-time data platforms, industrial IoT, and large-scale transportation systems.

I'm based in Berlin, Germany — working remotely as a Senior Java Developer at SMS GmbH, where I hold technical leadership for the project, deciding on architecture and technical direction, and mentor and manage across different teams. At different stages of my time there, I've also contributed to DevOps, mobile app, and frontend work.

Java 17/21Spring Boot 3 KafkaKubernetes PostgreSQLRedis AzureDDD Clean ArchitectureTDD
Senior Java Developer & Technical Lead
SMS GmbH · Jan 2019 – Present
Senior Java Engineer
Hooshmand Sazan · Nov 2014 – Jan 2019
Junior Web Developer
Apadana Company · Jan 2012 – Jan 2013
Education
M.Sc. Artificial Intelligence
University of Isfahan · 2013–2016
B.Eng. Software Engineering
Sepahan University · 2011–2013
Associate Degree · Software Engineering
Mohajer University · 2009–2011
Computer Science Diploma
Mohammad Bagher High School · 2007–2009
Ebi Rejali
My story

How I got here — the longer version

Universities, late nights debugging in production, a move across continents, and what keeps me building after all these years.

2007
Computer Science Diploma · High School

It started with a question

It started with a question I couldn't shake: how does the machine actually work? While classmates were learning to use software, I wanted to understand what was underneath it. At high school, studying Computer Science, I'd stay late writing programs that did nothing useful — just to see if I could make the machine do exactly what I wanted. That obsession never really went away.

I wasn't the kid who liked computers. I was the kid who needed to understand them completely — or it would drive me crazy.

2009
Software Engineering · Mohajer & Sepahan University

Obsessed at university

University wasn't just an education — it was a competition I entered fully. I won multiple programming championships and finished with the highest academic score in my faculty over the previous 10 years. But the scores and trophies weren't the real motivation. They were a side effect of being genuinely obsessed with the craft.

I pushed my professors to let me work on real projects. I wanted to write actual code that ran in the real world, not just assignments that got graded. I was the kind of student who'd stay after class not to ask about the exam, but to ask if I could contribute to something being built — something that would actually run and help people. Outside university, I took every Java course and web design workshop I could find. I did internships wherever I could, just to get my hands on real problems.

2012
Junior Developer · Apadana Company

First real code. First real consequences.

I joined Apadana Company as a Junior Web Developer. Fancy title for someone still figuring it out — but I loved every second of it. I built four enterprise web platforms almost from scratch: role-based access control systems, booking engines, real-time communication modules.

That's when I learned something no university course ever teaches: when a bug reaches production and real people hit it, you feel it in a completely different way than a failing unit test. There's no "undo". That pressure changed how I think about software permanently — get it right, not just working.

2014
Senior Engineer · M.Sc. AI · Hooshmand Sazan

From writing code to designing systems

I moved to Hooshmand Sazan Company as a Java Developer. The systems were bigger, the expectations higher, the senior engineers less forgiving. Exactly what I needed. I arrived as someone who could write code. I left as someone who could design systems — and understand why the design matters more than the code itself.

In parallel, I completed my M.Sc. in Artificial Intelligence at the University of Isfahan. Neural networks, machine learning, NLP, probabilistic reasoning — it didn't just add knowledge, it rewired how I think. When you study ML seriously, you stop seeing software as a deterministic machine and start seeing it as something that needs to be designed for uncertainty. That shift permanently influenced how I approach architecture.

When I finished, I was accepted to a PhD program with a full scholarship — tuition and living costs fully covered. I turned it down. Not because I didn't value research — I genuinely did — but I had spent enough time watching ideas stay as ideas. I wanted to build things that ran in production, that broke at 3am and needed fixing before morning. That's where I belonged.

2019
Senior Engineer · SMS GmbH · Dresden

Germany — because I needed the next challenge

I've always chased growth. And at some point, I looked honestly at where I was and felt I needed more — bigger systems, higher standards, a different level of challenge. I had decided I wanted to move abroad. Then SMS GmbH, based in Dresden, reached out.

They didn't just offer a job — they fully sponsored my relocation. Every step of the move was covered. I arrived, walked into the office, and within less than a week my probationary contract was converted to permanent. The team was genuinely surprised by the depth of knowledge I brought — I was able to analyse complex project problems and find solutions faster than anyone had expected. That set the tone for everything that followed.

Over the years at SMS, I designed distributed microservice architectures using Spring Boot 3.x, DDD, and Clean Architecture — powering platforms with 10,000+ daily users. I owned CI/CD pipelines end-to-end across Jenkins, Docker, and Kubernetes on Azure. I reduced system latency significantly through JVM profiling, and introduced engineering practices that actually stuck across the team: TDD, SonarQube, Testcontainers, structured code reviews.

2024
Technical Lead · SMS GmbH

Taking on technical leadership

In 2024, I took on technical leadership for the project at SMS GmbH — not a people-management title, but the role of deciding on architecture and technical direction. Alongside that, I mentor and manage across different teams. At different stages of my time at SMS, I've also contributed to DevOps, mobile app, and frontend work.

After 12 years, the platforms and tools have changed beyond recognition. But what still drives me is exactly the same as the student staying late in the university lab: understand how it works, then make it better than you found it.

This blog is part of that — lessons that cost time, decisions I'd make differently, and patterns that actually hold up in production. Written down so they're useful to someone else.

2025
Berlin, Germany

Berlin, and building things on the side

After several years working and living in Dresden, I moved to Berlin, where I continue working remotely for SMS GmbH.

Outside of work, I've shipped five small iOS apps to the App Store — Split Bills with Roommate, Stadtrundfahrt, Berlin Heute, Steuerbelege ordnen, and Shift Plan Reminder — plus personal websites like perserwich.de. Different stack, different constraints, same instinct to understand something by building it myself.

Berlin is a genuinely great city. Diverse, creative, always something happening. I'm still discovering it — and enjoying every bit of that.

🧱
Architecture first
Every feature is an architectural decision. Think about the shape of systems before writing the first line.
📖
Clarity over cleverness
Code is read far more than it's written. Optimize for the reader, not the author.
🔁
Fast feedback loops
Good engineering cultures give honest feedback — in CI pipelines, code review, and between humans.
Free time

Gym, designing apps, and building websites

Outside of work, I go to the gym, design iOS apps, and build websites. Here's what I've made on my own.

Designing apps
Building websites
Get in touch

Let's connect

Or reach me directly at hello@rejali.de