Reading List

Books

This page is inspired by the 'Reading List' pattern in Apprenticeship Patterns: Guidance for the Aspiring Software Developer.

Books I'm Currently Reading

  • Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2013). Data Structures and Algorithms in Python. John Wiley & Sons.
  • Thomas, D., & Hunt, A. (2019). The Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition. Addison-Wesley Professional.
  • Feathers, M. C. (2004). Working Effectively with Legacy Code. Prentice Hall.
  • Ramalho, L. (2022). Fluent Python, 2nd Edition. O’Reilly Media.

Recommended Books

These books have been recommended by friends, colleagues or appear regularly in bibliographies and reference lists. It will guide what I read next and will change over time as I identify gaps in my knowledge or develop new areas of interest.

  • Metz, S., Owen, K., & Stank, T. J. (2021). 99 Bottles of OOP: A Practical Guide to Object-Oriented Design, 2nd Edition. https://sandimetz.com/99bottles.
  • Fowler, M., & Beck, K. (2018). Refactoring: Improving the design of existing code. Boston etc. Addison-Wesley.

Books I've Read

A record of the books I've read, with the occasional link to a blog post where I've captured intriguing concepts and key takeaways.

2024

  • Martin, R. C. (2018). Clean architecture a craftsman’s guide to software structure and Design. Prentice Hall.

2023

  • Sielski, L., M. (2022). Should you Become a Software Developer? A book you should read before you decide to learn to code.
  • Giordani, L. (2021). Clean Architectures in Python (2nd ed.). The Digital Cat Books. https://www.thedigitalcatbooks.com
  • Percival, H., & Gregory, B. (2020). Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices. O’Reilly Media.
  • Hillard, D. (2020). Practices of the Python Pro. Manning.
  • Hoover, D., & Oshineye, A. (2009). Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. O’Reilly Media.