Programmers Don't Read Books -- But You Should

It seems obvious to me that your definition of programmer is quite different from mine. Even though those top 5 are great books for programmers, they are too much software engineering-oriented. My point is, they do not have more value to a programmer than SICP, KR’s C and (yes) Knuth’s TAOCP. Programmers need to learn how to program, and that is done by reading up on as much code and different kinds of abstraction they can. A programmer would be just fine if he didn’t know jack about UML or software development process. It is much more valuable to a programmer, from the programming point of view, to buy and read—even if parts of—TAOCP than it is to read Peopleware, for instance.