Had the honor and opportunity to review and improve a piece of code for a challenge, and I was delighted with the challenge. Didn’t have the opportunity to fully jump and devote myself with the time, since needed to balance everything with my current day job, and family life, but, getting that feeling again was enough for me to realize many things about my career choices so far.
I’m a true coder by heart, and enjoy more creating and challenging myself to solve mysteries, than just breaking into systems. This last part is something that I have been struggling since my change to info-sec. I do enjoy that part of the work, but I enjoy even MORE to create and code things.
Coding is where the feel of “fish in the water” is overwhelming. My mind just go to other realities, and visit universes by looking for a solution, reading the docs, doing research, and figuring out how to put the pieces together to get the solution. And of course the “A HA!” moment, when inspiration hits and the solution arrives from the horizon.
The Three Virtues
Back in 2010 I wrote a manual for my students where explained “The beauty of code”. In those days the research for clean, organized and efficient to read code standards was one of my passions, and I teach the guidelines to all the groups I had the opportunity to lecture.
And Why to obsess with this? Well, because in those days I had the opportunity to read the quote by Larry Wall on the “Camel Book”, and was extremely motivated by those ideas:
We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.
Laziness The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris. (p.609)
Impatience The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris. (p.608)
Hubris Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience. (p.607)
Winds of Change
This reminder of where my true happiness and inspiration lies, just set a new course on my boat. Having all this experience in Info-sec, lets see what is now in the horizon and sail to new coding adventures.