Solutions

I owe a lot to my parents. From my mothers side I’d like to think I received my creative side (and an excellent beef stew recipe) but from my dad I acquired an analytical knack for exploring the world. There was one thing he always showed me growing up as a kid, and I’m fairly certain it is the single largest contributor to why I’ve become the programmer I am today.

As a kid I didn’t enjoy homework. It didn’t help that I was a late-starter, struggling with the basics (alphabet, multiplication) until nearly towards the end of my primary education. Nowadays I test on or around 140 on the IQ scale, but I’ve always remembered that struggle to grasp the basics and it’s still something I fight with when learning anything new.

Part of that struggle was my dad’s unwavering refusal to ever give me the answer to a problem.

Seriously. I would come to him with a maths problem and he would sit down with me, run through all of the instructions or calculations or steps and make me reason each one out until I arrived at the answer myself. I learnt there was a big difference between the solution, the journey you took to reach the answer, and the answer itself.

And those lessons have held ever since. The answer holds little interest for me. This is not a list of locations sorted by distance; it’s the output of a sorting algorithm and it is the algorithm that is the compelling part. It’s the classic adage of teaching a man to fish. Because ultimately all programming is is the writing of a set of instructions a computer blindly follows, billions of times a second, until it arrives at the answer by itself.

If my dad had given me the answer, I likely never would have learnt that discipline. From his point of view, it would have meant I came back every night and asked the same question. Instead, it’s put me on a journey to always question what we do and how I can find that next solution.