Last month, my wife and I went on a fabulous cruise for our honeymoon. When meeting new people, eventually you get asked the inevitable question “so Simon, how do you earn a crust?” With the exception of the Cockney train driver who thought that a software engineer made sofas, pretty much everyone responded the same way - “I couldn’t do that, I’m not clever enough”.
I responded with variations along the lines of “no, you don’t need to be intelligent at all - I’ve worked with some right idiots”. Primarily, I said this to get laugh, but I’ve always been of the opinion that you don’t need to have any intelligence to be a developer and that it’s more training rather talent. On reflection I think I was wrong though and there is a minimum level of intelligence required to successfully write software.
There’s a very simple test to see if you’ve got the intelligence to be a developer. CAN YOU MAKE A CUP OF TEA?
Making a cup of tea (or coffee) is a good metaphor for software. Consider the steps that you have to go through when making a cuppa:
- Fill kettle with water
- Boil kettle
- Add teabag to mug
- Fill mug with boiling water
- If required, add sugar
- If required, add milk
Ok, that’s all very good but how does that work as an intelligence test to be a developer? Firstly, all software is, fundamentally, a process flow - you start with something (the input) and you want to get to a certain result (the output). Secondly, let’s consider how you might go about writing a piece of code that might achieve that:
Clearly there’s a lot more to being a developer than this really simple example of pseudo-coding. But it does show that the intelligence required to be a developer isn’t terribly high and that the skill is training and practice.