“Teach Yourself to program in 10 years.” That’s how Peter Norvig — a Berkeley professor who now runs Google’s research division — chose to title his classic essay on the importance of practice in learning to code.

In this essay, he shares the secret to getting good at coding:

“The key is deliberate practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music.”

Free Code Camp’s curriculum has always emphasized deliberate practice above all else. And this has paid off. In the 13 months since we launched our open source community, “campers” — as we call ourselves — have built important projects for nonprofits and landed challenging software engineering jobs.

No one can provide you with the full 10 years of deliberate practice that Dr. Norvig recommends. But we’re going to go much further than anyone else has gone toward this ideal. We’re going to offer you a solid year of mind-expanding, ability-stretching challenges.

In doing so, we’ll give you the beginnings of your coding superpowers. Your employers (or your paying clients) will then provide you with the rest of the work you need to round out your quest toward coding greatness.


Funny comic. Wait — did you just say a full year?

Starting January 1, 2016, Free Code Camp will provide a solid year — 52 forty-hour weeks, totaling 2,080 hours — of deliberate coding practice.

We will offer 4 verified certifications, each with optional waypoint challenges, followed by open-ended projects, which you’ll build up from nothing more than a list of requirements (agile user stories).

Let’s break down what you’ll build during these 2,080 hours:

Front End Development Certification (400 hours):

  • 30 JavaScript algorithm challenges
  • 10 single-page applications built with HTML5, CSS3, JavaScript, Bootstrap, and JSON Data REST APIs

Data Visualization Certification (400 hours):

  • 5 single-page applications built with React.js and Sass
  • 5 Interactive D3.js data visualization applications

Back End Development Certification (400 hours):

  • 30 more JavaScript algorithm challenges
  • 5 JSON Data REST APIs and Microservices, and their documentation
  • 5 dynamic web applications

Full Stack Development Certification (800 hours):

  • Requires completion of all three of the above certifications
  • Design and build 2 greenfield full stack applications for real nonprofit organizations
  • Maintain and extend 2 legacy full stack applications for real nonprofit organizations

As always, these certifications are all free, self-paced, and open to anyone with the willpower to achieve them.

We’ll also expand our optional challenges, for improving both your theoretical and practical knowledge:

  • 100+ hours of optional interactive Waypoint challenges on HTML5, jQuery, React.js, Node.js, and everything in between.
  • Hours of interactive video lessons (Hikes) that cover computer science, software engineering, agile software development principles, and user experience design.
  • After you finish the Full Stack Development Certification, you can do a further 80 hours of coding interview training, including mock interviews.

If you’ve already started Free Code Camp, these changes are probably a lot to take in. So let’s answer some questions you may have.

In a nutshell, what’s changing?

We’re adding 10 new Data Visualization Ziplines, 5 new API/microservice Basejump challenges, and a ton of interactive theory videos.

Why is Free Code Camp so much longer than any other coding curriculum?

In the words of Wordpress Founder Matt Mullenweg, who announced last week that Wordpress was transitioning toward Node.js and React.js: “What would we build if we were starting from scratch today, knowing all we’ve learned over the past 13 years of building WordPress?”

Well, this is the curriculum that we would build if we were to start from scratch today, knowing all we’ve learned over the past 13 months of building Free Code Camp.

It’s clear from talking with employers that Sass, React.js and D3.js are of growing importance. The skills involved in building REST APIs and Microservices, and maintaining complex legacy codebases, are as in-demand as ever.

All signs point to these being relevant additions that are worthy of your scarce time.

This is insanely ambitious. How will you create all these new challenges by January 1, 2016?

Several of our open source contributors are already working on designing these challenges.

We’ll have the new Zipline challenges ready by January 1. Then we’ll gradually introduce optional Waypoints that walk you through using Sass, React.js and D3.js.

If you reach these Ziplines before the Waypoints are ready, you can use external resources, or learn the way most developers have historically done — by reading through the official documentation and experimenting.

What if I just want to get one or two of the certifications, and not all 4?

We recommend completing all of these certifications so you can maximize your compensation and employment options.

This said, aside from the Full Stack Development certification, you could in theory earn any one certification without earning the others.

How will the coding interview preparation work?

After completing our certifications, you can watch a series of videos that explore the coding interview process. Then we’ll set you up with a series of mock interviews that simulate typical whiteboard coding and pair programming interviews.

We’re still designing the infrastructure for this. Like everything else, it will be free and open-source.

I’m currently working through the Front End Development Certification. What does this mean for me?

Nothing will change about the Front End Development Certification. Keep up the hard work!

I’ve finished the Front End Development Certification, and am currently working toward the old Full Stack Development Certification. What will happen to this certification?

The old Full Stack Development Certification is now our new Back End Development Certification. Our new Full Stack Development Certification is now awarded when you complete everything, including our nonprofit projects.

The only changes we’re making to this Back End Development Certification is removing the Angular.js Waypoints and adding a few additional REST API projects. These will be easier than the Full Stack Projects you’ve already started.

Why React.js over Angular.js?

Though Angular.js still enjoys strong demand from employers, it’s clear that React.js is slowly taking its place.

Wordpress — which powers 25% of the internet — decided to go with React.js over Angular.js. This is just the latest signal of React.js’s increasing importance and staying power.

Why Sass over Less?

Sass was already more popular than LESS, and on top of this, Bootstrap 4 (which we’ll teach as soon as it’s stable) is abandoning Less for Sass. This makes Sass the most dominant CSS pre-processor.

I have other questions.

Post a comment and I’ll do my best to get you a quick answer.

I only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?