Some notes that I've taken on becoming a good software engineer. How can I prepare myself to be a software engineer at Google?: contains some good resource links.