Say you, a senior developer, get a junior developer straight out of uni or college to care under your wings. He/she is the typical freshly minted programmer: knows at least one mainstream language fairly good and perhaps some basic knowledge in a second or third; possesses the basic knowledge about search algorithms and data structures and when to use which; uses some form of coding standard consistently, but doesn't really grasp the notion of self-commenting code; have participated in several small projects of one or two team members and one larger project with 5-10 team members; etc.
Now, to ensure that your eager apprentice is mentally properly equipped before getting to work, which 3 technical books would you recommend him or her to read? These can really be any books, as long as they improve the developer's programming skills on way or another. (If you know a must-read book about a particular programming language and the project happens to contain lots of such code, do include that one in your list if you feel it applicable.)


