Enablers of Developer Flow
Stop outsourcing the keys to greater engineering productivity
I often struggle with procrastination. Things are better now, but there are plenty of times when I still find myself absentmindedly doing things other than the work I am supposed to be doing. It reminds me of the classic Joel on Software post “Fire and Motion” and bouts of unproductivity.
In my younger days, I was notorious for waiting till the last minute to get something done. One memorable example was the time in ninth grade when we had a semester-long character study where the final project was an original short story. I came up with the character, filled in the backstory, and wrote the 12-page story from 2 AM till 8 AM when our literature class started.
This was my operating model for everything from tests to papers to my electrical engineering senior year project. I did this because I could get away with it, up until I started working in the real world. In my first real project, the initial demo of the software app I wrote for the sales team was an unmitigated disaster. The head of sales mercifully cut the demo short, but my boss was livid and nearly fired me that afternoon.
What I learned about myself is that while some of the things I procrastinated on were mundane or boring, the reason I had issues getting started was because I could never get into a flow. In college, it was usually roommates, dorm distractions, or parties. In my role as a developer, the issue was I simply…