DEV Community

Srebalaji Thirumalai
Srebalaji Thirumalai

Posted on

5 books every developer must read before it's too late

Cover image
Hey Devs

One thing most people won't regret is reading a good book. As the title suggests, I will suggest five books that you will never regret reading.

These books are old and wise and still, they make much sense. I can guarantee you that reading these books will definitely change your perspective towards writing software.

And I believe that learning the latest technology and frameworks is still important but understanding and revising the fundamentals of building the software is much more important. Because there will be always new languages and frameworks coming up. But fundamentals and the basics will never change. So I think every dev should read these books.

Note: I have mentioned links from Amazon and it's not affiliated.

1. Clean code
This book explains various principles, patterns of writing clean code. And it also consists of lots of code examples, exercises, and real-time case studies of writing clean code. This book is not a one time read, this is a guide or reference for writing clean code.

2. Refactoring
Every developer should have ended up refactoring some code sometimes and you will end up doing lots of refactoring in the future too. So I think it's better to learn refactoring the right way.

This book explains why Refactoring is important, its process, and its principles of achieving it. It also provides various code examples and use-cases you can try. Again this is not a one time read, this is a reference book.

And I think with Refactoring, everyone will understand the need for TDD.

3. Pragmatic programmer - Your journey to mastery
This book is praised by various devs. And many talented and industry experts can't recommend this book more.

This book not only covers about coding but also teaches you how to lead the lifestyle of a programmer. Every dev should be reading this book much early in their career so that you won't be reinventing the wheel.

4. Clean Architecture
As the name suggests, this book explains how to architecture software. This book covers various topics in principles and disciplines in writing software, design principles of component separation, data management, programming paradigms, and others.

Every good software engineer will know that building software is always a trade-off. So you just have to make decisions based on various factors present to you. This book explains this very well and like the other books Uncle Bob has given the best.

5. Patterns of Enterprise Application Architecture
Software Architecture is always a difficult job to do and there are always mistakes that you might think you could have avoided. This book explains the problems of software architecture, common pitfalls that developers should learn from object developers bring in, basic design patterns, and others.

This book is basically into two parts. The first part explains software architecture and the second part is more of the reference part where it explains the architecture patterns. If you are interested in software architecture I think this book is a must-read.


I think it covers all. But I can't stop myself recommending TDD by example and Extreme programming.

I don't think I have to explain about TDD. It's hard to adapt to but I think that it is an investment you make in building quality software.

Extreme programming (XP) is one of the agile software development methodologies. It's better to learn what is XP, its lifestyle, how it can improve software development, how it is important to business, and others. XP is a lifestyle the entire team (or a company) live by and it has shown tremendous results in delivering quality software.


Thank you for reading and I hope you read these books. And if you got any recommendations you can comment on it. :) :)

Top comments (18)

Collapse
 
canro91 profile image
Cesar Aguirre

Also, I would recommend Clean Coder. It isn't about code per se, it's about all things related to coding itself: estimates, saying no...

Collapse
 
freddyhm profile image
Freddy Hidalgo-Monchez • Edited

I really enjoyed "The Passionate Programmer" and I don't think it gets mentioned enough. A few interesting takeaways:

  • know 3 types of languages: mature, experimental, and half-way
  • specializing in a business domain > specializing in a tech stack
  • you only improve by surrounding yourself with better engineers so embrace feeling lost and confused
Collapse
 
lschultebraucks profile image
Lasse Schultebraucks

Nice list.
Before reading Patterns of Enterprise Application Architecture I would suggest to read a book about Design Patterns like the classic "Design Patterns. Elements of Reusable Object-Oriented Software" by Erich Gamma.

Collapse
 
srebalaji profile image
Srebalaji Thirumalai

Agreed.

Collapse
 
hhccvvmm profile image
Héctor Valls

I would include Eric Evan's book Domain Driven Design in the list. I consider every developer should know concepts like bounded context or ubiquitous language and appreciate their importance when developing a product

Collapse
 
ozzythegiant profile image
Oziel Perez

Good job recommending books on the process of writing code and not programming languages themselves. Books that teach a programming language might be valuable if you plan to only specialize on that language, but most of the times you can get by with what you learn from tutorials, official docs, etc. With books like these though, you can apply the concepts to every language. Writing clean code, implementing patterns, organizing code into architectures and refactoring are all important for easier maintenance of applications, especially when working with teams.

Collapse
 
robole profile image
Rob OLeary • Edited

I recently read the 25th anniversary edition of The Pragmatic Programmer and was disappointed. Maybe, it was because I had previously read 2 similar books, which cover different aspects of making software. I prefer the style of these authors-books a lot more:

Collapse
 
kelston3 profile image
Kenny Elston

Really nice list. I’ve read Pragmatic and it’s definitely a must read for me too! I’d also recommend Code Complete that has been a great book for me

Collapse
 
wa1gon profile image
Darryl Wagoner

I am so glad that "Clean Coding" was #1. I changed the way I think about programming. Great list!

Collapse
 
srebalaji profile image
Srebalaji Thirumalai

For me too. Refactoring is also a very good book.

Collapse
 
k2t0f12d profile image
Bryan Baldwin

Many of those would make wonderful screen risers.

Collapse
 
jsifontez profile image
Juan Sifontez

Thanks for this list Srebalaji. I start with clean code soon as I can.

Collapse
 
picwellwisher12pk profile image
Amir Hameed

Wish these were free :D :P

Collapse
 
valker profile image
valker

I'd choose "Code Complete" by Steve McConnell.

Collapse
 
hasannadeem profile image
Hasan Nadeem

Great list!

Collapse
 
richardhaven profile image
No Clever Code

Anything by Brian Kernighan (he has recent ones too)
Mythical Man-Month
Psychology of Computer Programming
Peopleware
About Face (just the first one)