I found this article on Vishal Sharma's Blog on Startups, Technology, Telecom, Current Affairs very useful. The top 12 books listed here realy very important for every software developer or Engineer. I my self has read most of them but not all :)
The top 12 books listed here are:
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
- Code Complete, Second Edition by Steve McConnell
- The Mythical Man-Month: Essays on Software Engineering,
20th Anniversary Edition by Frederick P. Brooks - The Art of Computer Programming, Volumes 1-3 Boxed Set by Donald E. Knuth
- The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas
- Unix Network Programming, Vol. 1 and II: The Sockets Networking API, Third Edition by W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Richard W. Stevens
- Advanced Programming in the UNIX(R) Environment (2nd Edition) by W. Richard Stevens, Stephen A. Rago
- Algorithms in C, Parts 1-5 : Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms (3rd Edition)
- Modern Operating Systems (2nd Edition) by Andrew Tanenbaum
- The Protocols (TCP/IP Illustrated, Volume 1 by W. Richard Stevens
- Fundamentals of Database Systems (5th Edition)
by Ramez Elmasri, Shamkant B. Navathe - The Guru's Guide to Transact-SQL by Ken Henderson.