Stay curious

When I was 10 my Dad told me something very disturbing:

Kids learn faster than adults because adults lose their childhood curiosity.

The news that I was going to slow down didn't go down too well. I think it was a bigger blow than Santa, which was clearly cobblers from the outset.

And so at the age of 10, I resolved to stay curious. Forever.

Last week Brian Cox made it abundantly clear that recently, I haven't been doing so well. Before we get onto that, I want to give you a feel for exactly what I mean by "curious".

I've always been a "button pusher". If something has a button on it, you can bet I'll push it, just to see what happens. Who needs user manuals when you can reverse engineer a user interface by trying to get into the mind of the designer? What design problems would they have been trying to solve? What possible solutions did they have available to solve them?

Once you've got a feel for how a product's designer was thinking, you'll probably find you can use the product without too much trouble.

This approach was largely responsible for me becoming good with computers, and I've built a rather enjoyable career off the back of it.

As a self taught developer I spent the early years of my career thinking that studying Physics (instead of Computer Science) had counted against me. I felt like I was playing catch up.

What I didn't realise at the time was that my curiosity was more than making up for it. I invested hours of free time each week learning Unix, programming, databases, UI design - whatever I needed to solve the problems facing me on my current project.

Everything I know about computers, networking, and software (after 16 years, it's a lot) is a result of my own insatiable curiosity, and a desire to make "stuff".

At the rate at which our development technologies are evolving, I'll need to

Last week a couple of scientists made me realise that I've slipped.

I was at a screening of an episode from Brian Cox's latest series, Wonders of Life. After the screening Brian and Matthew Cobb (another scientist) took questions from the audience.

Brian told an anecdote about Gary Kasparov (the famous chess player) who'd explained the importance of persistence in the face of a challenge. As Brian put it:

Getting stuck is a thing … it's very much part of the fun. The people who stop don't become scientists; those who carry on become scientists [or chess players].

I think this is applicable to all walks of life.

Matthew explained that while knowing things is cool ("you get to show off at parties"), the important thing about science isn't learning about what we already know. The important thing is what's still to be discovered.

And here's the thing - science is all about the unknown, the things that humankind is yet to discover.

Solving unknowns in science is hard.

Cracking unknowns in software development is typically much, much easier. And yet we allow ourselves to get stuck on tractable problems that could be solved simply by spending a few hours reading some code.

It might not be nice code, or we might not know the language in which it's written, but those are just excuses. If I throw in the towel on a problem it's because I've become lazy. Because I've lost my curiosity.

Getting to grips with the unknown can take a while, but when viewed over the long term the pay off is well worth it. My 16 years in software have taught me that.