This week I wanted to chat about a syndrome that I have experienced a few times over the years as both an amateur and a professional developer. What syndrome am I referring to? One of my favorites: The syndrome of "Code Mode".
What is "Code Mode"? The term refers to the scenario in which you planned on accomplishing X number of things in a given coding session and end up accomplishing X^2 instead largely due to bursts of sustained inspiration and abnormally long periods of consistent lucidity. Why do I call it "Code Mode"? My father, who is also a professional developer, called it this for years. So for me this term has become synonymous with this state of mind. I should start off by saying that this is generally considered to be a good thing. For me this syndrome tends to manifest in response to particularly frustrating coding sessions in which I either did not meet all of the goals I had going into it or I literally had to fight tooth and nail for every win.
I had one of those frustrating sessions this past Friday. While it was largely avoidable as the painful productivity of that day did nothing but put me ahead of schedule, I couldn't help myself. I had to continue no matter how painful. Why? Well a day prior I had come up with a new approach for solving a long running problem and despite my plan to take it relatively easy on Friday, I literally dreamed about writing this code on Thursday night. The way I see it is that when your subconscious is telling you to get your ass to work, it's probably a good idea to listen. So I did.
While Friday was a rough day, I did ultimately manage to prove the concept out. I came in on Monday thinking that I would have a relatively light day as I could coast on Fridays accomplishments. Hardly. As soon as I dived back into the code, I started to see other opportunities for improvement. In fact I even went so far as to fix several other items which weren't even directly related to what I was working on. Here is the kicker: It was all easy. Stunningly easy. My brain was in the exact place it needed to be to facilitate all of this.
Why am I talking about this? Well for starters, this isn't always a good thing. It can be bad. The trouble with this career is that "Code Mode" can be elusive at times however let's be honest: If inspiration strikes at the wrong time, it can be a painful opponent to grapple with. To be clear, that is primarily why Friday was such a tough day for me. I had back-to-back meetings scheduled all day long. It was not a good time to want to be productive and yet I had no real choice in the matter. Yet when the distractions are constantly popping up, it becomes exponentially harder to ever reach the legendary "Code Mode" plateau.
At the end of the day, while I may have been pretty distracted and/or unbearable in some of those meetings, it was all worth it. You gotta take the good with the bad and to me "Code Mode" is the perfect example of that when it comes to software development. If you don't capitalize on opportunities that are handed to you, you may very well end up making no forward progress at all.