I just graduated college with a degree in CS and took a job as a SE. I was curious to know if there were any books that would be valuble to help me bridge the gap between school and industry. Thanks for your suggestions.
I read these two books in the first few months at my job with a book club that included the other new hires and a good mix of more experienced developers.<p><pre><code> * The Pragmatic Programmer [1]
* Apprenticeship Patterns [2]
</code></pre>
I would highly recommend both.<p>[1] <a href="http://swanson.github.com/writeup/2010/10/25/pragmatic-programmer.html" rel="nofollow">http://swanson.github.com/writeup/2010/10/25/pragmatic-progr...</a><p>[2] <a href="http://swanson.github.com/writeup/2010/10/26/apprenticeship-patterns.html" rel="nofollow">http://swanson.github.com/writeup/2010/10/26/apprenticeship-...</a>
If you will be programming in Java, these books will serve you incredibly well:<p><pre><code> * Effective Java
* Java Concurrency in Practice
* Head First Design Patterns</code></pre>
Code craft is the book I normally recommend for people starting out. Code Complete which several other people recommend is a great book, but it's one of those books that make much more sense after you've been programming for a year or so.
I am sure you'll get enough suggestions on technical books so I won't bother suggesting one. But make sure to pay extra attention to communication. A huge part in software engineering is communication.
* The Pragmatic Programmer (Read this once every 6 months until it's obvious)<p>* Head first design patterns<p>* Agile Web Development with Rails<p>It's not obvious, but the rails book is a great introduction to test-driven development in general.