Go Back
Posted by: Avonelle Lovhaug
Publication Date: 9/15/2009 11:21:37 AM
I recently attended my nephew’s 5th birthday party. Observing him I realized that he and his guests could teach programmers a thing or two about software design:
Put yourself in someone else’s shoes
My nephew spends quite a bit of time playing with imaginary friends. And to him, they all have distinct personalities. (For example, one of his imaginary friends is a dead composer. Another is a penguin.)
Programmers often think too much like themselves when designing software. To design really great software, you need to be able to use your imagination, and put yourself in another person’s shoes.
The goodies take effort
One of the big events at his party was the piñata. Of course, it took several good bashes with the bat before it burst. If they had given up after the first couple of attempts, they would have never gotten the precious goodies. But my nephew and his little guests were very persistent and it paid off.
Since I enjoy building software more than designing software, I confess it is easy for me to give up a bit early on some of the tougher designs before they are really done. But you only get the full benefits of design if you spend some good effort on it. Don’t give up too soon, or your solution will be half-baked.
Be an explorer
Some of my nephew’s guests were intrepid explorers. They carefully examined the entire backyard, including the vegetable garden, the fences, the flowers, and the local insects. These explorers looked for new things to examine and discover.
Fully understanding a problem and imagining an effective solution requires the programmer to be inquisitive, thoughtful and creative. Sometimes programmers spend too little time understanding a problem and too much time deciding they already know the answer.
Category:
Tags: Think like a geek
Name:
Email (optional):
Your URL (optional):
Comment:
Type the code shown
Top 5 Programmers to Avoid
What everyone should know about bugs
How to tell if an estimate sucks
The Secret to Building a Crappy User Interface
The Problem with Selecting the Lowest Bidder
5 Ways to Control Software Development Costs
Avonelle has been a pleasure to work with. Working with someone that you know will always deliver is tremendous.
Mark McNamee @ Renewal by Andersen
Sitefinity ASP.NET CMS