DEV Community

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

Posted on • Edited 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

Oldest comments (46)

Collapse
 
sumant1122 profile image
Sumant

97 Things Every Programmer Should Know - This book covers wisdoms from experienced programmers who point out the key skills and techniques required.

Collapse
 
diballesteros profile image
Diego (Relatable Code)

i second this. Just a lot of best practices and its very digestible.

Collapse
 
peerreynders profile image
peerreynders
Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the link

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Improve code by removing it

Is still my absolute favourite programming quote by far and will likely continue to be forever. That book really is the "art of war" of programming :D

Collapse
 
ksaaskil profile image
Kimmo Sääskilahti

Great article! I love Pragmatic Programmer, I refer to the tips regularly pragprog.com/tips/

I would also recommend Software Engineering at Google, it's a fantastic reference for everyday work.

Collapse
 
tmchuynh profile image
Tina Huynh • Edited

thanks for the link and suggestion! I will definitely look into it and add it to the article <3

Collapse
 
lorenzojkrl profile image
Lorenzo Zarantonello

I agree with Kimmo on Software Engineering at Google! Take a look at that:)

Collapse
 
carlosds profile image
Karel De Smet • Edited

I also firmly agree! It is more high-level than the average book on software development, yet adds so much value to different domains (testing, metrics, code analysis ...). And it really explains in-depth how Google approaches the different aspects of software engineering. An absolute cracker!

Collapse
 
tmchuynh profile image
Tina Huynh

Thank you for the suggestion

Collapse
 
tythos profile image
Brian Kirkpatrick

Great recs! I'd also add (while not as pragmatic to developing day-to-day programming skills) the excellent "Masterminds of Programming", by Biancozzi and Warden (https://smile.amazon.com/Masterminds-Programming-Conversations-Creators-Languages/dp/0596515170/ref=mp_s_a_1_1?crid=1XX8IL4F0BZRN&keywords=masterminds+of+programming&qid=1648103695&sprefix=masterminds+of+Programming%2Caps%2C152&sr=8-1). It's a series of interviews with the designers of different programming languages, partly trash-talking each other but also with some fascinating insights into what trades and objectives go into different languages, their features, and their quirks.

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the suggestion and links :) I will definitely look into it

Collapse
 
parenttobias profile image
Toby Parent

Head First Design Patterns is absolutely an incredible resource. The examples are useful in a more abstract sense (if you can separate Java from concept, you're good!), and the tone is playful and readable.

I'm also a fan of Clean Code by Robert Martin, and Composing Software by Eric Elliot. I have a "top 50" list saved as ebooks on my tablet - even on vacation or on the road, nerd-reading is the best reading!

Collapse
 
tmchuynh profile image
Tina Huynh

What are some of the books you have on your top 50? 🤔

Collapse
 
rpoirier profile image
Reese Poirier

Ditch Clean Code, but otherwise it's a good list.
We really should be actively working to deplatform "Uncle Bob" not inflicting him on the next generation.

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the suggestion :) always appreciated

Collapse
 
thenickest profile image
TheNickest

Why is that? I am 1/3 through it and was able to get some inspiration.

Collapse
 
plainsight16 profile image
Timilehin Bakare

Why should we "deplatform" Uncle Bob?

Collapse
 
ikembakwem profile image
Ikechukwu Mbakwem

"40 Algorithms Every Programmer Should Know" written by Imram Ahmad

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the suggestion :) I have been looking at that book actually. What do you like about it?

Collapse
 
ikembakwem profile image
Ikechukwu Mbakwem

A list of good reads you've mentioned.

Thread Thread
 
tmchuynh profile image
Tina Huynh

Thank you

Collapse
 
oanouman profile image
Martial Anouman

Good recommandations. thanks!
I will also suggest the Robert C. Martin collection.

Collapse
 
tmchuynh profile image
Tina Huynh

Thanks for the suggestion

Collapse
 
markadel profile image
Mark Adel

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

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