Books every developer should read

Here is a non-exhaustive list of books you should read as a developer. Not specifically because they'll make you a better developer, but a better person, too.

While this blog post has a date attached, please consider this advice timeless.

Badass: Making Users Awesome by Kathy Sierra

Badass teaches you to stop thinking purely in terms of solutions, and start thinking of what your users want to achieve by using your software.

Hence the name Badass. It's about helping your users become badass at your product, but also at what your users want your product to help them do.

It's a short read (with lots of visuals!), highly recommended.

How to Win Friends and Influence People by Dale Carnegie

A lot of people refuse to read this book due to the title. Whether you think it's manipulative, or a book to give as an offensive joke, just read it.

Dale Carnegie emphasises an honest interest in other people's lives that is rare in the modern era.

If you have any other recommendations that I've missed, I'd love to know!

Nonviolent Communication by Marshall Rosenberg PhD

Nonviolent Communication is another book with an unfortunate name that often stops people from reading it (I personally procrastinated from reading it for several months because of the name).

Also highly recommended, as it teaches you to both actively listen when others are describing their problems, but also more effective ways to communicate your pain.

As an example, the book insists the reader use phrases such as "I feel anxious when I deploy, because..." rather than "Deploying sucks, it's terrible!".