Must Read: The You Don’t Know JS Series

Usually when I review a tech book, I’ll give more details on the content and be specific about things I liked and didn’t like. However, this post will be more of a recommendation for the You Don’t Know JS series. I’ve read the first two books, but not recently enough to dig into specifics.

I thought I would start with a quick background of my experience. I spent my first 14 years (as a programmer) doing server-side Java. I burned out on that, and wanted to move into something else, so my next (brief) step was working on a native Android app for a previous company. After they completed the Android app, they wanted to start work on an iOS app. Having no Objective C experience on the team, they elected to try a hybrid app using PhoneGap. I was chosen to be the sole developer, so I got to jump in and learn proper JavaScript…and Backbone, RequireJS, Grunt, jQuery Mobile, etc…all at the same time! A bit overwhelming, especially since I had the same opinion as most other Java devs: JavaScript was silly and I didn’t want to mess with it.

Well, my mind quickly changed about 2 months into developing the iOS app. To learn JavaScript, I read a bunch of books..learning to respect JS as a programming language instead of “just a scripting language”. I quickly, and surprisingly, fell in love with JavaScript. And realized I didn’t want to do anything else. I lost interest in native mobile development, and decided that the next stage of my career would revolve around front-end development and hybrid mobile development (they can overlap quite a bit). To wrap this career summary up, I’ve spent the last 2 years focused solely on JavaScript, including most of the last year doing AngularJS-related stuff.

I see so many recommendations for JavaScript: The Good Parts by Douglas Crockford. It seems the book most recommend if you want to go from a good JS developer to a great JS developer. While I understand why The Good Parts gets so much love, I never really connected with it. And now, I think there is a better way to dig deep into the workings of JavaScript: The You Don’t Know JS (YDKJS henceforth, to save typing) series.

At the time of this post, the first two books in the YDKJS are available, though it looks like three more will be published over the next few months. The series appears to be:

Finally, we get to the whole purpose of this post. If you have an interest in JavaScript, care about the craft of programming, and REALLY want to know JS inside and out, the YDKJS series is a MUST read. I feel like I know JS pretty well at this point, though of course there is always more to learn. But I learned quite a bit from the first two YDKJS books. I will say that I think its best that you already know the basics before tackling these books. And even if you know JS well, be prepared to read some of the topics more than once. The author really dives deep into the corners. While some of this knowledge might not appear to help you in your everyday work, this is stuff you need to know. The better (and deeper) you know JS, the better your code will be.

So…if you want to become a serious JS developer, the YDKJS series is a must-read. I’m really looking forward to the rest of the books. I’m sure I’ll continue to find out that I don’t know JS quite as well as I thought (hence the appropriate title for the series). Again, sorry for the lack of detailed analysis of these books. I just wanted to recommend them, as I think they are 2 excellent technical books.

On a semi-related topic…I am mulling the idea of posting about how transitioned from a Java developer to a JavaScript developer. I’ve seen Java folks as that question on reddit, and thought I might give some background on how I approached it.