Business-focused custom software

Go Back

What programmers can learn from 5 year olds about software design

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.

  • Facebook
  • Twitter
  • Digg It!
  • StumbleUpon
  • Technorati
  • Del.icio.us
  • Reddit

Post a comment!

Formatting options
   
 
 
 
 
   

Wanna Subscribe?
Here's the RSS Feed

What the critics are saying...

Avonelle is an incredibly talented software developer. She works fast, is economical, and offers great insights into the project at hand. She is also not afraid to speak up when she has concerns about a decision or approach. We’ve utilized her talents on many of our software development projects over the years.

Carrie Rocha, Chief Operating Officer @ HousingLink