Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for The 10 books that every developer must read
Roman Mikhailov
Roman Mikhailov

Posted on • Edited on

     

The 10 books that every developer must read

Hate it or love it, but reading is an integral part of our professional life. What makes a great software developer is the amount and quality of their readings. You can argue that you can substitute reading with video tutorials and workshops, but I will not be convinced. Good books contain thoughts and ideas that have been played in their authors' minds over and over, refined and adjusted before committed to paper. This subtlety is lost in all other means of knowledge exchange.

A definition of a good book will be different from reader to reader. Therefore, this post is opinionated. I wasn't sure if I should write it. There're more than 10 books that should be on your bookshelf! You might agree or disagree with my choices, then please post your books in the comments. I'd love to read them too.

Here's a list of books that defined my career as a software developer. I've read dozens if not hundreds of books. Yet, these 10 are the ones that seem not to age and I find myself coming back to them for reference or just reading again for fun.
You will notice I did not include any of technology books. No learn C#, JavaScript in 24 hours or mastering Node.Js. Rather my list concentrates on coding, design, style and best practices.

This list is not in any particular order, and one book is not better than another.

BookAuthorWhy I love it
The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martinhttp://amzn.to/2EqFxlbCompared to Law, Medicine, Engineering, Accounting, Programming is a relatevely easy field to enter. There're countless success stories of self-thought programmers. This book introduces to what a Professional Programmer is. The author shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martinhttp://amzn.to/2ssThWJEven bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way. " Another book by Uncle Bob, it is an opinionated book, but full of wonderful resources and advice on how to improve your code.
Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert C. Martinhttp://amzn.to/2Bsq7ddYet another book by Uncle Bob. This is an anticipated guide to Software Architecture. Soon to be a best seller like the other Clean Series. I believe the best way to improve your skill is learning from the best in the industry. Martin's half a century of experience is imprinted for us to study and apply in our trade.
Head First Design Patterns: A Brain-Friendly Guidehttp://amzn.to/2Hd6x57This is a great book for mastering The Design Patterns. Clear explanation, good examples and just practical.
Peopleware: Productive Projects and Teamshttp://amzn.to/2sxPBDsIT management is your ultimate goal? Read this book! Written in the 80s,it outlines the major issues with current management practices in software development field. It's amazing that most companies still make the same mistakes. If you won't move into management, at least this book will help you ask the right questions and look for red flags next time you're looking for a new job. Personally, I cannot chuckle inside when I hear "Open space office"
The Algorithm Design Manual by Steven S Skienahttp://amzn.to/2BszJ7SRead this book if you want to work for Google, Microsoft, Amazon or any company that loves to drill their candidates about Algorithms. Seriously, this is a must read for any programmer. The foundation for any efficient code.
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martinhttp://amzn.to/2CiZGDTThe book covers Design Paterns just like the Head First Design Patterns, but this book goes deeper in the world of OOP, software architecture and Agile Methodology.
Working Effectively with Legacy Code by Michael Feathershttp://amzn.to/2HaEKlYLegacy Code - You can hate it, but you cannot kill it. All code will be legacy at the end ;) Unless you're a hobby programmer, you will end up working with it. You will pull your hair out because of it. This book is sanity shield that we all need. Good Read!
Head First Object-Oriented Analysis and Designhttp://amzn.to/2CiYsZeAbility to analyze and design solid OOP systems is science and art. The programmer who can take upon a role of an architect is worth its weight in gold. This is a good introduction book to OOP
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomashttp://amzn.to/2EHdOfkThis book is a great read to fill the gaps that have been missed by all other books on this list. The authors will show you what it takes to master our trade, and hopefully they will equipe you with skill and idea to avoid the common pitfalls.

Top comments(6)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss
CollapseExpand
 
mtbsickrider profile image
Enrique Jose Padilla
  • Joined
• Edited on• Edited

I really like this list. I've read/own half of them already. Some are for different points of your career, like peopleware felt more for 5+ years experience.

Just bought the head first design patterns as ive seen alot of reccomendations for it and one of my interviews essentially asked me to implement the adapter pattern and i was stumped.

CollapseExpand
 
rommik profile image
Roman Mikhailov
Software Engineer
  • Joined

I feel that every developer will have to expand into project and people management eventually. Even if you're not an official manager and only interested in coding, you still need to work with people and deadlines. Books like Peopleware and The Clean Coder are great resources for that. I do agree with you, some books should be read at different moments in your career. Working with Legacy Code is not a fun book for somebody who's still learning to program :)

CollapseExpand
 
isaac_jzr profile image
Isaac
dev
  • Work
    Software Engineer
  • Joined
• Edited on• Edited

I really recommendGrokking Algorithms: An Illustrated Guide for Programmers and Other ByAditya Y. Bhargava

CollapseExpand
 
rommik profile image
Roman Mikhailov
Software Engineer
  • Joined

Thank you! I checked it out, it seems like a nice book to have for a quick refresher before an interview or a debate with a colleague :) It's actually listed as a best seller on Amazon (amzn.to/2CsL1G8 for those who're interested) It is only available in paperback, unfortunately. I usually read my books on a kindle (since moving to a new place I'm very short on bookshelf space hehe), but the illustrations are great and it's just a pleasant book to read.

CollapseExpand
 
alexzerah profile image
alexzerah
French developper❤️ music, movies, art + Multimedia art💙 spend time with friends + family💜 Sciences (Maths, Physics, ...)
  • Location
    Paris
  • Education
    Pole Léonard de Vinci : IIM - Ingenierie web et mobile
  • Work
    Full stack developper at Jolicode
  • Joined

Hello Roman, thanks for this sharing !

I want to read some web development books and your list is awesome.

However, this can be long to read them all, so in which order do you recommend the read ?

CollapseExpand
 
rommik profile image
Roman Mikhailov
Software Engineer
  • Joined

Hi Alexzerah, There's no order for this list. These are also books that I find myself re-reading. Unlike programming tutorials, it seems as I come back to them I keep discovering something new or see a point that the author made from a different point of view. I would suggest reading them all.

However, if you need to start from somewhere, the clean series are great.

Peopleware is a good book is about a project and people management. It is an interesting and different read compared to the other ones.

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Software Engineer
  • Joined

Trending onDEV CommunityHot

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp