I have a very light list to get this started, but will hopefully add some more soon.
Book Recommendations
- Title
- 99 Bottles
- Author
- Sandi Metz
- Year of Publication
- 2016
- Link
- https://sandimetz.com/99bottles
- Description
- This book offers a practical approach to learning and understanding object-oriented design. Using a simple exercise, it guides the reader through the principles of good design and refactoring. Great for Ruby developers especially. It talks about refactoring and building good, readable code using the “red-green-refactor” paradigm.
- Title
- Design of Everyday Things
- Author
- Don Norman
- Year of Publication
- Original 1988, Revised 2013
- ISBN
- 978-0-465-06710-7
- Description
- A classic in the field of design, this book explores the psychology of everyday objects and the importance of user-centered design. It’s a must-read for anyone interested in how design shapes our interactions with objects and technology. This book really helps you understand how to design things that are intuitive and easy to use which is something that is often hard when you’re close to the code and focus on the technical aspects of a project rather than the usability.
- Title:
- Refactoring: Improving the Design of Existing Code
- Author
- Martin Fowler
- Year of Publication
- 2018
- ISBN
- 978-0134757599
- Description
- Refactoring improves the design of existing code and enhances software maintainability, as well as making existing code easier to understand. Original Agile Manifesto signer and software development thought leader, Martin Fowler, provides a catalog of refactorings that explains why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use. This book is referenced a lot in the “99 Bottles” book I mentioned earlier. I have not personally read it but I’ve learned a lot of the concepts from it through colleagues that speak highly of it.
- Title
- Growing Object-Oriented Software Guided by Tests
- Authors
- Steve Freeman and Nat Pryce
- Year of Publication
- 2009
- ISBN
- 978-0321503626
- Description
- This book is an insightful guide to test-driven development in object-oriented software engineering. It covers the creation of software that’s resilient to change and meets the needs of its users, guided by a robust suite of tests. I’ll be honest, I have not read this one but it comes highly recommended by many people I respect.
Videos
The following lectures are by Jason Cheong-Kee-You, a software engineer and great colleague and teacher I had the pleasure of working with some years ago. The two talks are related but not directly so. The first is about Agile and the second is about coding. I highly recommend both.
Podcasts