You can’t be a good software developer without reading. That’s just a straight up fact. Whether it’s blog posts, documentation, or good ole’ fashioned books, you have to keep educating yourself. The most common question I get from newer developers is “Do you have any good books you recommend?”
This is a pretty difficult topic as each person learns differently, and frankly, most don’t learn from books easily. There is a plethora of writing styles and book formats for software development, but here you go, some books I recommend anyone getting into software development should read.
1. Clean Code (and The Clean Coder) – Robert C. Martin
If you are going to buy one book of this entire list, this is the one I would suggest. It’s written extremely well and has actually changed the way I write code. It’s messages are so cleanly defined and easily understood, that I actually started using it’s best practices subconsciously. In the world of software development books, this to me is required reading.
It talks about writing code as a craft, not just a hobby or skill. Lines are thoughtfully constructed to be the most efficient and still be readable to passers by. It’s an inspiring look at the smallest tasks like naming conventions all the way up to framework development. The follow up book, “The Clean Coder” expands on the craft of writing code and goes into how to manage your career as a software developer. Also worth a read.
2. The Pragmatic Programmer – Andrew Hunt & David Thomas
The Pragmatic Programmer is also a language-agnostic book. While Clean Code focuses on the code itself (as the name suggests), this book focuses on the process. Ways to make you the most efficient at what you do. Programmers have a different mindset when it comes to completing tasks, and throughout the book, they urge developers to apply the same logic, efficiency, and rapid itteration through their entire project lifecycle.
3. Being Geek – Michael Lopp
At the end of the day, the only person looking out for your career in Software Development, is you. Your manager and HR department, while on your side, want to keep you. It’s up to you to evaluate your worth and determine where you are best suited. Being Geek has anecdotal stories throughout the career of the author, ranging from being a developer, up to management, and even back down to developer again. Lopp shares these stories in a way that is almost like entertainment, and you’ll almost forget you are learning how to manage your career.
This is a collection of blog posts, formatted as an eBook, containing stories and lessons learned from years in the software development field. Joel started Fog Creek Software, the developers behind one of my favorite task management apps Trello. While I can’t state he covers any one specific topic, this is a great look into the life of developers and the worlds around them.
And some domain specific books I recommend
This! This is the must have book if you are writing plugins or themes for WordPress. Be sure to get the 2nd edition, as it’s been updated since the original release.
And there you have it
All in total, that’s almost 2500 pages of some of the best writing about being a software developer I know of. I’ve read each of these personally, and while at times reading about writing code can be pretty boring, each of these books offers a different perspective on honing your skills as a craftsperson in this modern day trade.
Clearly there isn’t enough time in the day to read every book out there so, What are your recommended reads on software development?