Learning Through Feedback

December 28, 2004

I'm having oodles of fun with my latest toy - the Canon S-200. What I find really compelling about digital cameras is the instantaneous feedback. Amateurs like me can quickly learn how to take better pictures when the delay between taking a picture and seeing how it turned out is negligible. And taking a digital picture is free, so I'm actually encouraged to learn through experimentation. Indeed, I don't hesitate to snap a picture or ten. With film, I'd be much more cautious and conservative because each picture costs something to develop and I'd want to make sure I get the best shot. It's not until I pick up the film a day or two later that I know whether it was worth the money.

I want this same kind of instant gratification when I'm designing software. That is, I want to know if the design will work as soon as possible rather than wait to see if it will pan out later. If it doesn't work, I want to learn from my mistakes while it's fresh in my mind without incurring much time or opportunity cost. I want the effort of laying down code to be as cheap as possible so that I'm encouraged to scrap it at the first sign that it won't work. And I want a test to tell me straight up when the code isn't working as I expect. Alas, judging my pictures is more subjective than that.

Read more posts in the blog archive »