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 firewalls : attack detection and response with iptables, psad, and fwsnort / by Michael Rash, No Starch Press, 2007
Here is a good introduction to iptables and related tools, with script examples. Make good use of this book, and there is a good chance you and your company will never get hacked.
The new school of information security / Adam Shostack, Addison-Wesley, 2008, hard cover
The economics of security. This is not a large book, but it is very readable and full of insight, suggesting a new approach to security. One of the best books I have read this year.
Linux 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.
Designing Web navigation / James Kalbach. O’Reilly, 2007.
A book about design for web sites. Finishing with a section on navigation for web applications. Years ago, before the web, we would have called this GUI design. We have come a long way!
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.