Books to Become a Better Developer

Top ranking books, one audiobook, and some hidden gems to become a better developer.

Lorenzo Zarantonello
JavaScript in Plain English

--

If you are a developer, you probably understand that you will never stop learning new things. If this bothers you, you probably picked the wrong craft!

Books for software developers
Photo by Susan Q Yin on Unsplash

Having said that, there are many ways you can learn and improve. YouTube, MOOCs, tutorials, and videos. Furthermore, you can learn on the job if you are lucky enough to work with great colleagues.

Sometimes, however, I just enjoy reading a book at my own pace.

Now, I know it can be intimidating to pick up a book on any topic, even if you know that it will help you in your work.

I recommend that you first do a bit of research and check what other people think about a specific book.

Obviously, you are more likely to learn something if the author, or the authors, has solid knowledge about a certain subject.

In this post, I will only mention general programming books that can help you improve as a developer.

Disclaimer: This is my list and it is my personal opinion. I tried to consider several factors, among which:

  • my personal experience
  • reviews of the books
  • availability of the content or similar material online

The Pragmatic Programmer

The Pragmatic Programmer was published in 1999, which is not even this century! Luckily, there is a 20th-anniversary edition.

However, with tips like the following, we are sure it won’t leave the list of best books for programmers any time soon.

Invest Regularly in Your Knowledge Portfolio

Make learning a habit.

Cover image of The Pragmatic Programmer
The Pragmatic Bookshelf

As reported by The Pragmatic Bookshelf, “the lessons from The Pragmatic Programmer have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology.

The independence of any particular language, framework, or methodology is what gives this book a long life.

Rather than presenting technical details, The Pragmatic Programmer shows good practices with interesting anecdotal cases.

To some extent, some concepts will be later expanded and structured by Agile methodologies.

Critically Analyze What You Read and Hear

Don’t be swayed by vendors, media hype, or dogma. Analyze information in terms of you and your project.

Following the quote above, let’s not think of this book dogmatically.

Developer reviews

Many seasoned developers might find nuggets of good advice here and there but could find the overall book “simple” if not overrated.

If you have more than a few years of experience, this book might be of little value to you.

If you are a junior developer, this book is a good read and can provide support to understanding what is going on around you.

My take on The Pragmatic Programmer

I listen to The Pragmatic Programmer on Audible and it is great! I can’t recommend it enough! If you think they are just going to read the book, give it a try!

The guys at Audible did an amazing job to create a smooth experience. Spoiler: the authors themselves chime in!

Overall, the authors and the narrator go through the book smoothly and it is super enjoyable while taking a walk.

Maybe I am so excited about it because I didn’t expect it? Give it a try and let me know what you think or if you know of similar audiobooks.

Exclusive Content on Medium!

This is another unexpected surprise!

It seems they put together something called The Pragmatic Programmers on Medium.

Their bio says: “We create timely, practical books and learning resources on classic and cutting-edge topics to help you practice your craft and accelerate your career.

I might be late for the party, but it seems quite interesting. Unfortunately, it is Medium-exclusive content and I couldn’t read much of it.

If you are a paying member, enjoy it!

The Pragmatic Programmers on Medium
The Pragmatic Programmers

Resources

Refactoring

I came to know this book after reading stuff by its author: Martin Fowler.

You can read free material by Martin Fowler on his website and watch some videos on YouTube.

Martin Fowler is a software engineer, working at ThoughtWorks. He advocates for best practices in enterprise software design, agile software development methodologies, and extreme programming.

Speaking about refactoring, he says

Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior

and continue

Its heart is a series of small behavior preserving transformations.

Each transformation (called a “refactoring”) does little, but a sequence of these transformations can produce a significant restructuring.

Since each refactoring is small, it’s less likely to go wrong.

The system is kept fully working after each refactoring, reducing the chances that a system can get seriously broken during the restructuring”.

A modern-day ship of Theseus.

Photo by Austin Neill on Unsplash. I don’t think it is the ship of Theseus.
Photo by Austin Neill on Unsplash. I don’t think this is the ship of Theseus.

Be warned that Martin Fowler’s classic Refactoring book, now in its second edition, is more than just an update. For the most part, it switched from Java to JavaScript.

Which one you should read is up to you.

Developer reviews

Once again, seasoned developers may discover nuggets of useful information here and there, but the book as a whole may not live up to expectations.

According to some reviews, this book may be of little use to you if you have several years of experience. However, other senior developers consider the book as a reference rather than a book to read through.

If you’re a junior developer, this is a good overview of what you might want to do.

Generally speaking, this book should be on your reading list if you’re looking to improve and maintain the quality of your code.

It’s not the type of book that you read once and then forget about. It’s a good idea to go back and double-check the categories outlined in it while you’re working on your code.

Resources

Clean Code

Clean Code is another milestone among developers.

It is not enough for code to work

Clean Code cover
Of course, you can find Clean Code on Amazon

Clean Code was published in 2008, and it has always ranked as one of the top sellers on Amazon.

The book can be condensed into a set of principles, for example:

  • KISS: Keep It Simple Stupid. Reduce complexity as much as possible
  • Choose descriptive and unambiguous names
  • A function should only do one thing

You should name a variable using the same care with which you name a first-born child

The cherry on top? The author participated in creating the Agile Manifesto.

Despite his credentials, the book is often accused of focusing too much on Java.

Developer reviews

If you are a Java developer, you are going to love this book.

If you are not, there is a good chance you will go through some tough chapters that might not even interest you. You can probably skip those chapters without losing too much.

Sometimes, you can apply the principle or the example in other languages.

Overall, many people love the first part of the book and consider the second part a bit too much.

My take on Clean Code

In my opinion, beginners might find Clean Code less approachable than the books I mentioned above.

The prevalence of Java is unequivocal. However, many times I found it ok to grasp the reasoning and apply it in other languages.

Unlike the others, this is not a book that I am planning to buy. I am lucky enough to have it at my workplace where I can read it from time to time.

Resources

Bonus: Software Engineering at Google

For some reason, this book is still a bit unknown compared to the others above.

Software Engineering at Google
Software Engineering at Google

Although the book is written from Google’s perspective on engineering best practices, the majority of the book may be useful to large organizations since it generally avoids tying itself to a specific process or technology used at Google.

Jevons Paradox: consumption of a resource may increase as a response to greater efficiency in its use.

There is a catch though.

If you are a software engineer and intended to get a more in-depth technical understanding of programming, think twice.

Many of the subjects addressed in this book are useful for technical leaders and consultants who are making decisions that could impact the whole organization, rather than programmers and single contributors.

Resources

More content at PlainEnglish.io. Sign up for our free weekly newsletter. Follow us on Twitter and LinkedIn. Join our community Discord.

--

--