January 5, 2020

Seven secrets of maintainable codebases


Adam Tornhill, developer and author of some books, including Your Code as a Crime Scene


I really believe that fun is a amazing driver for overcoming challenges. I can say for myself, I programmed in Python for 3 years and I had never read any book specific for learning its dialect.

I learned by practice with mentors, good ones, but my motivation was not at all towards the language itself. During that time, I played around with Elisp, SML, Ruby, Scheme, Scala, Golang and some others. But never made a serious committement to it.

Clojure on the other side, I am two years in a row digging it deep and I feel that I just started.


  1. Maintainable code goes beyond technology

  2. All code is equal, but some Code is more equal than others

  3. Complexity isn’t the problem

  4. Your brain is not your friend

  5. Know your change patterns

  6. Organization problems are mistaken as technical issues

  7. Find your bling spots

  8. Make it fun

You don’t see wich your eyes, you see with your brain.

People complaining a lot most of time are biasing some decisions of what is going on for real

Temporal coupling: Code that changes together over time. It is measured from the evolution of your code, not by dependency inside the code.

The number of developers touching the same code, is a good measure about quality problems

Immutable design: when many people working in parallel in the same code, therefore you can’t change it.

Fun is virtually a guarantee that things gets done!


  1. You need a holistic view of the system

  2. PLEASE, support your decisions with data

  3. In Microservices, loose coupling is king

  4. I picked Clojure because I wanted to learn a language. It looked fun!

Tags: software maintainability