Skip to content

Instantly share code, notes, and snippets.

@Nava2
Last active August 29, 2015 14:13
Show Gist options
  • Save Nava2/f76676911ea8bb1d457a to your computer and use it in GitHub Desktop.
Save Nava2/f76676911ea8bb1d457a to your computer and use it in GitHub Desktop.
A short post about technical books for New Grads

Someone asked me about books for becoming a better developer/how to interview. Most of these assume you have some programming background, which I expect everyone does. :)

Programming

Java:

Effective Java 2nd Edition

An awesome book that will teach you how to be proficient and intelligent in your Java designs.

Dependency Injection (Java/JVM Languages): Google Guice

Learning about dependency injection is a modern technology that heavily improves developer work flow by removing the "wiring" of classes and applications together. Guice in particular is an awesome framework with heavy development and industry usage. Another example is Spring IoC (DI).

Design Patterns:

Design Patterns: Elements of Reusable Design

This book is a bible, it's an awesome reference. I don't suggest reading it cover to cover, but reading the summaries to familiarize yourself with what the patterns imply is awesome. Further, when you know what the patterns are you can open the book and look at them a bit more. The book does need to be updated, but it's still fantastic. It even comes with what I call "bible" strings to mark pages. OODesign is also an okay resource.

###Javascript

Javascript: The Good Parts

This is a really quick read and made me feel so much more comfortable with JS and get a feel for what the language is capable of. It's not entirely awful. CoffeeScript is a nice dialect that fixes a lot of issues with JS but requires an additional build-chain addition.. so there's some getting used to there.

C++

Effective C++

This one really helps with C++ programming. It's a cover-to-cover book like Effective Java, but for C++. I loved this book and I frequently reference it. That being said, it has minimal usage of C++11 in it, but the same author (who I quite like) wrote Effective Modern C++ which I'm currently reading.

Scala

Scala for the Impatient

I'm still trying to get my way through this one. I've quite enjoyed it, and my job has me looking into Scala again (thanks, Apache Spark!). Scala is beautiful and this book has been a good resource.

Programming Interviews:

If you want help with technical interviewing these two books are the best I've found:

Programming Interviews: Exposed

This book has longer problems with better explanations than CTCI, but the depth wins it for me. The problems are equally challenging though.

Cracking the Coding Interview

I love this book, there's tonnes of quick problems to get yourself more familiar with the data structures and general problems. The soft skills section is pretty lacking though, I would recommend working from the PIE for that stuff.

I spent more time on this post than I expected, I hope someone finds it useful. :$

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment