Wednesday, November 25, 2009

Using our common senses

I love to study and learn from other professions. It is a matter of trying to understand their techniques and processes and find ways to incorporate those ideas into my process.

The other night I was watching a cooking competition show, and the chef made a point about using all five senses when cooking. That got me to thinking about how and which senses we use when developing software and writing code.

This one is the most obvious. You are using it right now to read this blog. This is the sense we use for designing stunning (hopefully) user interfaces and websites, writing our code, watching podcasts and presentations, and writing on our whiteboards. It helps us to choose and set the visual feeling of the IDE themes we choose. This is how we receive most of or knowledge and information about the world.

Sound comes into play as part of our process in the click-clack of our keyboards, the squeak of the marker on the whiteboard, and the ubiquitous use of headphones to MP3 players and internet radio. Another important aspect of sound in software development is in listening to our clients and team members.

This one is more a matter of ergonomics than anything else. The difference between the feel of the keyboard at work and at home. The placement of the mouse and keyboard. The feel and contours of the chairs we sit in for hours at a time.

This one is a little less obvious, but still present. This is the metaphor that illustrates the visceral response to the odor of rotten or rotting code - what we commonly and affectionately refer to as “code smells”.

This one is the least useful and exercised sense of all for writing code, but it does have it place. Without it, we would not be able to savor the omnipresent caffeine-laced beverages that are the staple of many a developer’s diet.

What are other ways that we can use our sense better or more effectively to help improve the quality of our code?