In praise of O’Reilly Learning

I’m currently reading - or at least dipping into - lots of books. This is enabled by an amazing product, O’Reilly Learning. O’Reilly has a massive catalogue of books and videos, more than just those they have published (and they are the world’s largest technical publishers). Thanks to Prodigy Finance for paying my ACM membership which includes access to all of this (more below).

Changed Reading Behaviour

My reading list is long, far longer than I can get through in a month or maybe even a year. But my reading behaviour is changed thanks to having all of these books available. An item goes onto the list whenever anyone mentions it and it sounds worthwhile: at work or in a conference talk or in a reference from another book. I might read the whole book, or I might just treat it as reference material when I’m tackling a particular problem.

For instance I’m reading up on Design Patterns at the moment. The GoF book is a classic (I actually have that one IRL) but some of the examples feel a little distant (e.g. a lot of examples from desktop user interfaces). Design Patterns in Ruby by Russ Olsen has many more accessible examples, is a really easy read, and even goes into how you’d adapt the patterns with Ruby’s amazing dynamic goodness. Finally Refactoring to Patterns by Joshua Kerievsky contains advice on how to move from messy code to actual patterns, and crucially when not to do it.

These patterns books are really great in combination, and thanks to O’Reilly Learning I don’t have to pretend that there is a “best” option, I can move back and forth between all three.

The Actual List

With the vaguely “reading this now” items at the top and “haven’t started” items at the bottom, here is the list:

  • Design Patterns in Ruby by Russ Olsen
  • Refactoring to Patterns by Joshua Kerievsky
  • The Nature of Software Development by Ron Jefferies
  • Ruby Under a Microscope by Pat Shaughnessy
  • Software Architecture Fundamentals, Second Edition by Neal Ford and Mark Richards
  • Working Effectively with Legacy Code by Michael Feathers
  • Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
  • Continuous API Management by Mehdi Medjaoui et al
  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Video Enhanced Edition by Jez Humble and David Farley
  • Refactoring: Ruby Edition by Jay Fields, Shane Harvie, Martin Fowler and Kent Beck
  • NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence by Pramod J. Sadalage and Martin Fowler
  • Refactoring: Improving the Design of Existing Code by Martin Fowler
  • Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing by Ken W. Collier
  • The Manager’s Path by Camille Fournier
  • Service-Based Architectures by Mark Richards and Neal Ford
  • Accelerate by Jez Humble, Gene Kim and Nicole Forsgren
  • Continuous Delivery by Jez Humble
  • Release It!, 2nd Edition by Michael T. Nygard
  • Test Driven Development: By Example by Kent Beck
  • Training from the Back of the Room: 65 ways to step aside and let them learn by Sharon L. Bowman

A note for the imposter syndrome inclined: the length of this list reflects my inability to focus more than my reading speed. I’ve only actually started the first eight and only covered 30% at most of any of those. I’ll probably only have read and reviewed a small number between now and the end of the year.

Get cheap access to all of these

A reminder: with an ACM membership you get access for $40 per year if you’re in a developing country (yay South Africa!). The rest of the world pays $100, which is still a bargain, considering O’Reilly Learning on its own costs $500 annually. If you’re a tech professional and your company has a training budget, they’ll no doubt reimburse you.