Book Recommendations

If you were to ask me which books I'd recommend for gaining a deeper understanding of the discipline of software engineering, I'd reply with the below list. So now you don't have to ask me :-)

In general, my belief is that regardless what kind of engineering you do, you should have at the very least some knowledge of the layer beneath the one you work in. For systems folks, this means an understanding of computer hardware: caches, CPU's, all that fun stuff. For web developers, this means networks and their protocols. Only then can you really understand your own domain, and appreciate why things are the way they are.