Still looking around in despair for a Christmas gift for your software engineer sweetheart?
Or perhaps you are simply looking into your next read for the coming holidays, figuring that sensation of sipping your favorite hot beverage, comfortably installed on the couch while you keep the cold weather at the door?
We thought to share with you our best reads of the year, as Continuous Improvement applies as much to human beings as it does to software.
The Visual Display Of Quantitative Information
This book by Edward Tufte describes the evolution of data diagrams over time. It showcases key milestones and outlines rules to maximize the clarity of diagrams and reduce clutter.
The book is a fraught with historical anecdotes and examples, but also contains lessons which can be applied to other fields than visual statistics display. The imperative to prioritize information and reduce clutter is essential to good user interface design and can be used there as well.
The Art Of Capacity Planning / Guerilla Capacity Planning
While not necessarily as fun a read, The Art Of Capacity Planning is a great read for those rare organizations which still have to deal with capacity planning, outlining not only technical details but organizational processes which can help better address.
In the same vein Guerilla Capacity Planning provides great insight and challenges established notion on the subject.
The Art Of Computer Programming
Few technical books command the same respect and reader commitment than The Art Of Computer Programming by Stanford professor emeritus Donald Knuth.
Envisioned as an exhaustive encyclopedia of algorithms, this yet-unfinished series of book lists through and demonstrates an incredible number of algorithms, and is very famous for its very broad approach to exercises - with problems ranging from “trivial” to “unsolved research problem”.
Reading it is more of a journey than punctual event, and typically takes many years of on-and-off reading to complete.
On the occasion of the fiftieth anniversary of this amazing book, the New York Times has just released a nice biography of the author, that will make you even more convinced about the need of having his work in your library.
A great book whether you’re a junior or an old timer, it won’t teach you how to program, but by following a few of the suggestions in this book, the code you write should be easier for those around you to understand and maintain.
Clean Code doesn’t try to innovate but it’s a surprisingly fun read. It points out the obvious, which sometimes really does need to be pointed out. It’s highly opinionated but it will make you think twice about the next function you write, the arguments, and whether that comment is really necessary!
You may not agree with this book at first, some will strongly disagree! But to get the most of it you need to apply and refine the techniques it introduces over many years.
Elements of Clojure
While focusing on Clojure, this book is a great read for anyone wishing to reason about larger system design.
With in-depth sections about naming, abstractions, and composition, it encourages thinking at a system level and forces us into challenging the reasons behind our architecture and thinking.
Clojure For The Brave And True
A very accessible and fun Clojure book for beginners, this takes a gentle hands-on approach to teaching clojure (no lisp experience required).
The Go Programming Language
Almost 40 years after publishing the C Programming Language, Brian Kernighan, along with Alan Donovan, have published a reasonably thorough and easy-to-read book on The Go Programming Language.
As with the C book, this book contains exercises at the end of each section, so open your text editor and get ready to write some Go!