We were looking for some book recommendations for some of the new people we hired recently. And here is an opinionated list of books and some of my thoughts around it.

These are some of my favorite books that I wish i had read, when I started programming. But I did start with enviable The C++ Programming Language, which though my personal favourite, I would not recommend to any newbie.

A few caveats

There are programmers and not Managers or Agile Coaches(whatever that means). They are early in their software development careers. They are going to be in a Application development/Consulting Shop (no Don Knuth for them)

General

Andy Hunt and Dave Thomas’ From Journeyman to Master

I wish i had read this book earlier, This changed the way i thought about programming.

Kernighan & Pike’s Practice of Programming

A very dated C/Unix based book, but still the book that makes us realize we are standing on the shoulders of giants

Erich Gamma et. al’s Design Patterns

This might be hard to read, but the practice of using some of the pattern rightly or wrongly in code will make you a much better programmer.

Dave ThomasProgramming Ruby 1.9

This was the best book when i started picking up ruby, and it is still the best book now.

Russ Olsen’s Eloquent Ruby

Ruby programmers are very opinionated, and this book helps newbie programmer to fit into that world much faster than reading other’s code and practice( thought there is no substitute for that)

Agile

Kent Beck’s Test Driven Development by example

The book that launched a million Test driven developers. It needs no introduction.

Martin Fowler’s Refactoring

The book that should be on the side of every programmer. Learnt so may techniques from this book.

Let me know if you have books that might be better?