~$ cat about.md
John Mikael Lindbakk
John Mikael Lindbakk
Software developer // 10+ years // Norway

I build robust and maintainable software. I care about architecture that can evolve, teams that can sustain a pace, and code that the next person can actually read.

// what_i_focus_on

  • > architecture

    Add complexity only when you need it. Modular monoliths, event-driven systems, DDD — whatever fits. The goal is systems that evolve with the business instead of fighting it.

  • > engineering_culture

    Teams that own their work, learn from failures, and prioritize long-term health over quick fixes. Transparency and experimentation over process theater.

  • > leadership

    Servant leadership. Unblock people, don't dictate solutions. The developers in the trenches usually know best — help them get there faster.

  • > delivery

    Small increments, continuous forecasting, direct communication with stakeholders. No big-bang releases. Ship early, get feedback, adjust.

// speaking

Feb 2026 · Aberystwyth University
My advice to CompSci graduates

Here I shared advice for graduates touching on AI, automated testing, legacy code, and the importance of understanding practical implementations of theory and concepts.

Feb 2026 · Gleam Gathering
Riding the Sour Train: Building surtoget.no with Gleam

A two-part talk: first on how technical skills can help shed light on real-world societal problems — using surtoget.no as a case study — then on driving correctness through the type system.

Sept 2024 · JavaZone
Modern testing — Test more and better with less friction

On writing testable systems and what testability actually means in practice. Demonstrated different approaches to automated testing, including contract and approval testing.

~/toolbox
  • Ruby on Rails
  • Phoenix
  • Pandas
  • JSON Schema
  • Google Cloud
  • Testcontainers
  • OpenAPI
  • Lua
  • Kibana
  • Clojure
  • Gatling
  • C
  • JavaScript
  • Openshift
  • Spring Cloud
  • Renovate
  • OpenTelemetry
  • Kubernetes
  • TypeScript
  • Docker
  • WordPress
  • React
  • Kotlin
  • SQLite
  • Soap
  • ApprovalTests
  • Cucumber
  • Qt
  • Python
  • Grafana
  • PostgreSQL
  • JUnit
  • Redis
  • DevExpress
  • MSSQL
  • Azure
  • Datadog
  • Jooby
  • Cpp
  • Protobuf
  • Github
  • SSH
  • Java
  • ActiveMQ
  • CSharp
  • jQuery
  • SignalR
  • Elixir
  • PHP
  • Spring Boot
  • GitLab
  • Teamcity
  • Jenkins
  • Elasticsearch
  • H2 Database
  • Big Data
  • gRPC
  • Sentry
  • OPA
  • Mongock
  • .NET Framework
  • Azure DevOps
  • Groovy
  • Fly.io
  • Bash
  • ClojureScript
  • Simple Analytics
  • Gleam
  • Kafka
  • Subversion
  • Tailwind CSS
  • Bitbucket
  • FitNesse
  • Spock
  • Neovim
  • Avro
  • MongoDB
  • ArchUnit
  • Django
  • Flyway
  • Dependabot
  • Oracle SQL
  • Raspberry Pi
  • Git
  • Gemini
  • Pact
  • Heroku
  • Hazelcast
  • Electron
  • Sonar
  • Playwright
  • Ruby on Rails
  • Phoenix
  • Pandas
  • JSON Schema
  • Google Cloud
  • Testcontainers
  • OpenAPI
  • Lua
  • Kibana
  • Clojure
  • Gatling
  • C
  • JavaScript
  • Openshift
  • Spring Cloud
  • Renovate
  • OpenTelemetry
  • Kubernetes
  • TypeScript
  • Docker
  • WordPress
  • React
  • Kotlin
  • SQLite
  • Soap
  • ApprovalTests
  • Cucumber
  • Qt
  • Python
  • Grafana
  • PostgreSQL
  • JUnit
  • Redis
  • DevExpress
  • MSSQL
  • Azure
  • Datadog
  • Jooby
  • Cpp
  • Protobuf
  • Github
  • SSH
  • Java
  • ActiveMQ
  • CSharp
  • jQuery
  • SignalR
  • Elixir
  • PHP
  • Spring Boot
  • GitLab
  • Teamcity
  • Jenkins
  • Elasticsearch
  • H2 Database
  • Big Data
  • gRPC
  • Sentry
  • OPA
  • Mongock
  • .NET Framework
  • Azure DevOps
  • Groovy
  • Fly.io
  • Bash
  • ClojureScript
  • Simple Analytics
  • Gleam
  • Kafka
  • Subversion
  • Tailwind CSS
  • Bitbucket
  • FitNesse
  • Spock
  • Neovim
  • Avro
  • MongoDB
  • ArchUnit
  • Django
  • Flyway
  • Dependabot
  • Oracle SQL
  • Raspberry Pi
  • Git
  • Gemini
  • Pact
  • Heroku
  • Hazelcast
  • Electron
  • Sonar
  • Playwright

// off_the_clock

dungeon_master
dungeon_master

Beyond the screen, I craft immersive worlds and intricate narratives as a Dungeon Master. It's where my love for storytelling, problem-solving, and collaborative creativity truly shines, bringing epic adventures to life for my friends.

headphones
headphones

My pursuit of perfect sound extends to a passion for high-fidelity audio gear. I love exploring the nuances of sound through quality headphones, DACs, and amplifiers, always seeking new ways to experience music in its purest form.

retro_gaming
retro_gaming

I'm a dedicated retro gaming enthusiast, preserving and enjoying the classics that shaped the industry. There's a unique charm in revisiting pixelated worlds and mastering timeless mechanics, a true homage to gaming's golden age.

dad
dad

My greatest joy comes from my three wonderful children. They bring immense happiness and purpose to my life, and I cherish every moment with them. Guiding them and watching them grow is the most fulfilling adventure of all.