Every once and a while, maybe once a month, I have the most productive and enjoyable coding time. It usually happens on a Friday night after I get home from work. It starts when I get home, grab a bottle of Crown Royal or Captain Morgan Black Label, a cup, some ice and Coke. I then saunter into my home office, close the door and start iTunes. I pour my drink, open up Visual Studio, pick a solution and go.
This may sound strange to some, or maybe all, and if someone walked in on me while I was deep in code it would look down right sad and strange. My music blaring, drink by my keyboard and C# on the screen. But I have to say, after doing this for a few years it’s one of the most enjoyable development experiences I ever have.
I haven’t perfected it, but I’ll work the rest of my lifetime to do so, but here are some tips for enjoyable Code Jammin’.
Tips for Code Jammin’
- Pick a project that’s fun or sparks your interest
- Pick music that has a great beat that you enjoy
- Have a beer or mixed drink, don’t get hammered, just loosen up
- Code to the music
- Do not overthink, take the path of least resistance
- HAVE FUN!
When I have a Code Jam session I know I look like a complete idiot. Occasionally I throw my hands up to the music, I’m singing to the music, talking to myself, talking to the computer and pretty much acting like someone who needs to be committed. But I when I develop in this state I don’t get hung up on problems, I don’t whiteboard or spike, I just do. Is the code elegant or an architectural masterpiece? No, but guess what? I don’t care. It’s functional, it’s simple and I can always change it latter.
I get more done, more working and simpler code in a few hour session then I might get done all week. I’ve gone back to the code latter on and vary rarely have I just outright changed it. I even keep the stupid jokes that I sometimes put in the comments, or strange variable names.
Don’t code something that’s tedious or that doesn’t spark your interest. I always have about 5 or so personal projects going at one time and switch back and forth between them. That way I never get bored and there is always a unique and interesting challenge to solve.
Development, just like everything else in life, will be as fun as you make it.