Skip to content

Heimir Thor Sverrisson: Architecture First, Tech Debt Second

March 18, 2025 · 41 min

Show notes

Heimir Thor Sverrisson joins Robby to discuss the importance of software architecture in long-term maintainability. With over four decades in the industry, Heimir has witnessed firsthand how poor architectural decisions can set teams up for failure. He shares his experiences mentoring engineers, tackling technical debt, and solving large-scale performance problems—including one bank’s misguided attempt to fix system slowness by simply adding more CPUs.

Heimir also discusses his work at MojoTech, the value of code reviews in consulting, and his volunteer efforts designing radiation-tolerant software for satellites.

Episode Highlights
  • [00:01:12] Why architecture is the foundation of maintainability – Heimir explains why starting with the wrong architecture dooms software projects.
  • [00:02:20] Upfront design vs. agile methodologies – The tension between planning and iterative development.
  • [00:03:33] When architecture becomes the problem – How business pivots can render initial designs obsolete.
  • [00:05:06] The rising demand for rapid software delivery – Why modern projects have less time for deep architectural planning.
  • [00:06:15] Defining technical debt in practical terms – How to clean up code without waiting for permission.
  • [00:09:56] The rewrite that never launched – What happens when a company cancels a multi-million-dollar software project.
  • [00:12:43] How a major bank tackled system slowness the wrong way – Adding CPUs didn’t solve their performance problems.
  • [00:15:00] Performance tuning as an ongoing process – Why fixing one bottleneck only reveals the next.
  • [00:22:34] How MojoTech mentors instead of manages – Heimir explains how their consultancy approaches team development.
  • [00:27:54] Building software for space – How AMSAT develops radiation-resistant software for satellites.
  • [00:32:52] Staying relevant after four decades in tech – The power of curiosity in a constantly changing industry.
  • [00:34:26] How AI might (or might not) help maintainable software – Heimir shares his cautious optimism.
  • [00:37:14] Non-technical book recommendation – The Man Who Broke Capitalism and its relevance to the tech industry.
Resources & LinksBook Recmmendations🍇 Thanks to Our Sponsor!

Jelly is the simplest, most affordable way to deal with your “contact@...” emails.

Tired of sharing an email login, or CCing colleagues to loop them into conversations? Terrified by the dizzying total cost of big-name “customer support” tools? Jelly is the answer. Whether it's for customer support, community organizing, or even managing band emails, Jelly helps your team share an email inbox and manage your conversations in a simple, elegant way. Use the "I got this” feature to communicate responsibility and private comments for internal discussions. Jelly is perfect for small teams — because it was built by a small team. And Jelly is actually affordable —team-based pricing means everyone can pitch in with your team’s conversations with customers, clients, and beyond.

Bonus for Maintainable listeners Get 20% off your first year at letsjelly.com/maintainable.

💡 Enjoyed this episode? Share it with someone who cares about maintainable architecture and technical debt management!

Every episode leaves good material on the cutting room floor. The Maintainable newsletter is where it goes, along with past episodes worth another listen. Join here: maintainable.fm/newsletter

All episodes of Maintainable

Settings

Display

Language

Decides which stations you see first on the home page.

History

Recently played stations and episodes and your latest searches are only stored in this browser.

Notifications

A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

Account

Save favorites – in the app and on the website.

Keyboard shortcuts

/
Open search
Space
Play or pause
← →
In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
↑ ↓
In a row: target within the tile
Home / End
In a row: first or last tile
Esc
Close window or menu
?
This overview
Now playing

Go to station page

Play next

    Add episodes with “Play next” – they play after the current episode.