Granted, the disciplines of powerliting and software development don't have tons in common. But what interests me about powerlifting is the emphasis on the importance of what you do outside of the gym. I read in multiple sources, if you're not "making gains" and lifting more weight as you progress, one of three things is wrong.
- You are not working out the right way or the right amount.
- You're not eating enough.
- You're not sleeping enough.
Anyone who knows me is probably nodding to themselves that I'd be drawn to an activity that emphasizes eating and sleeping. But what this reminded me of a post Joel Spolsky, co-creator of Stack Overflow, wrote many years ago called Fire and Motion. Spolsky observed that a software developer can only really put out 2 or 3 hours of intense concentration in a day. In the way that a powerliter will see diminishing returns if they overtrain, a software developer will see diminishing returns if they try to push through 4 or 5 consecutive hours of the creative thought and concentration required to write and debug complex code.
Your productive programming time, when you are "in the zone", then, is extremely valuable. As a software developer, you have to protect it like a dragon on its hoard of treasure. You need to minimize interruptions at that time and make sure you come to that time ready. Arrive well-fed and well-rested. The better you can concentrate on your lifting while you're in the gym, the more efficiently you will build muscle in the time you have there before you get fatigued. The more focused you are in a programming session the more productive you will be.
While a powerlifter's rest time is the critical period where their muscles are being rebuilt and increasing in mass, time away from the computer is when the programmer's subconscious goes over and over the software problem at hand finding solutions. It may not be obvious, but half of the productive process happens while the lifter or programmer appears to be idle.
The takeaway from this, then, is to approach those times at the gym or the keyboard ready, and to be conscious of how your lifestyle outside of your arena affects your performance in it.