Why am I passionate about this?

You know what ages like milk? Programming books. I always cringe when someone glances at my programming bookshelf. Some of those books are so dated, they make me appear out of touch by association. Sometimes, I feel compelled to justify myself. “Yes, that's the first edition of Thinking in Java I keep it for nostalgic reasons, you know!” Yesterday’s software book is today’s fish and chip wrapper. However, there are exceptions. A few classics stay relevant for years, or even decades. This is a shortlist of software books that might be older than you, but are still very much worth reading.


I wrote

Programming Machine Learning: From Coding to Deep Learning

By Paolo Perrotta,

Book cover of Programming Machine Learning: From Coding to Deep Learning

What is my book about?

I've always wanted to understand neural networks. And I did, eventually. Only, it took a while. Even after going through…

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

The books I picked & why

Book cover of The Mythical Man-Month: Essays on Software Engineering

Paolo Perrotta Why did I love this book?

In my consulting gigs, I come across plenty of clueless remarks. Here's a classic one: “We're falling behind schedule, so let's hire more coders.” Or a more recent gem: “We'll be ten times more productive if we generate code with AI.”

When I encounter such nonsense, I don't facepalm or cringe. Instead, I put on my poker face and drop a quote from The Mythical Man-Month.

In an industry where last year’s book is already outdated, Fred Brooks' collection of essays has been a guiding light for nearly half a century. His aphorisms have become legendary. “The bearing of a child takes nine months, no matter how many women are assigned.” “Adding manpower to a late software project makes it later.” “There is no silver bullet.” The list goes on and on.

John Carmack, one of the greatest programmers of our times, used to revisit this book every year or two. We should all do it.

By Frederick P. Brooks Jr,

Why should I read it?

5 authors picked The Mythical Man-Month as one of their favorite books, and they share why you should read it.

What is this book about?

Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.



The added chapters…


Book cover of The Pragmatic Programmer: Your Journey to Mastery

Paolo Perrotta Why did I love this book?

Here is a confession: I never got around to reading The Pragmatic Programmer. Not cover to cover, I mean. I read it in fragments, a page here and a chapter there.

I was usually prompted by a reference in a blog post or a conference talk. It's hard to read about programming today without stumbling on quotes from this 1999 book. The Pragmatic Programmer is choked full of ideas that are thought provoking, beautifully discussed, and, yes, pragmatic.

Riding on this book's success, Andy Hunt and Dave Thomas went on to become publishers. When it came time to write my own books, I jumped at the chance to publish with them. It's not every day that you get to work with your heroes!

By David Thomas, Andrew Hunt,

Why should I read it?

4 authors picked The Pragmatic Programmer as one of their favorite books, and they share why you should read it.

What is this book about?

"One of the most significant books in my life." -Obie Fernandez, Author, The Rails Way

"Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours." -Mike Cohn, Author of Succeeding with Agile , Agile Estimating and Planning , and User Stories Applied

". . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come." -Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks

". . . lightning does strike twice, and this book is proof." -VM…


Book cover of Patterns of Enterprise Application Architecture

Paolo Perrotta Why did I love this book?

If one author influenced my way of thinking about software, that’s Martin Fowler. From planning to architectures, his insights are embedded in every line of code I write. I was certain that one of his books would make my list.

But which one? Let’s face it–many of Fowler's books feel dated today. Not because his ideas became obsolete, but because they're now taken for granted. Who needs to re-read a book like Refactoring, when we all have a refactoring menu at our fingertips?

So I settled on this book. It’s a catalog of patterns, but one of the best. And don’t be misled by the word “enterprise” in the title: even lightweight patterns such as Active Record were popularized by this book.

Whether or not you work in a large company, this is still an essential collection of knowledge, written in Fowler’s signature clean style.

By Martin Fowler,

Why should I read it?

1 author picked Patterns of Enterprise Application Architecture as one of their favorite books, and they share why you should read it.

What is this book about?

The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned.

Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to…


Book cover of Practical Object-Oriented Design in Ruby: An Agile Primer

Paolo Perrotta Why did I love this book?

Few people want to grow up like their parents. In the early 2010s, many programmers scoffed at the design principles of the ‘90s. Why should anyone care about the nuances of object-oriented design? That’s such a Java thing to bother with!

To seasoned developers, this rejection felt like a baby and bathwater situation. Then Sandy Metz came to the rescue. Her book persuaded younger developers (or at least, those in the Ruby community) that those old ideas were still valuable.

Practical Object-Oriented Design in Ruby traced a straight line from the pioneering times of Smalltalk, through the years of the software craftsmanship movement, directly to modern programming.

It’s a timeless book in the best sense of the word: it would have felt relevant back in the 90s, or when it was published, or today. Few people want to grow up like our parents–but as it turns out, we all do.

By Sandi Metz,

Why should I read it?

1 author picked Practical Object-Oriented Design in Ruby as one of their favorite books, and they share why you should read it.

What is this book about?

The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications

Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples.



Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting…


Book cover of Head First Design Patterns: A Brain-Friendly Guide

Paolo Perrotta Why did I love this book?

If you check out Amazon’s best selling books on object-oriented design, you might see a relic from 1995 still hanging near the top: "Design Patterns". That book transformed software design. Its four authors will forever be known to my generation as the “Gang of Four".

Some of the original patterns may feel outdated today, but others remain essential. Pity that the book itself is such a tough read. Good thing that another "gang of four”, spearheaded by the excellent Kathy Sierra, gave us this lighthearted take on the original patterns.

The Design Patterns book was a densely packed truck of ideas. By comparison, Head First Design Patterns is a whimsical bumper car. It’s quirky and accessible, which some serious programmers found off-putting: “It’s a book for teenagers!“, they griped.

Yes, it’s not for everybody. But it’s fun, unassuming, and it teaches important concepts. So it makes my list.

By Eric Freeman, Elisabeth Robson, Kathy Sierra , Bert Bates

Why should I read it?

1 author picked Head First Design Patterns as one of their favorite books, and they share why you should read it.

What is this book about?

You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them,…


Explore my book 😀

Programming Machine Learning: From Coding to Deep Learning

By Paolo Perrotta,

Book cover of Programming Machine Learning: From Coding to Deep Learning

What is my book about?

I've always wanted to understand neural networks. And I did, eventually. Only, it took a while. Even after going through multiple trainings and dozens of exercises, I still felt like the inner workings of machine learning escaped me. I felt like there was some mathematical voodoo at play, and I struggled to grasp it. I longed for a book that could demystify the inner workings of machine learning. And being a programmer, I wanted to focus on code.

After gaining more ML experience, I decided to write that book myself. Programming Machine Learning teaches neural networks from the ground up. It helps you build intuition about how they work. It doesn’t hide their workings behind complex libraries or perplexing formulae. It’s just you, basic concepts, and a generous dose of Python.

Book cover of The Mythical Man-Month: Essays on Software Engineering
Book cover of The Pragmatic Programmer: Your Journey to Mastery
Book cover of Patterns of Enterprise Application Architecture

Share your top 3 reads of 2024!

And get a beautiful page showing off your 3 favorite reads.

1,187

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in project management, object-oriented programming, and software?

Software 61 books