by Collin Ferry
How Long Does Free Code Camp Take?
I spent the end of winter in a solar-powered, stove heated cabin in Northern Utah. There was no shower, but we mounted a satellite to the roof and managed to pull in faster internet than my apartment in San Francisco. I decided to learn to code.
I wanted to use the isolation to learn something new. I’ve been technically minded for as long as I can remember, but my past attempts at coding have yielded unspectacular results.
I think this sinuous path of not-fully-learning did prepare me in some ways. I also hold a degree in Computer Graphics, which was much more heavily focused on design, animation, and modeling than it was on coding, but it did give me some foundational knowledge of HTML/CSS.
A lot has been written on “why coding” so I won’t beat a dead horse here.
The short version is this: smart people seem to agree that knowing how to code is a force multiplier for almost everything else in your life.
After digging around online to determine the best place to start, I decided to start working through Free Code Camp. The runner up was The Odin Project but Reddit seemed to agree FCC was the stronger starting point. And for whatever reason I trust Reddit’s hive mind when it comes to this stuff.
So I set a small initial goal of 2 hours/day and installed RescueTime to track myself. Here’s a glimpse into how it went.
I worked quickly through the first three sections. HTML5/CSS, Responsive Design with Bootstrap, and jQuery had an estimated total completion time of 13 hours, but according to RescueTime I knocked them out in just four. At this point I wondered if I was doing something wrong, but I decided to congratulate myself and keep moving forward.
The next morning I started plowing through the rest of the basic algorithms, writing some of the solutions in 3–5 minutes. I confirmed in the FCC chat that many people start off relatively quick and slow down over time as the relative difficulty increases (thus making the estimated completion times become more realistic).
That said, by the night of the fourth day I’d wrapped up the algorithms with a grand total of 18 hours on FCC (and an estimated 22 hours of total labor counting time spent on other research resources like the Mozilla Developer Network. The estimate at this point was 75 hours.
My original micro-goal of 2 hours/day had left me thinking I’d have completed 100 hours of work by the time I left my Utah hideout. Now that I’d become really inspired with the work I’d completed 75% of where I wanted to be in a mere four days.
I went into major heads down mode and didn’t take any progress notes for two weeks. The bad news is there’s little to report there, but the good news is FCC had me in a flow state for two straight weeks. By this point I had completed a skeleton portfolio (now a bit meatier) and built a Random Quote Machine as well as a really awful Lord of the Rings inspired weather app. On Day 17 I submitted my Wikipedia Viewer. Learning how to use APIs was fun and useful. It turns out you can build things of medium complexity without understanding back-end servers or databases (you can just plug into someone else’s)!
Working through the intermediate algorithms I found myself starting to see the difference between clean and ugly code. I also began embedding more notes to my code for later review. Somehow it took me this long to realize that console.log(“tests”) always get spat out in the JS developer console in the browser. I had started using https://repl.it to run code that would display the console logs as clear output. Kind of embarrassing now but hey — I didn’t let it stop me and now you know better.
I crashed my browser for the first time working through Sum of All Primes. Regardless, I ultimately worked out the issue and felt really great about getting 99% of the prime function solved without any outside research.
On day 33 I wrapped up the last of the advanced coding challenges. The next project (the first of the Advanced Front End Development projects) required building a JS Calculator. It was nice to dig back into the HTML/CSS side of things. I upped the challenge by live coding on FCC’s Twitch channel and ended up completing the project with a live audience of 24 people. This was great experience which required me to explain my code as I wrote it. Live coding also has a built in need to maintain momentum. It rewards a “move fast and break stuff” style of coding over a more research-heavy method.
Coding the Tic-Tac-Toe game proved to be (for me) the most exhausting project of all. For me, coding the AI wasn’t very fun or satisfying. In my opinion, my end result had weak AI and a sub-par interface. At the time I wondered if perhaps building interactive things like this simply wasn’t my passion.
77 hours reference and learning
67 hours software development
41 hours communication (including the FCC chat)
= 185 hours over the course of 45 days (or ~4 hours/day)
I ended up finishing the curriculum in about half the time.
I can’t recommend Free Code Camp’s Front End Dev program enough. Regardless of how long it takes you, it’s free, it’s easy to start, and it has an intelligent and accessible community (if I do say so myself).
I had found myself feeling intellectually starved and learning to code provided a satisfying stretch for old mental muscles. I’m moving back to San Francisco, and intend to continue this journey into tech.
If you’re learning to code, treat your education like the job that it is. Follow me and let me know how I can help! Never before have the huge gains of iterative progress been so clear as when learning to code.