blog / 100-days-of-code

100 Days of Code

January 1, 2017


I spent my New Year’s Eve watching the Free Code Camp #Open2017 LiveStream, and one of the presenters, Alexander Kallaway, talked about his 100 Days of Code challenge.

I got up and wrote this on my whiteboard:

100 on whiteboard

The “official” version of the challenge is to spend at least an hour coding for 100 days in a row, and to post about your progress on places like Twitter and GitHub. The idea is to motivate yourself to practice, to actually sit down and do the work. The best way to learn how to program is by programming, so this is the perfect way for novices (and non-novices!) to improve their coding.

Tons of people have taken the challenge, or their own version of the challenge. Here are a few:

I love the idea behind the challenge, but the “in a row” part won’t work for me: I need time to write tutorials, do upkeep type stuff, and general code-related-but-not-quite-coding work. I actually tried to keep a daily dev log last year, but trying to do something every single day turns out to be pretty tedious. It stops being fun, and if you miss one day it becomes pretty easy to miss two or three or ten. Most of my days ended up looking like “I kept working on that same problem I’ve been working on for the past three weeks.” It’s probably one of the reasons I finally pulled the plug on Static Void Games, haha.

So, I’m going to do a slightly different version of the challenge and give myself the goal of creating 100 new examples for the examples section of this site by the end of the year. Some of these will take multiple days, some will be more bite-sized (or is that byte-sized?). In reality I’ll be coding pretty much every day, but I’m not counting stuff like writing tutorials (which take me much longer than an hour a day) or answering questions on Stack Overflow and the forum towards the challenge. But the goal is to create 100 separate things this year.

Behind the scenes I’m almost ready to publish a series of JavaScript tutorials, and then I’ll work on P5.js tutorials. So there’s a ton of room for creating new examples, and I’m pretty excited about where we’re going next.

This feels like a natural extension of everything I’ve done so far: this all started way back in 2009 or so when I started a “one program per week” blog, which lead to creating a site to host all my little programs, which lead to Static Void Games, which lead to tutorials, which lead to Happy Coding. So going back to a similar challenge feels a little bit like completing the circle.

I invite you all to take the 100 Days of Code challenge, or your own version of it. Even if you have no idea how to code, you can start with the tutorials and try to do one homework (at the bottom of each tutorial) every day. Then move on to the examples and challenge yourself to do one tweak idea (at the bottom of each example) every day. That’ll get you pretty far into your 100 days!

Let me know in the comments (or on Twitter or Facebook or the forum) if you’re doing your own challenge, or if you have any ideas for stuff you’d like to see as I do my challenge.

Alright, let’s get to work.