This is a list of "essential" books, which one has to read. Please send corrections/additional entries to me (omerm), I will update the list on demand.
    Programming
  1. "Unix Programming Environment"
    by Brian Kernighan and Rob Pike (note: I wouldn't recommend this book to new Unix users. It's seriously out of date, and parts of it were out of date when I first read it, in 1985).
  2. "The C Programming Language"
    by Brian Kernighan and Dennis Ritchie
  3. "C: A Reference Manual"
    by Samual Harbison and Guy Steele
  4. "Compilers: Priciples, Techniques and Tools"
    By Aho, Sethi and Ullman (a.k.a. "The Dragon Book")
  5. "Internetworking with TCP/IP"
    by Douglas Comer
  6. "Design of the Unix Operating System"
    by Maurice Bach
  7. "Programming Perl"
    by Larry Wall (a.k.a. "The Camel Book")
  8. "Unix Network Programming"
    by Richard Stevens
  9. "Essentials of Programming Languages"
    by Daniel Friedman and friends
  10. "Structure and Interpretation of Computer Programs"
    by Abelson and Sussman
  11. "C traps and pitfalls"
    by Andy Koening
  12. "the Design and Evolution of C++ programming language"
    by Stroustrupe
  13. "The mythical man/month"
    by Brooks
  14. "TCP/IP illustrated"
    by Stevens and friends
  15. "Thinking FORTH - A Language and Philosophy for Solving Problems"
    by Leo Brodie
  16. "The craft of software testing"
    by Brian Marick

    Culture

    General