Programming magic: Rituals and habits of effective programmers
When a baseball player steps into the batter's box, tugs at his gloves, taps his feet, touches the bat to home plate, the casual observer is thinking: "get on with it already you superstitious nut." (This video of Nomar Garciaparra is a textbook example.)
But for the players, these routines "bring order into a world in which players have little control," writes anthropologist George Gmelch in a paper titled Baseball Magic. "And sometimes practical elements in routines produce tangible benefits, such as helping the player concentrate." Gmelch notes that "A ballplayer may ritualize any activity--eating, dressing, driving to the ballpark--that he considers important or somehow linked to good performance."
And in this, the rituals performed by baseball players aren't all that different from the habits of productive programmers.
Issac Kelly, Lead Developer at Servee.com, explains it this way: "To me, programming is really the 'last mile' to getting something done. When I do the planning and specifications, I go on lots of walks, take lots of time with my wife, and really do as little work in front of the computer as possible. The more I plan (in my head, on paper, on a whiteboard) the less I program; and all of my rituals are to that end." Before sitting down to a coding session, he gets a big glass of water, takes everything off of his desk, and closes out all programs and e-mail, keeping open only his code editor. The office door is shut, and some sort of music is playing ("typically an instrumental only, like my 'Explosions in the Sky' pandora station," says Kelly).
[ For more odd tech habits, read IT superstitions: Astrology, sacrifice, and demons and Would a server by any other name be as functional? ]
Still not convinced of the baseball/programming analogy? Consider this:
One cup at a time
Dennis Martinez, the first Nicaraguan baseball player to play in Major League Baseball "would drink a small cup of water after each inning and then place it under the bench upside down, in a line. His teammates could always tell what inning it was by counting the cups."1
Sean Devlin, a programmer at Servoy, employs a similar time-tracking method. "I keep a scratch pad open on my computer," says Devlin, "and I add a line about every fifteen minutes with what I did, no matter how minuscule. This has a couple of effects. First, if I don't have anything to write, then I know I wasn't concentrating. Second: When programming is tedious, and I feel like I'm not being productive and I look at the twenty-five things I did in the last half hour and it gives me motivation to stay focused."
Hollywood, take me away
Dan Douglass, Technical Director at InSite Interactive, finds that "reading outlandish books or watching over the top movies/tv shows seems to help trick [his] mind into critical thinking." That's not so different, really, from former Yankee pitcher Denny Neagle's habit of going to see a movie on days he was scheduled to start.1
The way to a man's heart
"Wade Boggs ate chicken before every game during his career" and "infielder Julio Gotay always played with a cheese sandwich in his back pocket."1 So should we be surprised when Aaron Overton says he does his best work at Denny's? "I take my laptop and go to diners and restaurants (free wifi is key!)," says Overton. "Background noise of people talking, dishes clanking, and all that then just blend into the background and the focus arrives."
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
On Twitter now
programming
Powered by Twitter
jfruh
Apple syncing patent can't come soon enough
pasmith
New Twitter features borrow from 3rd party clients
Esther Schindler
Open Source Changes the Software Acquisition Process
mikelgan
How to set up continuous podcast play on the new iTunes
David Strom
Five important Windows 7 mobility features
sjvn
Guard your Wi-Fi for your own sake
Sandra Henry-Stocker
Grepping on Whole Words
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













VERY cool article
I'm listening to "Pure Phase" by Spiritualized at the moment. Album du jour.health shmelth
two Redbulls on ice, and a can of pringles keep me in the zoneZones? .. I do dislike this word.
When I was doing my Doctoral Thesis building a distributed & autonomous p2p self-healing file system I used to do one of two things depending upon the time. I lived in Perth Western Australia at the time, which is right on the peninsula in Maylands which faced the Darling Ranges.In a similar fashion to your first story about the chap that delayed the coding till the last stage, I did the same.
Night:
I would go into the kitchen with the lights out and make toast on the stove using a camp-style toaster. German Rye Bread with an obscene amount of honey (Iron Bark or Blue-Gum were the favourites). I would during the eating of each slice and waiting for toasting lean on the servery and look out to the mountains, de-focus and stare mostly at the lights going on and off against the ranges. I assume it was the town of Kalamunda I was staring at, and think quietly about the problem, how to solve it, eat toast. Five or six slices and an hour or so later I'd wander in, settle down again with a glass of ice cold milk and commence solving the tiny chunk of a problem I was working on that night, dynamic hash tables or what ever.
Day:
I would take an old fashioned clutch pencil and a thermos of coffee and wander down the peninsula to one for the bench seats and spend an hour or more as necessary staring out again de-focused on the river and people walking/cycling/blading past. If I needed any storage I would use the notepad and pencil.. which was frequently because I have gold fish memory.
Coding time, was always a glass of super cold milk, and listening to nectarine demoscene music.. down very quietly. I know most of the tunes after 10+ years of listening and it would keep the easily distracted side of my brain quiet. If it was a bit too "banging" I'd tune into something quiet such as Soma-FM's "groove salad", close the door, relax with my feet up and begin after a stretch and shoulder/arm joint cracking session. Also using my SGI Octane and HP9000 c3700 or the VAX (VMS!) were emotionally very relaxing/comforting and pleasurable. Using the Mac's or Windows machines ..were just too distracting. There is too much "Going on" around your screen and the widget set.
Al.