Why Reading Books Helps Software Development

If you have a look at the entry requirements for many software engineering university courses, it often states that you need to have a certain grade in mathematics. And I think that when you ask the average person (who is not familiar with software development) what the most important skill for a software developer is, you will often get maths as the answer.
Traditionally that would have made sense, since software development a few decades ago was a lot more low-level than now. So the implementation of certain functions or algorithms would have to be done for each project, and that would require a good understanding of what that algorithm should do. But I don't think that is always the case any more.

As a teenager at secondary school I got to the point where I had to decide what I wanted to do next. That involved choosing the subjects I wanted to continue with in the final years and take exams in. Since a software engineering course was something I was interested in, maths was one of the subjects I chose.
But it soon turned out that maths wasn't my strong point. In fact, I struggled with some parts of it. After some discussions with my teacher, I joined in with some extra tuition classes at school to give me some extra help.
In the end I did my exams and managed to get a grade that was just good enough to enter my chosen university course.

I completed my university course and got my degree. That was over 17 years ago and since then I have been working as a software developer in a few different roles. But when I look back at that time and try to think whether the maths skills I struggled with at secondary school have been important, I don't think that has been the case.
For me personally the more important technical skills have been around problem-solving and abstract thinking. So that's being able to understand the problem, come up with a possible solution, and visualise how to implement this in a sensible way.

Now I hear you think: "but isn't abstract thinking one of the things you learn through maths?".
Yes, understanding maths is certainly a way to also learn abstract thinking. But I don't think it's the only way. And I think that many of my abstract thinking skills have a different origin than maths.

Going back even earlier, when I was a young kid at primary school I really enjoyed reading. I don't know whether it was because I picked it up easily or if I was encouraged by my mum to read, since she was a keen reader herself.
Either way, from a young age I was a very regular visitor of our local library and I would read through at least one book every week. They were mainly fiction books, although I also read many non-fiction books about various subjects that I found interesting at the time.
As I grew up I continued to read a lot. And as an adult I've kept up with reading , which now is a mix of fiction and non-fiction books.

So why do I mention this? Because I think reading books (especially fiction books) is a very good way of improving abstract thinking. The reason for that is because when you read a book you are not just reading the text but in your head you are picturing the locations and characters of the book. You quickly have quite clear pictures of what the buildings or streets the story is set in look like. You can picture what each person looks like and what clothes they might be wearing.
And every time you pick up the book again to continue reading, you remember what has previously happened and the pictures in your brain help you to continue the story.

You can look at these points and relate them back to software development:

And so that's why I want to argue that if you are not so good at maths, but you do enjoy reading books, there can still be a very good software development career path ahead of you.

I had been thinking about writing this post for a while. But the reason I did it now was because of a BBC documentary I saw a few days ago. In it historian Simon Schama interviews the author Margaret Atwood, and she says the following about fiction books:

A well written piece of fiction being read by somebody is the closest you can come, neurologically, to the actual experience. You're having more brain activity because you have to add everything in. You're adding the sound effects, you're adding what people look like. So it's the closest you will ever come to experiencing what it's like to be someone else. So that kind of participatory fiction increases empathy.

When I heard that I was nodding along, and I can only wholeheartedly agree with this.