Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Books for soon to be Software Engineers
46 points by cdmcnamara on May 7, 2011 | hide | past | favorite | 17 comments
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.

  * The Pragmatic Programmer [1]
  * Apprenticeship Patterns [2]
I would highly recommend both.

[1] http://swanson.github.com/writeup/2010/10/25/pragmatic-progr...

[2] http://swanson.github.com/writeup/2010/10/26/apprenticeship-...


Rule number one is you can't learn EVERYTHING from a book. I'd suggest contributing to open source projects and reflecting on what you learned...


I strongly recommend both of these:

  * The Practice Of Programming (co-authored by the 'K' in C's K&R)
  * Code Complete 2


Code Compete 2

Software Estimation: Demystifying the Black Art

Pro GIT

Debugging by Agans


Peopleware by Demarco and Lister is one of my all-time favorites. The Pragmatic Programmer is also great.


   Code Complete
   Being Geek


+1 for Being Geek. It's essentially a well-laid out rehash of Rands' blog posts over the years but I've found it good reading, even with the enormous amount of typos. I'm in the same situation as the OP, so the strategic career advice is much more relevant now than when I read it in the past.


If you will be programming in Java, these books will serve you incredibly well:

  * Effective Java
  * Java Concurrency in Practice
  * Head First Design Patterns


If you will be programming in Java, my condolences. (yes, I'm ready for the downvotes).

I'm sure there's some nice Java code out there. I recently agreed to do a Java project, and the 6 months I was at it sucked the joy of programming out of me.

I've spent the last few years doing Python, C and K, and in comparison, Java is so bureaucratic that I felt like 10% of my work was advancing towards my goal, and 90% was bureaucracy (compared to 20% bureaucracy in C, 5% in Python and 0.001% in K)

And as for books, I recommend Jon Bentley's "Programming Pearls" series, Steve McConnell's "Software Project Survival Guide" and DeMarco and Lister's "PeopleWare". The last two have more to do with project (and people) management than with software engineering - but you will need these skills much earlier than you'd expect, perhaps even in your first couple of months of work. And PeopleWare is a short and enjoyable read, you could put it in the "leisure" pile.


seconding effective java, in particular.

seems like there should be a good book on how to manage your boss / client but i don't know of one.


The Passionate programmer [Pragmatic series] - On how to develop yourself as a programmer

Coders at work - For inspiration


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)

* Head first design patterns

* Agile Web Development with Rails

It's not obvious, but the rails book is a great introduction to test-driven development in general.


hopefully your new company will be ok with using opensource components - so for sure read The Cathedral and the Bazaar by ESR


Clean Code


A Few Good Men from UNIVAC




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: