Manifesto 4
August 2022

Understanding code

When you are junior it feels like writing code is your superpower, but as you age you realize that reading code is actually higher valued and a skill which is harder to learn.

When coding you’ll often get immersed into the business domain. Ideas will flow back and forth trough your head. You’ll be full of all kinds of different information. Different code paths you can take will appear. You’ll weigh pros and cons of each. And finally you will write your notes in a form of computer program.

On the other hand, when you read code, all you have are those notes. And to be precise notes are a bad word for it. Code is often just a bunch of instructions to a machine. Even if it’s code you’ve originally written, you won’t have access to all the background information. It’s hard to remember all the business domain decisions that went into writing that code. It’s even harder to backtrack from instructions all the way to why a certain path was taken.

Reading code is significantly different than reading a book. In book, if you miss a certain information, it will be repeated. However, in code we aim for DRY(don’t repeat yourself). Missing an information in code can cause us to misunderstood the whole point of program.

Reading code is actually easy. Understanding what was written and why is extremely hard. It simply requires an insane amount of mental effort to be understood.

Full quote

We’re programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We’re not excited by incremental renovation: tinkering, improving, planting flower beds. There’s a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong. The reason that they think the old code is such a mess is because of a cardinal, fundamental law of programming: It’s harder to read code than to write it.

Original quote

Link to original quote by Joel Spolsky - (keep in mind it is an article)

A ying yang style image of a junior programmer enthusiastically writing code, and senior programmer reading code being confused. There are 2 clocks in the image representing transition of junior to senior. Around the image there is a text saying it's harder to read code than write it.

About Illustration

We believe there is some fundamental truth in this quote. Because of that we wanted to do something special with illustration. Enhance the quote with more fundamental truths.

It is the perfect opportunity to subtly embed ying yang into the design. Make junior developer write code while senior reads it. If you look carefully you’ll also notice the depth of this illustration. It has 2 clocks in it. The junior is using modern clock while senior is using analog clock, they represent the time passing by and the dots in ying yang. Because with time every junior will eventually become senior. And every senior was once a junior.

Even though there is an age difference between junior and senior, each has a small part of other. With that in mind cherish and coach your junior colleagues. And if you’re a junior, try to respect senior colleagues who wrote the original code.

<< Programmer's dogs Our localhost >>
Latest Release
Released in September 2023

Clouds

Available by subscribing

Which of the popular clouds do you prefer? Are you an GCP or AWS type of guy?