About bits and atoms

Software engineer living in Denmark with a background in the game industry. Working on the transition to sustainable freight ðŸšš. Fan of building fast software, databases, and all things open source. Extensive knowledge of Go, scaling, the web, and getting products to launch.

Things I've worked on

I'm a big fan of Go. Do you remember the slightly awkward Go programming language promo from 2009? The one where Russ Cox compiles the Go source code and times it. It got me hooked. A few months later, I used Go to demonstrate a concurrency concept in a college paper. Before this, I wrote C for toy robots and school projects — and had picked up Python for work. Go was a fresh breath of air. It had the right abstractions, felt lightweight and easy.

An open-source database client for Redis was one of the first larger projects I worked on in Go. Redis has this fun text-based protocol. You can send a command to a socket, and Redis will return the contents of some data or mutate its state. The project taught me how to write performance-conscious code and how to use Go's profiling analysis tools.

I've primarily written Go professionally since 2012. As part of a gaming startup, I wrote our performance-critical and standalone services in Go. Together with Michael, Christian, and Jacob, we grew the business to millions of users with peaks in weekends and holidays. This reinforced my belief in simple, solid, and performant solutions. The monetization model meant we had many users and low conversion rates. I built solutions to reduce operating costs — such as scaling on commoditized hardware and building our own content delivery system.

With Oliver and Niels, I worked for a few years on GameClub. We focused on homogeneous solutions and automation to scale with a small team. Eli ensured we had a back catalog of over one hundred iOS and Android titles that we updated to run on modern iPhone and Android devices. I built network servers in Go and tooling for automation to support developing and publishing such a breadth of mobile apps.

These days I'm working at a small logistics company, leading a Postgres-backed project we've been building for the past couple of years. It's grown into a substantial codebase with hundreds of Go files. I've enjoyed the challenges of designing a system that balances performance needs while helping the company move toward more sustainable freight solutions. The project has let me dive deep into relational databases, which has been a nice change from my earlier work with event-sourced systems.

Technical focus areas

I'm currently exploring database internals, B+trees, and storage engines to better understand the core systems that power modern applications. My notes on database systems reflect this ongoing research.

Performance optimization is another key interest, from debugging regressions to designing systems that scale efficiently. I've worked extensively with Go's profiling tools and applied these insights to build more resilient systems.

AI and software development has become a key interest of mine. I'm exploring how these tools can enhance programming productivity without replacing core engineering skills. The optimal approach seems to be using AI as a thoughtful assistant—augmenting human judgment with AI's speed and breadth of knowledge—while maintaining the critical thinking that leads to high-quality software design and implementation.

Tinkering and projects

I love to explore technologies that challenge the expectation of how we build software today. My current focus is on databases, to become better at understanding possibilities with the tools that stand at the core of most businesses today.

  • Tiger Style: A website that outlines the core principles of Tiger Style, a coding philosophy focused on safety, performance, and developer experience. 2024
  • Color system: A web app to build color systems, inspired by Lyft's ColorBox.io project. Implemented in Vue.js. 2019
  • Chat: A prototype chat system with support for member channels and direct messages. Implemented with NATS.io streaming server, Go, and JavaScript. 2018
  • Redis client for Go: Open-source database client for Redis in Go. 2011
  • Self-balancing robot: A two-wheeled autonomous self-balancing robot. 2009

Specialties

My roles have involved working directly with senior executives, across multiple sectors, on product development, launch, and growing the business from a few hundred customers to millions.

  • Backend development: Go, Python, microservices, and API design
  • Databases: PostgreSQL, MySQL, Redis, MongoDB, SQLite
  • Infrastructure: Linux, containers, CI/CD, cloud services
  • Architecture: Event-driven systems, distributed applications
  • Performance: Optimization, profiling, scaling

Passionate about sustainability for the software I build and teams I'm part of.

CONTACT

Occasionally, I share code on GitHub. I once created a Twitter account, but nowadays you'll find me on Bluesky. You can find my work history on LinkedIn.

Write me …