I touched on this at the end of that article in discussing how your productivity is impacted by your mood, attitude, and your inner confidence. Well, these are created by external influences and conditions. And it got me to thinking: Whats the perfect combination of these outside factors that helps each developer succeed beyond expectations?
Knowing that many developers still live for Seinfeld reruns, let me try to make an analogy using Jerry and friends. There was an episode called The Blood where George Constanza (who by the way would have made a great IT manager) talks about finding nirvana if he could just eat a sandwich while having sex.
Actually, his holy grail becomes experiencing "The Trifecta," which is when he has sex while watching TV and eating a pastrami sandwich.
Pay attention wannabe stand-ups that is true comedy!
Finding your zone is where youre like a Jedi knight coding with your eyes closed. And finding that zone requires experiencing your Trifecta.
So lets break down what goes into achieving The Trifecta for writing the best software.
First, get the picture out of your mind where you are having sex, eating a pastrami sandwich, watching Star Trek and writing code. Thats a Quadrecta and its just too much multitasking for a normal human to achieve. (Unless of course you are the rare female coder, but then wed have to replace eating the pastrami sandwich with getting a manicure.)
Besides, coding is more like sex than eating a pastrami sandwich or watching TV. That is, unless its a Langars pastrami sandwich.
So to complete the Trifecta you need to be experiencing two other things while you code. To me, this is about piecing together the circumstances to create the perfect atmosphere, where writing software just naturally flows from your finger tips.
To achieve an ultra-productive zone that would make your toughest computer science professor bow at your feet in awe, it helps to understand what conditions result in producing your best code.
With that in mind, here are the top five conditions or circumstances, which in my humble opinion, enables developers to maximize their potential to write kick-ass code. Then Ill tell you what triple play combination is my personal Trifecta.
This by far is number one on my list. Without music, there is no code. In my case its all about hard rock. The driving music puts me into a groove where I can tap at the keyboard in rhythm.
Others have told me that they need jazz or classical music because any lyrics would be too distracting. I like music that Im familiar with, especially including lyrics I know by heart, so I can take little mental breaks and sing along. Granted, this can be distracting to coworkers, but most of them have ear buds in anyway.
I'm a night owl. For as long as I can remember, I did my best studying at night and that translated into writing code when the sun goes down. Many developers I know work in the dark even in the day time. Something about the still of the night, and if you are lucky, a full moon that brings out the best in developers.
However, many also do their best work during early morning hours, taking advantage of the quiet first hours in the office. And I must say afternoon coding is just not productive. Blame it on lunch hangovers or the anticipation of getting out of the office, but it just doesnt feel right especially when its a beautiful day outside.
There is one benefit that early morning coders and night owls have in common. The serenity of not being disturbed by production failures (unless you are the unlucky chap on-call), office gabbing and other distractions.