Flow

Most programmers have experience ‘Being in the zone’ while working where programming becomes effortless and time seems to pass without notice this optimal working state is what the psychologist Mihaly Csikszentmihalyi terms ‘flow’.   In this book Csikszentmihalyi explores the concept of flow and what is requires to trigger and maintain this most precious of working states.  The book is aimed at a general (i.e. public non-scientific) audience and as such is very readable.

I’d recommend this book to anyone who is interested in productivity and getting ‘in the zone’ more often.

Debugging

I wish I’d had this book when I first started out as a programmer!

It does not cover debugging techniques e.g. debuggers like pdb but instead focuses on a general purpose debugging methodology that could be as easily applied to many disciplines not just software development.  Its very short and very focused on the topic at hand with no fluff and some very amusing war stories from the debugging trenches.

This book is useful to anyone who needs to figure out why something is not working and resolve the issue.  I own both the paper and electronic kindle edition so I can have it at hand at all times as a reference.