

I'm already a professional programmer, and I've been doing it for quite some time now. And not to be cocky, but I think I'm pretty good at it; I'm the lead developer in my department, and I'm the co-lead of a pretty successful open-source project.



Still, I never studied computer science (in college I majored in literature). In some sense I think this puts me at a disadvantage — not in terms of hireability or pay grade or anything professional, but when I'm talking to other programmers, it often seems there's a shared vocabulary I'm missing.



So I'd like to come up with a reading list of essential computer science books. I'm thinking big here: I'd like to spend at least the next year or two reading heavily, and I read very fast. If possible, I'd like to put together a list that rivals what one would read in a graduate CS program.



So, hive mind, what should I read?

I'm trying to come up with a reading list for a "personal comp. sci. degree" (along the lines of Josh Kaufman's "personal MBA" reading list). What books should be on my list?