About

I wrote my first line of code somewhere around 1995. It was a small BASIC program on a Commodore 64, and that was pretty much that — I've been hooked on computers ever since.

Around the year 2000 I found web development. Some HTML, some JavaScript, and I had my first webpage. It didn't take long before I wanted to do more than the browser could give me, so server-side technologies came into the picture. And that's roughly where I've been ever since — twenty-odd years of building and running the systems behind online businesses, from checkout and payment integrations to the Kubernetes clusters they run on.

What I do

These days most of my work lives between backend development and the platform the backend runs on. Kubernetes and OpenShift, CI/CD, GitOps, containerization, identity (OIDC, OAuth 2, SSO), multi-cloud on AWS, Azure and GCP, and a good amount of observability — Prometheus, Grafana, Loki, Mimir, Tempo, OpenTelemetry.

That shift makes more sense than it might sound. Building a platform other teams deploy to is the same thing I've always liked doing: taking something apart to see how it actually works, then making it work better for the people using it.

I still write plenty of code. Most of it is Go nowadays — REST APIs, Kubernetes-native services and open-source tooling. C#/.NET and PHP/Laravel are home ground after two decades, Python is an old friend, and I'll happily go frontend (React, TypeScript) when a project needs it.

I like the whole process — from sketch to delivery, watching an application grow. I like challenges, I like digging in, and I'm a firm believer in KISS (keep it simple, stupid). Pragmatic and production-first: test-driven development, CI/CD and maintainability are the standard, and I'd rather ship a solid, well-understood solution than chase the newest trend. I treat AI tooling the same way — a multiplier for engineers, not a replacement for judgment. Mostly I do this because I enjoy it, and because there's always something new to learn.

Currently working as Senior Software Engineer – Platform Engineering (Go, Kubernetes) for:

Stakater AB since May 2025

Stakater is a Kubernetes enablement company. I advise enterprise clients on Kubernetes and OpenShift — platform architecture, CI/CD pipeline design, OIDC-based identity integration and container-platform design across AWS, Azure and GCP — while building Stakater's products in Go and maintaining the open-source tools the wider community uses, such as Multi-Tenant Operator and Reloader.

Where I've worked

The short version, newest first:

Things I've built

Over the years a lot of my work has been integrations and e-commerce — the unglamorous plumbing that makes a business actually run:

I'm also partner and lead engineer for Nöjestorget, Sweden's oldest entertainment agency. I designed and built the platform the business runs on back in 2008 and have owned it end to end ever since — architecture, code, servers, CI/CD and technical roadmap. Going on eighteen years now.

Tools of the trade

This list keeps getting longer, which is half the fun. The things I reach for most often:

Languages: Go, C#, PHP, Python, TypeScript/JavaScript, Bash, C/C++, Lua, SQL

Frameworks: .NET / .NET Core, Blazor, Laravel, Symfony, Slim, CodeIgniter, React, Vue, Svelte, Bootstrap, Bulma, Tailwind

Platform & infra: Kubernetes, OpenShift, Docker, Helm, Argo CD, Terraform, Bicep, Ansible, GitHub Actions, Azure DevOps, VMware vSphere, Linux

Cloud: AWS, Azure, GCP

Observability: OpenTelemetry, Prometheus, Grafana, Loki, Mimir, Tempo, OpenCost

Databases: MySQL/MariaDB, PostgreSQL, SQL Server, FileMaker

Ways of working: Git (and Subversion, back in the day), TDD, BDD, CI/CD, Jira

And yes — HTML/HTML5 and CSS/SCSS/SASS go without saying.


I know my way around Windows, Linux and macOS.

Based in Sweden, working remotely across EU time zones. Open to senior software engineer, platform engineer, DevOps and cloud engineering roles — and always happy to talk platforms, e-commerce or Go.

Languages I speak:

Education:

Driver's license: B (private car)