DEV Community

Cover image for Books to Read as a Developer
Tina Huynh
Tina Huynh

Posted on • Updated on

Books to Read as a Developer

Choosing a career in tech. is choosing an endless life learning. But, then again, which career isn't like that? Improvement is critical after all.

The Pragmatic Programmer

This book doesn't focus on any one programming language but explains logic and provides wisdom for all languages. Topics include writing code, developing a great team, managing expectations, how expensive tools don't produce better designs, etc. A book by developers, for developers - not one to miss. Also, check out https://pragprog.com/tips/.

Refactoring: Improving the Design of Existing Code

Why and when do you refactor? How do you structure classes, methods, etc.? What are unit tests? How to refactor tools? This books takes you through it all! The examples are in Java, but can be applied everywhere.

Code Complete: A Practical Handbook of Software Construction

Wow, 960 pages! Every aspect of software development is contained in this book - code structure, code formatting, variables, methods, team management, etc. The amount of knowledge in this book will make you thankful you picked it up.

Peopleware: Productive Projects and Teams

A book on managing and motivating programmers, not about programming itself. Software development is not an assembly line process. It's a creative process!

Head First Design Patterns

13 essential patterns of basic design explained with plenty of examples and illustrations. It's not another book with endless pages of text blocks. Hand-drawn diagrams and illustrations keep you engaged while learning the concepts.

Clean Code

This focuses on how to write code that is easy to read and maintain, by a human being. It contains examples in Java that are helpful to illustrate the concepts.

Working Effectively with Legacy Code

Legacy code is not ideal to work with but most developers will have to deal with it at some point or another. For those who understand how to approach this the right way, working with legacy code can potentially be an exciting adventure! This book will explain how to examine and stabilize legacy code.

A Philosophy of Software Design

This newer book introduces programming principles that lead to good, maintainable programs. The book does not focus on any particular programming language. The concepts explained are widely applicable.

Conclusion

Do you have other books to add to the list? As potential software developers are making their way into the industry, new editions and new books are being written. What are the ones that have to be read? ...since one person can't have time to read them all.

Happy coding!

Buy Me A Coffee

Latest comments (46)

Collapse
 
polterguy profile image
Thomas Hansen

Somebody needs to say this out loud; The Hitchhiker's Guide through the Galaxy ;)

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Ah, another chance to mention my favourite programming book 😁

Collapse
 
tmchuynh profile image
Tina Huynh

OOoo Thanks for the recommendation

Collapse
 
jacksonkasi profile image
Jackson Kasi

nice :)

Collapse
 
mxdpeep profile image
Filip Oščádal
Collapse
 
mxdpeep profile image
Filip Oščádal
Collapse
 
filipparyz profile image
Filip Paryż

From your list I've already read through the Clean Code years ago and thinking about the next book. I'm considering the Pragmatic Programmer, Code complete and Working Effectively with Legacy Code. The last one scares me even though it would be very helpful in my work in the last year. Thankfully I don't need it for now, but may need the knowledge later on in my career. I'll probably go with Code complete for now on though.
Lately I've read through the "Data structures and program design using C++" and it was a journey for sure. Even though I knew most of the beginning, the later parts of the book cleared up a lot of things for me! I highly recommend it even if you don't work with C++! :)

Collapse
 
sojin_samuel profile image
SOJIN SAMUEL

When I was starting out my programming journey the one book which hit me hard and made me to concentrate in an entirely different way was a book called the one thing from Garry keller. and yes its not definitely a book about programming. but i can vow that this book will boost up your productivity and your concentration as a programmer to the next level.
this is from my personal reviews you can simple check out the book from here.The One Thing by Garry keller

Collapse
 
johnsti88036231 profile image
John Stinson

Great article! Tnx a lot!

Collapse
 
tmchuynh profile image
Tina Huynh

Glad I could provide useful information

Collapse
 
rcls profile image
OssiDev • Edited

Refactoring in it's essence is quite simple. I have been planning on reading Fowler's book on it, but I just can't understand how they made an entire book of a simple concept like that. Don't get me wrong, I love the concept of refactoring, but it's something that doesn't require an entire book to understand. Having read some of his previous books, I will most likely never read this one as they are not the most intriguing, really.

If you're interested in topics beyond just coding, I would recommend Domain Driven Design: : Tackling Complexity at the Heart of Software by Eric Evans. A must read for any great programmer and language agnostic. Also, Clean Architecture , by Robert C. Martin who also wrote Clean Code and Clean Agile (amongs other things). It contains things like the best description for SOLID principles, which are heavily used in his idea of clean architecture.

People interested in DevOps should definitely read Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations and The DevOps Handbook, for starters. There are other great books about DevOps too, and the ones I mentioned focus heavily on teaching the principles of DevOps at a team / organizational level.

There's one book about development I think I could recommend and that's Dave Farley's Modern Software Engineering, which is also quite language agnostic and speaks more about how to work iteratively and how to adapt to a learning mindset.

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the recommendations :D

Collapse
 
planet_cbx profile image
Charlène Bonnardeaux

On my side I’ve just finished the Art of logic by Eugenia Chang. It’s not really about programming per se but this book give me a sort of wisdom on how to think, how to solve issues and how to argue. And it was a really fun, and great writing book!

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the recommendation :) Non-programming books and programming books are both useful in its own ways

Collapse
 
sapling_nxt profile image
David

Also a very nice book to read is The Unicorn Project

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the recommendation

Collapse
 
cennydavidsson profile image
Cenny Davidsson • Edited

I think apprenticeships patterns (programmingbooks.dev/#apprenticesh...) and Pragmatic thinking and Learning (programmingbooks.dev/#pragmatic-th...) are two must read books. The earlier you read them in your career the better.

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the links and recommendations

Collapse
 
mrdavid0614 profile image
David Mora

Clean Architecture by Robert C. Martin 👌

Collapse
 
mrdavid0614 profile image
David Mora

Thanks for this books!

Collapse
 
tmchuynh profile image
Tina Huynh

Glad the list could be of use to you

Collapse
 
markadel profile image
Mark Adel

I would like to also recommend "Good Code, Bad Code" by Tom Long.