Work Experience Story Contact
LinkedIn GitHub
About

The longer version.

When critical Java systems start failing under real production load (race conditions, deadlocks, thread pools collapsing), I’m the engineer who gets called in. For 14+ years I’ve taken backends that are not allowed to go down and turned them into stable, high-performance platforms.

I own the technical concept and architecture from day one. I take a system apart until every critical path is clear, then redesign the parts that matter under real traffic: virtual threads, reactive flows, executor tuning, the race conditions that only show up in production. I profile, measure and fix with evidence, not assumptions.

That ownership runs through the whole pipeline. I set the testing and code-review standards my teams work to (JUnit, Testcontainers, SonarQube) and treat delivery and operational health as part of the job, not an afterthought.

Earlier in my career, I worked on smart home backends, handling tens of thousands of telemetry readings a day from thousands of devices. Today I work on Azure and Kubernetes at SMS GmbH, hybrid from Berlin, where my scope keeps growing into DevOps, frontend and mobile, because understanding the whole system is the fastest way to better architecture calls.

Experience

Every role, in detail.

  1. JAN 2024 — NOW
    SMS GmbH · Germany, hybrid

    Senior Software Engineer · Java, Frontend, Mobile & DevOps

    • Own the technical concept and architecture direction for a large distributed backend platform, from first design through production operation.
    • Cut latency on critical data paths by up to 60%: profiled the hot paths in Java 21 and Spring Boot 3, redesigned indexes, and rebuilt the paths that fell over under load spikes.
    • Built the team’s observability: dashboards and alerting across the distributed backend, so on-call catches a degrading service before customers feel it.
    • Set the team’s code-review and automated-testing standard on JUnit, Testcontainers and SonarQube.
    • Mentored more than 10 engineers over the years, from students to senior developers, through code review, pairing and 1-on-1s, and wrote up the architectural trade-offs behind our decisions so they didn’t get lost when people moved on.
    • Established how the team works with AI safely and productively: usage guidelines that keep proprietary code and customer data out of external models, and internal workshops that moved engineers from ad-hoc prompting to reviewable, repeatable everyday use.
    Java 21 · Spring Boot 3 · RabbitMQ · Kubernetes · PostgreSQL · Redis · Azure · Jenkins · Docker · Grafana · Prometheus
  2. AUG 2026 — NOW
    websitehaus.de · Berlin, alongside SMS GmbH

    Founder

    • Web design and app development for small businesses. I own the whole process solo, from the first client conversation through concept and build to launch.
    • Design and build the website, and deliver a native app when a business needs more than a responsive site: Android in Kotlin, iOS in Swift.
    • Built the backend behind a restaurant client’s QR-code table ordering, holding the menu catalogue and the incoming table orders.
    Web design · Kotlin · Swift · REST APIs
  3. MAR 2019 — JAN 2024
    SMS GmbH · Dresden, on-site

    Senior Java Software Engineer

    • Built and maintained backend services across a distributed, microservice-based platform, applying Domain-Driven Design and Clean Architecture so services stayed independently deployable as the platform grew.
    • Reworked the async processing layer with Java 21 virtual threads and Spring WebFlux: around 30% more throughput, from 8,000 to 10,500 requests per minute, with no extra infrastructure.
    • Cut system latency by a considerable margin through JVM profiling and targeted rewrites of the slowest request paths.
    • Drove the performance work with load tests in Gatling and JMeter: reproduced the traffic spikes that were breaking components, rebuilt the ones that fell over, and confirmed each gain under the same load before it shipped.
    Java · Spring Boot · Spring WebFlux · RabbitMQ · Kubernetes · PostgreSQL · Redis · Azure · Gatling · JMeter
  4. FEB 2016 — JAN 2019
    Hooshmand Sazan Company · on-site

    Senior Java Software Engineer

    • Owned service design for a backend team of around 10 engineers.
    • Built the backend for a smart home platform running in roughly 100 homes: thermostats, lighting and sensors reporting over MQTT, each device authenticated by its own mTLS certificate so a cloned or stolen device could not join the fleet.
    • Bridged device readings from MQTT onto Kafka topics, so downstream services consumed a single event stream instead of talking to the device broker directly.
    • Centralised the service logs in one Elasticsearch cluster, so a failing device or service could be traced across the whole pipeline instead of one log file at a time.
    • Wrote the load-test scenarios for the telemetry pipeline in Gatling and JMeter, modelling thousands of devices reporting at once to size the ingest path before rollout.
    Java 8 · Spring Boot · MQTT · Kafka · mTLS · Elasticsearch · Gatling · JMeter · Microservices · SQL
  5. NOV 2014 — FEB 2016
    Hooshmand Sazan Company · on-site

    Junior Java Developer

    • Built backend features on Java 8 and Spring Boot, moving from small tickets to owning whole modules as the codebase became familiar.
    • Worked on smart home and home automation features, wiring up Bluetooth Low Energy sensors and event-driven logic so the system reacted to real-world triggers in real time.
    • Worked closely with frontend and QA colleagues to keep services robust and easy to integrate.
    • All of this alongside an M.Sc. in Artificial Intelligence at the University of Isfahan.
    Java 8 · Spring Boot · SQL
  6. FEB 2013 — OCT 2014
    Sepahan Institute · University of Isfahan

    Full-time study

    • Finished the B.Sc. in Computer Software Technology Engineering, then started the M.Sc. in Artificial Intelligence before going back to full-time work in November 2014.
  7. JAN 2012 — JAN 2013
    Apadana Company · on-site

    Junior Web Developer

    • Built server-side features for four enterprise web platforms in a small in-house team: role-based access control, real-time communication modules, and a booking platform serving around 100,000 users.
    • Owned the booking platform’s hard cases: the scheduling conflicts and double-booking bugs that only surface once real customers are on it.
    • Wrote the access-control logic deciding who could see and change what across all four platforms.
    Java · SQL · Web platforms
  8. FEB 2010 — MAY 2012
    Shahid Ashrafi Esfahani University · part-time

    Network Administrator

    • Maintained the campus-wide network infrastructure, keeping connectivity reliable for staff and students.
    • Handled troubleshooting, user support and system maintenance, part-time alongside my studies.
Education
M.Sc. Computer Engineering · Artificial IntelligenceUniversity of Isfahan · 2013 to 2016
B.Sc. Computer Software Technology Engineering (top-up after the Associate Degree)Sepahan Science & Technology Institute of Higher Education · 2011 to 2013
Associate Degree · Computer SoftwareShahid Mohajer Technical Institute of Isfahan · 2009 to 2011
Computer Science DiplomaMohammad Bagher High School · 2007 to 2009
Languages
  • PersianNative
  • EnglishFull professional
  • GermanProfessional working
My story

How I got here,
mistakes included.

Late nights in production, a move across continents, and a fully funded PhD I turned down. Pick a year.

Computer Software · Shahid Mohajer & Sepahan Institute

I had to know what was underneath

I got into computers because I couldn’t stand not knowing what sat underneath them. At school I stayed late writing programs that did nothing useful at all. The whole point was proving the machine would do exactly what I told it to, no more and no less. University was where that stubbornness turned into something someone would pay for.

I pushed my professors to put me on real projects instead of graded assignments. I was the student who stayed after class to ask whether I could help build something, not what would be on the exam. Outside of class I took every Java course and web design workshop I could get into, and squeezed in internships whenever someone would have me.

How I work

Five habits.

01

Architecture first

Every feature is an architectural decision, whether you treat it as one or not. The shape of the system comes before the first line of code.

02

Clarity over cleverness

Code is read far more often than it’s written, usually at 3am by someone who isn’t you. Optimise for that person.

03

Fast feedback loops

The sooner something tells you you’re wrong, the less it costs. That goes for CI pipelines, code review, and conversations between people.

04

Learn fast, then pass it on

Pick up an unfamiliar stack quickly, then bring the team along with it: share the technical concepts, not just the code.

05

Done means done

When a task lands with me, the person who gave it to me stops thinking about it. They hear from me before they have to ask.

Toolbox

The full list.

Backend

  • Java 21
  • Java 17
  • Spring Boot 3
  • Spring WebFlux
  • REST & OpenAPI
  • Microservices
  • Domain-Driven Design
  • Clean Architecture

Messaging & data

  • RabbitMQ
  • Kafka
  • MQTT
  • PostgreSQL
  • Redis
  • MongoDB
  • Elasticsearch

Cloud & DevOps

  • Azure
  • Kubernetes
  • Docker
  • Jenkins
  • CI/CD
  • Git
  • Grafana
  • Prometheus

Testing & quality

  • JUnit
  • Testcontainers
  • SonarQube
  • TDD
  • Code review
  • Agile & Scrum

Performance & reliability

  • Gatling
  • JMeter
  • Load & performance testing
  • JVM profiling
  • High-availability systems
  • Observability

Security

  • mTLS
  • PKI
  • Certificate management
  • Role-based access control

Frontend & mobile

  • Angular
  • HTML, CSS & JavaScript
  • Swift & SwiftUI
  • Kotlin
  • Jetpack Compose
  • Android

AI-assisted development

  • RAG
  • LLM integration
  • LM Studio
  • Ollama
  • MCP
  • AI guidelines for teams
Contact

Building software that has to work.

Open to senior backend roles in Berlin, hybrid or remote. Just as happy to talk distributed systems with no job attached.