You’ve felt it before. You’re a coder, and you are in the zone. Not just mentally, but physically as well. Your fingers fly across the keyboard, producing lines of logic as fast as you can think them. Key combinations and shortcuts are activated without a second thought. You feel at one with your machine.
I was thinking about this the other day as I sat at one of my computers and was not feeling at all in the zone. My mind was willing and ready, but I couldn’t mesh its energy with my machine effectively. The location: my desktop at home. Something just didn’t feel right.
Most of my coding hours at the moment are spent at my day job where I sit at a nice size desk with my laptop and a good-size second monitor. The desk is a plain, flat surface, and it’s pretty much just me, my laptop, mouse, second monitor and usually a can of Coke. It is this setup where I can usually get into the zone. I feel like a Formula One driver, able to feel every subtle variation of the road beneath me. In fact, as long as I’m in a pleasant environment, on a nice surface, with at least my laptop and a mouse, I’m good to go.
You cannot ignore the fact of how a mouse feels in your hand, how the keys click beneath your fingers and how the overall layout of the keyboard is conducive to your programming activities. Just giving a developer any keyboard and mouse and expecting them to be effective is not realistic. You have to love the feel of your hardware.
Now, software also plays a big part in this, naturally. If you don’t like your development tools then it can be near impossible to feel that good energy while you program. I’ve been using Vim for a while now and it’s becoming an extension of myself. I love it and I feel totally charged coding in it. But right now, sitting at my desktop, I knew the software wasn’t the issue.
My desktop at home currently sits on a computer desk that I purchased several years ago that has built in shelving and a decent amount of surface to use. The problem I think is the rolling keyboard tray. You know, that flat shelf thing that rolls out and holds your keyboard and mouse? I’m sitting there with the tray rolled out, which puts me a few inches further back from my monitor than I would like. The tray is also a few inches lower than the desk so it’s not at an ideal height for me.
These few inches here and there may not seem like a whole lot, but it’s what’s preventing me from being immersed in that wonderful zone. I feel disconnected, like I’m operating my machine through some kind of remote presence device. So I know what I have to do. I have to get a new desk. This simple step is going to give me a big boost in productivity. I know because I’ve already felt what it’s like to feel at one with my machine. And it feels incredible.