Here is a list of books I think anyone should read if he/she is serious about becoming a professional software engineer.
People come out of university with or without having read some of these books, I met someone who after several years as a professional programmer didn't know what was a hash table... These books will allow you to go far beyond what you learned during university:


  • Books about learning to program:
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
by Harold Abelson, Gerald Jay Sussman
Comment: "A great book to learn computer science from the very beginning."

The Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt, David Thomas
Comment: "All the good programming practices are inside."


  • Books about the Unix way of doing things:
The Practice of Programming (Addison-Wesley Professional Computing Series)
by Brian W. Kernighan, Rob Pike
Comment: "Beautiful code in there."

The Art of UNIX Programming (Addison-Wesley Professional Computing Series)
by Eric S. Raymond
Comment: "Very deep overview of what makes the unix style, strength and beauty."

In the Beginning...was the Command Line
by Neal Stephenson
Comment: "A science-fiction writer has his words to say on the traditional and most efficient way to interact with a UNIX machine. I loved this book, it is so true."

Unix Power Tools, Third Edition
by Shelley Powers, Jerry Peek, Tim O'Reilly, Mike Loukides
Comment: "Learn tips and tricks from top experts.
And don't forget to share experience with your colleagues: at some point this is one of the best ways to progress in UNIX / Linux.
"


  • Books about projects and life in a company:
Peopleware: Productive Projects and Teams (Second Edition)
by Tom DeMarco, Timothy Lister
Comment: "Whatever the technology, what's important is your people. Learn how to build and keep highly efficient teams through this book. One of my favorites."

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
by Frederick P. Brooks
Comment: "A classic."


  • Books about security:
Beyond Fear: Thinking Sensibly About Security in an Uncertain World
by Bruce Schneier
Comment: "Very high level security course."

Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition
by Bruce Schneier
Comment: "The bible of the OpenBSD developers.
Starting from the very first pages you will learn an unbreakable encryption algorithm: the one time pad.
"


  • Books on A.I. / Robotics:
Artificial Intelligence: A Modern Approach (2nd Edition) (Prentice Hall Series in Artificial Intelligence)
by Stuart Russell, Peter Norvig
Comment: "A reference book, covers also some robotics vision-related topics.
Drawback: only US-focused. Research from any other country is never mentioned.
"
Thursday, Mar 5


  • Books on specific programming languages/libraries:
Programming in Haskell
by Graham Hutton
Comment: "Good introductory book to Haskell and functional programming"

C Pocket Reference
by Peter Prinz, Ulla Kirch-Prinz
Comment: "short and clear."

C++ Pocket Reference
by Kyle Loudon
Comment: "Definitively shorter than Stroustrup's."

STL Pocket Reference
by Ray Lischner
Comment: "I really dislike the STL online documentation.
This book will answer your questions sharply and seat on your desktop.
"

Awk
by Edgar Aho
Comment: "awk stays one of my preferred unix tools."

sed & awk
by Dale Dougherty, Arnold Robbins
Comment: "If you want to upgrade your shell scripting skills without having to dive into Perl, this is the book."