Book - Philosophy Of Software Design

This is my short list of ideas I've taken away from reading a Philosophy of Software Design by John Ousterhout.

I agreed very strongly with all of the above. The idea of 'deep' interfaces expresses something I have been previously unable to express succinctly, and I will try to apply this in my own code and reviews. I also think I will try this tip:

I disagreed on some minor points:

I would recommend this book to pretty much all software developers at any level. I think everyone in software could find something to take away and use in their work, to the benefit of their projects (and colleagues!).