Programming 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 : 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.
Smart and gets things done : Joel Spolsky’s concise guide to finding the best technical talent / Joel Spolsky. Apress, 2007.
This is for the HR person charged with hiring programmers, and the software manager. It is also obliquely for the programmer who is unsure why he does not like his current job, and needs to know what questions to ask of a prospective employer.
Spolsky writes in a lucid and flowing manner, as you will know if you have been reading his previous books on software design and his blog.
Professional C++ / Nicholas A. Solter, Scott J. Kleper. Wiley, c2005.
Here is everything a programmer needs to get going in C++. It’s a thick book, but it does not cover everything because there are so many details in C++. Job seekers will value the appendix, which lists likely interview questions. Managers who interview programmers will find this useful too.
Ajax in action / Dave Crane, Eric Pascarello; Manning, c2006.
Founders at work : stories of startups’ early days / Jessica Livingston. Apress, c2007.
Fascinating interviews with founders of technology startups including Paul Graham, Joshua Schachter, Mike Lazaridis, and Joel Spolsky.
Thinking in Java / Bruce Eckel. Prentice Hall, 2006
The most readable book on Java that I know of, and at 1482 pages it is a weighty tome. Read it all to improve your design skills, or use it as a reference.
C++ coding standards : 101 rules, guidelines, and best practices / Herb Sutter, Andrei Alexandrescu. Addison-Wesley, 2005
Such a simple yet invaluable book to anyone coding in C++, because code readability is so important. Lend it to co-workers and hope they read it.
The recommended standards are practical, and after you have read this book you will see them as common-sense. Each is supported by references to well known authorities.
Security engineering : a guide to building dependable distributed systems / Ross J. Anderson. Wiley 2008, hard cover
1000 very readable pages of straight talk on security. This affects almost everyone. The first edition was published in 2001, and the book appears to have been rewritten. I wish there was a new edition yearly.
According to B. Schneier, “It’s beautiful. This is the best book on the topic there is”.
Silence on the wire : a field guide to passive reconnaissance and indirect attacks by Michal Zalewski. No Starch Press, 2005
This book on internet security is much different than most. Firstly, it is a joy to read! It has no dry descriptions of the latest vulnerabilities, but instead it delves into the technologies that underlie the Internet, and explores their inherent limitations.