Bookshelf Updated on 19th July 2020
Over the past few years I have started to read various software engineering (and related) texts. I have begun to list some of the books I have read, along with other books that I am planning read. I'll try to keep this page as updated as possible.
Completed Reads
Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin, 2008, Prentice Hall
Even bad code can function. But if code isn’t clean, it can bring a development organisation 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. Noted software expert Robert C. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code "on the fly" into a book that will instill within you the values of a software craftsman and make you a better programmer — but only if you work at it.
Purchase at Amazon | Waterstones | Pearson
The Clean Coder: A Code of Conduct for Professional Programmers
Robert C. Martin, 2011, Prentice Hall
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.
Purchase at Amazon | Waterstones | Pearson
Clean Architecture: A Craftsman's Guide to Software Structure and Design
Robert C. Martin, 2018, Prentice Hall
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.
Purchase at Amazon | Waterstones | Pearson
Upcoming Reads
Working Effectively with Legacy Code
Michael Feathers, 2004, Prentice Hall
This book provides programmers with the ability to cost effectively handlecommon legacy code problems without having to go through the hugelyexpensive task of rewriting all existing code. It describes a series of practical strategies that developers can employ to bring their existing software applications under control.
Purchase at Amazon | Waterstones | Pearson
Refactoring: Improving the Design of Existing Code
Martin Fowler, 2019, Addison-Wesley
Martin Fowler's Refactoring defined core ideas and techniques that hundreds of thousands of developers have used to improve their software. Now, Fowler has thoroughly updated his book to reflect modern programming techniques.
Purchase at Amazon | Waterstones | Pearson
The Pragmatic Programmer: your journey to mastery (20th Anniversary Edition)
David Thomas and Andrew Hunt, 2019, Addison Wesley
The Pragmatic Programmer is one of those rare tech books you'll read, re-read, and read again over the years. Whether you're new to the field or an experienced practitioner, you’ll come away with fresh insights each and every time.
Purchase at Amazon | Waterstones | Pragmatic Programmers
Fundamentals of Software Architecture: An Engineering Approach
Mark Richards and Neal Ford, 2020, O'Reilly
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real guide exists to help developers become architects. Until now. This book provides the first comprehensive overview of software architecture's many aspects. Aspiring and existing architects alike will examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics.
Purchase at Amazon | Waterstones | O'Reilly
Head First Design Patterns: A Brain-Friendly Guide
Eric Freeman and Elisabeth Robson, 2020, O'Reilly
You know you don't want to reinvent the wheel, so you look to design patterns-the lessons learned by those who've faced the same software design problems. With design patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on something more challenging.
Purchase at Amazon | Waterstones | O'Reilly
Technical Blogging (2nd Edition)
Antonio Cangiano, 2019, O'Reilly
Successful technical blogging is not easy but it's also not magic. Use these techniques to attract and keep an audience of loyal, regular readers. Leverage this popularity to reach your goals and amplify your influence in your field. Get more more users for your startup or open source project, or simply find an outlet to share your expertise. This book is your blueprint, with step-by-step instructions that leave no stone unturned.
Purchase at Amazon | Waterstones | Pragmatic Programmers