Reading is to the mind what exercise is to the body — Joseph Addison

Many developers today want to take the shortcut to mastery, find a solution on the internet. Acquiring new knowledge, skills, expertise, knowledge and experience makes tomorrow easier for a developer.

  1. Learning from the success and failures of others means you don't need to make the mistakes yourself
  2. Broaden your knowledge and views
  3. Reading involves thinking to understand what you have read and how to implement it.
  4. Reading books unrelated to technology can give you different insights

Learning compounds over time, investing in yourself, is the best investment you can make. Developers are assessed on the quality of their decisions

Books

"In my whole life, I have known no wise people (over a broad subject matter area) who didn't read all the time — none, zero. You'd be amazed at how much Warren reads — and at how much I read. My children laugh at me. They think I'm a book with a couple of legs sticking out." ― Charles T. Munger, Poor Charlie's Almanack: The Wit and Wisdom of Charles T. Munger

Below are reading numbers, it varies between countries, ages and skewed by book worms.

The page from 2016 — How many books does the average person read

The average number of books each person read over the course of a year was 12…but that number is inflated by the most avid readers. The most frequently reported number was 4 books per year

This post from 2016 — How many books does the average British person read per year?

According to a YouGov survey, the mean number of books read for pleasure by adults in the UK is around 10 each year, and the median is around 4

The average person reads 4 books a year (I wonder how many they finish), an impressively low number when you consider the hours watching terrible TV or time spent on social media (I'm guilty of this too).

Why don't developer read books

The common reasons developers don't read are:

  • Books are old fashioned
  • They don't want to invest the time to read a book
  • Easy to search for answers on the internet
  • Many prefer reading articles
  • Developers watch videos on YouTube, DLP or Pluralsight, etc

Few technical books sell in large numbers (this may be due to them degrading quickly with new versions of software etc)

Developers learn through trying to figure out problems and if they can't resolve it they search for the answer on the internet.

stackoverflow was created because the creators felt developers were reading less. Read about the concept here

Programmers seem to have stopped reading books. The market for books on programming topics is miniscule compared to the number of working programmers.

Instead, they happily program away, using trial-and-error. When they can't figure something out, they type a question into Google.

Jeff Atwood of Coding horror blog (who wrote Effective Programming: More Than Writing Code) has a good post Programmers Don't Read Books — But You Should

Jeff mentions many technical books are poorly written, uninteresting loaf of bread sized beasts you can barely pick up let alone read. You can skip the introduction chapter of most of them as they summarise the invention of a programming language or the internet.

Offices are littered with huge technical books squatting on developers' desks, either elevating monitors or with the goal of making the developer seem more knowledgeable.

You learn how and why

When you copy and paste code, a unicorn dies a slow painful death #HoskWisdom

The common approach for developers is to get a task, search for the answer on the internet, copy the code and go onto the next task.

Copy-and-Paste Developers Suffer From Fragile Knowledge

This skips the learning, leaving the developer with the answer but not the knowledge, it stops the learning. It's difficult to search for solutions if you lack the understanding to diagnose problems, you can hit many dead ends before finding the solution.

With hard problems with no solutions on the internet the developer gets stuck, not having the knowledge or skills to resolve the problem. To solve these problems you need to use your understanding, knowledge, skills and experience e.g. work it out yourself.

Books give you depth

I would never read a book if it were possible for me to talk half an hour with the man who wrote it — Woodrow Wilson

Reading a book is like conversing with an expert, a 1–1 with the best software engineer you have ever met. Not just someone who is the best in your team or company but someone who could be one of the best developers in the world.

Writing a book involves thinking and writing deeply on a subject and putting their best ideas in a way the reader can understand them. Focused concentration allows the writer to get deep into the subject and explain the why behind the subject.

Great programming books are popular and relevant for years because its not writing the code but the design, decoupling, SOLID Principles, design patterns, naming which are important to create simple code. This advice will be useful as long as humans are writing code.

If you want to improve as a Dynamics developer read this How to improve as Dynamics 365 developer, it has links for designing and writing better code articles

Shortcut to success

The misconception about reading books is it's a long process, people don't have enough time to read, it's a slow method to learn. Reading books allows you to learn from the experience, actions and ideas of clever people.

Reading a book helps you gain experience from the author without having to make mistakes first hand. Learn to avoid the mistakes they made and repeat the successes they had. Reading a book is working smarter, not harder.

When you read a book, you spend half the time reading and half the time thinking. You think how this perspective can apply to your past and future work. The thinking part is as valuable as the reading part because you are doing thought experiments to use what you are learning.

Clever people read

The best developers I have worked with read books because they want to learn. A great way to learn is from someone who is an expert on a subject and reading a book is a method to access an expert.

If we encounter a man of rare intellect, we should ask him what books he reads — Ralph Waldo Emerson

CEO's read 4–5 books per month according to the article — how many books does the average person read, lists of not technical recommended reading below and reading habits

If you need help to read more books these articles will help

What should developers read?

A good list of programming books

The books above give you fundamental knowledge of software development that will transcend technology. You will take these good practices, experiences and ideas to all software projects you work on, regardless of the technology you use.

I recommend reading other books from other areas. They give you different perspectives on software development.

Developers only spend half of their time writing code. The other half is spent thinking, collaborating, refining requirements, documenting and attending meetings. There are lots of other skills outside of coding that can help you become a better developer.

Below are some books I recommend to developers to read

Next Reads