Here's a starting point: http://blog.fogus.me/2011/09/08/10-technical-papers-every-programmer-should-read-at-least-twice/