Tuesday, March 27, 2007

Why Do Anything?

Personal hack projects, like the kind they write about on hackaday, are indispensable to the aspiring technology wizard's development. These are small feats of engineering done for no other purpose than for the joy of making things, or to prove that something considered impossible can actually be done. Other computer science students often ask me how I acquired the skills I have, and want to know how they might improve their own skills. "Projects!" I tell them. I advise them to choose something that interests them but lies just outside their current skillset. In doing the project they will acquire the skills the project requires and polish the ones they already have. It's also great fun!

I, of all people, should not have any difficulty justifying to myself why I do projects - right? Well let me tell you...

I have a favorite uncle who is a computer consultant. I am greatly indebted to him - my first experiences with computers were playing games at his house when I was very young, and it was also he who gave me my first "real" computer.

We definitely have some common interests, but whenever I would tell him my latest idea for some fun but purposeless project, he would reply: "That sounds interesting... but why would you want to?"

As an adult and now a computer professional myself, I've come to understand his viewpoint. Our field is simply too full of possibilities to go tilting at every windmill. You have to pick and choose your battles. A simple but mundane solution to an interesting problem is not a waste of a good problem - it is a job well done, or at least done with minimal risk.

Yet there has always been something that bothered me about the way my uncle posed that question. "But why would you want to?" The answer to it is meaningless. I don't know why I want to. I just get ideas for projects and I do them.

It is not the answer but the question itself that troubles my thoughts. No, not even the question. It runs deeper than that. It is the act of asking the question that raises the hairs on my neck.

Because you see if you start asking this question when you have an idea for project to do for fun, it only leads to self-doubt. You will never reach your full potential if you question your own motivation. I've met many geeks who regularly do astonishing things with technology. I've met many more, just as smart, who talk about great things but do not do them. What stops them?

There are many cases where self-doubt is a good thing. It is a survival trait. One day my best friend needed to fix something on the roof of his house. I held a ladder while he climbed to the roof. It was very windy. Suddenly he hesitated and climbed back down. "What's wrong?" I asked. He said, "I don't know whether I suddenly became smarter or am just chickenshit, but I just got the feeling I shouldn't be up on that roof." As he said that, another violent gust of wind shook the ladder in my hands. I think he made the right choice.

Most electronics and software projects are not nearly as dangerous as climbing a ladder on a windy day. Provided you practice good lab safety habits, the real danger is to your own ego. The fear you deal with is just fear of the unknown - "What if I can't get this to work?" "I don't know where to begin." When it comes to doing a project, self-doubt is not a survival trait - it's a stumbling block.

It's appropriate to apply the "but why would you want to?" question when evaluating solutions to a major engineering project at your day job. You'd be irresponsible if you created unnecessary work by not differentiating between things that are fun to do and things you need to do. But if you ask "why would you want to?" about personal projects that are just for fun in the first place, you will invariably find a reason not to do it. An old 'geezer' I know recently lamented to me that the downside of today's advanced technology is that no one is impressed anymore when you show them what you've been working on, because they can buy a piece of consumer electronics from Walmart that does the same thing. When anything that has a real purpose is already available, and anything you may build that is one of a kind probably also doesn't have any practical value, it begs the question, "Why do anything?"

No comments: