As an engineering student in the 1980s I did plenty of coding. The language I learned was FORTRAN and most of the code I wrote was designed to do calculations that would take too long if done by hand. I have done some coding on an off during my academic career but it was only when I did an Open University module in artificial intelligence that I did some coding that involved more than just doing numerical mathematics. In that module I had to design an ‘expert system’ (in Prolog) for fingerprint recognition and it was quite a different experience from what I was used to. Then in 2013, I published an engineering textbook that had lots of MATLAB code in it.
So what’s coding like? I think this is an important question because I get the sense that many people who advise youngsters to make a career in coding might not have done much of it themselves.
Anyway, here are some of my thoughts on coding:
- It can be extremely rewarding when your code finally works!
- It can be extremely frustrating especially when your code is doing things you don’t want it to do.
- Coding can be quite addictive and you can become so engrossed in it that you neglect all sorts of basic things like eating or talking to people.
- It is quite a sedentary activity and you need to make a real effort to get out of your chair and get some exercise.
- Your junk food intake can increase dramatically unless you make a real effort to eat healthily.
- Coding can keep you awake at night, especially if you work late, as lines of code flash before your eyes while you try to figure out what the hell your code is doing and why it is doing it.
- Coding requires incredible attention to detail and can be draining if you do it for long periods.
- Coding is both logical and creative at the same time. There is never just one way to solve a coding problem.
- In my experience, coding suits a certain type of personality, typically those who love the challenge of solving problems for their own sake. For me, coding was always a means to an end and whether the code was efficient or elegant never really interested me. I suspect that true coders, i.e., people who could potentially make a career in coding, are different and see coding in a more aesthetic light. They are not happy with getting an answer. They are like Barcelona fans; they want to win but they don’t want to win ugly.