In the pure spirit of sharing, with his permission and zest, today’s post will be about the 11 Virtues of a Great Coder. (*) G. Servizi, one of my former-but-still-in-charge best mentors.
1 - Patience.
It’s necessary, in order to not lose oneself in front of a program that insists not to work.
2 - Logic.
It’s highly needful so that one writes functioning programs. [On the other hands, not everybody has it. Either one has it or one doesn’t, and, in particular, you cannot study it or get it through books.]
3 - Tenacity.
It’s needed, during a “bug hunt”, for not giving up until the bug has been flushed off. It’s clearly related to Patience.
Highly requested in order to never fall into contradictions when writing a code, and it’s the sister (on the father’s side) of Logic. It helps in having to appeal as little as possible to Patience and Tenacity.
5 - Memory.
It is required and needed to remind, whilst you’re writing the 80,000-the line of a function, what had been written in the 8-the line; it’s the uterine mother of the Coherence.
6 - Musicality.
To mark the rhythms of the program as if it were music; the code is like the marks on a score. To always do everything at the right time or, equivalently, to understand that there is a precise chronology to follow when writing the code. It’s the natural daughter of Logic and the grandson of Coherence and Memory.
7 - Foresight.
First cousins of Memory which always takes into account the past, look through the future and it’s summed up into the motto:
“the good programmer has to think about all the possibilities”.
8 - Fantasy.
Used to find the best solution in every situation, and also to realize that there is always a clever/cleverer solution to any problem. It’s what makes you to glory “Great Language!” after being tempered by Musicality, like Bach’s Klavier.
9 - Pedantry.
It’s mandatory to always seek for perfection, or, at least, the optimization of the program; it’s what allows you to write codes that will do twice the things in half the time, compared to those codes written by those who don’t possess pedantry. Typically, this is one of the last skills you get.
10 - Clarity.
It’s used cowrite programs that are understandable and can be modified without any effort, and without introducing new errors, even after many years; thou can also survive without it, but only as you have memory in an exaggerated amount.
11 - Et-Cetera.
It’s the one that collects into itself all the other virtues which have not come into my mind (yet).
Concludes with a quote from Jeff Atwood: “I’ve come to believe deeply in the idea that that becoming a great programmer has very little to do with programming”. .
copyrights for henryturing on instagram