Petro Podrezo Software Engineer


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