Published January 18, 2016
I have a confession to make: I’m a bad developer and I’m ok with that.
I often write way more lines of code than necessary to solve a problem. My code is often hard to follow and probably full of bugs.
It’s not that I’m content with being a bad developer. I’m ok with it because I am constantly trying to get better. Reading books or blogs about programming can be beneficial but I’ve found that the best way to get better at writing JavaScript is to WRITE JavaScript.
That’s why I’m a fan of coding exercises, katas, and their ilk. Here are a few of my favorite resources.
Created by Katrina Owen, exercism.io uses “nitpicks” to push you to write better and better iterations of your code. A nitpick is essentially another user commenting on the quality of your code. This might sound intimidating at first, as it was for me, but all the feedback i’ve been given has been constructive and has helped me become a better developer. Exercises are available in a ton a different languages besides JavaScript too.
Rebecca Murphey’s JavaScript Assessment
Created by Rebecca Murphey, whose baseline for front end developers is a must read. JS Assessment is self-described as “a set of tests that can be used to assess the skills of a candidate for a JavaScript position, or to improve one’s own skills.” Each test covers a different part of the language in depth like arrays, flow control, and objects. These tests are an excellent resource for testing your knowledge of JavaScript.
nodeschool.io is more than just a set of tests. It is a programming curriculum with coding exercises to test your knowledge, all done in the command line. Despite the name they offer many other workshops besides node like basic JavaScript, functional JavaScript, and git. They also host in person workshops throughout the world or you can host your own if there is not one near you.
Functional Programming in JavaScript
This is actually a series centered around learning Microsoft’s Reactive Extensions Library but it covers a good deal of functional JavaScript along the way. The exercises have you solve problems the non-functional way before teaching you how to solve the problems in a functional style.
I know there are many more resources out there but these are a few that I’ve found useful. What are your favorites?
Joshua Colvin is a UI Software Engineer specializing in building component libraries. He lives with his wife and two kids in Michigan.