Hi, I’m Johan.

I’m a Senior Backend Software Engineer from Johannesburg, South Africa, with more than 20 years of experience designing and building backend systems. My primary languages are Kotlin and Java, and I enjoy creating software that is simple, reliable and easy to maintain.

Throughout my career I’ve worked in product development, consulting and enterprise environments, helping teams deliver systems that solve real business problems. While I enjoy learning new technologies, I believe good software is driven more by sound engineering principles than by frameworks or trends.

My Approach

I value simplicity over cleverness.

Good software should be easy to understand, easy to change and resilient in production. I enjoy breaking complex problems into small, composable pieces and applying ideas from functional programming where they improve readability and correctness.

Topics that particularly interest me include:

  • Kotlin and Java
  • Functional Programming
  • Software Architecture
  • Domain-Driven Design
  • PostgreSQL
  • Distributed Systems
  • Linux
  • Cloud Infrastructure

Current Focus

Outside of work I’m building Arventis, a personal knowledge management platform written in Kotlin using http4k and PostgreSQL.

The project gives me an opportunity to explore ideas around clean architecture, functional programming, search, automation and long-term software maintainability.

I also enjoy experimenting with languages such as OCaml and learning different ways to model software.

Beyond Software

When I’m not programming you’ll usually find me exploring Linux, reading about software architecture, or writing about what I’ve learned through real-world projects.

I believe the best engineers never stop learning, and this site is where I share that journey.