5 JavaScript Books You Should Add to Your Reading List
This post originally appeared as a guest blog on Course Report.
Ah, booksâthe time-tested technique for ingesting knowledge. Programming literature may not be as engaging as Codecademy or CodeCombat, but it will help reinforce concepts and provide perspectives youâd be hard pressed to find in an online course.
Here are five books you should read as you begin your journey as a web developer. Keep in mind that these books wonât teach you to code, so theyâre not substitutes for an online course or a coding bootcampâbut they are excellent supplements!
1. JavaScript Allongé
Thanks to frameworks like React and Elm, Functional Programming (FP) has made a huge resurgence in the development community. Yet very few developers understand the basics of Functional Programming beyond the .map()
and .forEach()
methods.
JavaScript is foremost a functional language, so you can stand out from the crowd of junior developers and improve your problem solving skills with an FP primer. The free JavaScript AllongĂ© eBook is a fun and elegant way to learn the essential concepts of Functional Programming from a JavaScript perspective. Youâll be a shoe-in for React and Elm projects.
2. Grokking Algorithms
More individuals than ever are joining the developer workforce from a background outside of Computer Science. While you donât need a CS degree to be a great developer, a grounding in Computer Science can foster a love of clever problem solving and design patterns to help you write smarter code.
Itâs unlikely youâll learn CS basics in a coding bootcamp, but you donât need to sacrifice four years of your life and $150k on a degree!
Grokking Algorithms is a delightfully unpretentious introduction to hallmark algorithms in Computer Science. The easy-to-follow explanations and colorful illustrations have made it a favorite with my students and mentees.
This is a book you shouldnât just read. Instead, I recommend scribbling on a whiteboard and pulling up a text editor to implement the algorithm as you read. Better yet, you can code it up with a Test Driven Development (TDD) approach: write tests first, then code up the solution to make the tests pass! Hereâs an excellent introduction to TDD from the folks at dwyl.
Grokking Algorithms is surprisingly comprehensive, but if you find algorithms as fun as my mentees have, youâll quickly run out. Vaidehi Joshiâs basecs project features illustrated guides to a growing list of algorithms, and was recently turned into a podcast.
3. JavaScript: The Good Parts
Stack Overflow has unintentionally become the go-to source for copy-pasting bad example code from JavaScriptâs darker recesses. For a new web developer, it can be hard to determine which parts of JavaScript are good to use.
Douglas Crockford is one of the early titans in JavaScript development. His essential guide, JavaScript: The Good Parts, is the traditional book that âevery JavaScript developer must read,â especially impressionable newcomers to the web community. As the title suggests, this book is not exhaustiveâCrockford focuses only on the good parts of JavaScript, leaving older JavaScript features to rot in cobwebby corners.
4. You Donât Know JS
On the other side of the spectrum, You Donât Know JS is a free and fairly comprehensive book series for learning modern JavaScript in its entirety. Itâs still not a replacement for a dedicated coding bootcamp, but of all the reads, it requires the least prior experience in web programming.
For hardcore bookworms, Kyle Simpson also sells a hard copy.
5. Mozilla Developer Network Tutorials
These books focus on core JavaScript and algorithms, but donât specifically address programming in the browser. Mozilla Developer Network (MDN) has amassed an exceptional collection of guides for programming in the browser. Though not strictly a book, the guides are rich with examples and links to references for the many APIs built into web browsers. The MDN guides make a fabulous supplement to any web course or bootcamp!
And of course, MDN is the authoritative source for reference documentation on any browser web API.
Honorable Mention: Eloquent JavaScript
The third edition of Eloquent JavaScript is out, and Iâve heard nothing but praise from my students. And the online version is free! I havenât yet read through it, so I canât recommend it firsthand. But at a glance, Iâm impressed by Marijn Haverbekeâs elegant teaching style for some fairly complex topics.
6. Books by Dead People
Reading is one of the best ways to cultivate your brain powers, so why stop with programming literature? We are continuously bombarded with the news and opinions of our time, but classic literature provides a chance to step back and glean wisdom from our collective past.
So read books by dead people! Here are some of my favorite classics:
- A Tale of Two Cities by Charles Dickens
- War and Peace by Leo Tolstoy
- Sense and Sensibility by Jane Austen
- Lord of the Rings by J. R. R. Tolkein
- Agatha Christieâs mysteries featuring Hercule Poirot
Pick good literature to fill your brain attic with. If the last time you read was in high school, delight yourself with just how many subtleties you missed in your English classes. You just might watch Netflix (a little) less thanks to your newly-developed craving for reading.
P.S. I wrote a book too! If you want to learn functional design patterns for Node.js backends, you can read a sample of my book, Functional Design Patterns for Express.js.
You can also check out TL;DR, the JavaScript codecast series that teaches working web developers to craft exceptional software in 5 minutes a week. We cover design patterns, refactoring and development approaches at the speed of vim!