Here's another idea: Since your friend is coming out in 9 months anyway and there's so much risk involved in trying to sneak in a programming book, he should probably spend his time developing another equally useful skill: writing well. As many other successful programmers have noted (Spolsky, Yegge) and demonstrated, effective communication, especially through writing, is a very useful and necessary skill for a programmer. So, maybe you should send him just some good books on writing well. In general books, I can think of Strunk and White, On Writing (by Stephen King). But some examples of good writing about programming could also help: The Best Software Writing (edited by Spolsky) Joel on Software (the best articles from his blog) Steve Yegge's blog posts (others might disagree but I think he is an excellent writer). Paul Graham's essays raganwald's old blog - http://weblog.raganwald.com/ James Hague's blog - http://prog21.dadgum.com/ Rands in Repose - http://randsinrepose.com/
Also recommended in this reply