Effective Java

Effective Java / Joshua Bloch, Addison-Wesley, 2008

“I sure wish I had this book ten years ago. Some might think that I don’t need any Java books, but I need this one.” — James Gosling, inventor of Java.

“This is a truly excellent book done by the guy who designed several of the better recent Java platform API’s (including the Collections API).” — James Clark, of XML fame.

Holub on patterns

Holub on patterns : learning design patterns by looking at code / Allen Holub. Apress, 2004

An opinionated look at design patterns. If you are using a language not known for rapid development then you want to choose the right patterns in advance so you won’t be refactoring too much. This book discusses which patterns are most useful, with examples in Java. Not recently written, but worth reading.

Programming interviews exposed

Programming interviews exposed : secrets to landing your next job / John Mongan, Noah Suojanen, Eric Giguère. Wiley Pub., 2007

If you work in technology, whether programming or similar, you probably need to look for new work now and then. This book is the best I have seen for advice on how to interview, negotiate pay, and prepare your resume. Useful to hiring managers too.

There is another way to approach this book.  More than half of the book is programming algorithms that you would learn in undergrad CS, and you can read it to refresh your knowledge.

Linux debugging

book coverLinux debugging and performance tuning : tips and techniques / Steve Best, Prentice Hall,  2006

This book is for programmers developing Linux applications, particularly if you have multiple processes or threads.  It has been useful in my current work.  In the open source world there is a profusion of tools available, to the point that it is hard to know which ones to use.  This book reduces your search to the top runners.

Programming collective intelligence

book coverProgramming collective intelligence : building smart Web 2.0 applications / Toby Segaran, O’Reilly, c2007.

Most programmers will find this book fascinating. What algorithm does Amazon use to predict what books are likely to interest you? Netflix with DVD’s? Google with search results? Example algorithms are in Python. With a foreword from Tim O’Reilly and a recommendation from Dan Russell, Google’s ‘Uber Tech Lead’.

Thinking inside the box

Thinking inside the box : the 12 timeless rules for managing a successful business / Kirk Cheyfitz. Free Press, 2003

This timeless book should be read by everyone wanting to run a business profitably. Or choose a business to invest in, or work for. It is quite readable, and the 12 chapters are independent so you can put it down at the end of a chapter without losing context.