In early October 2014, my friends Yong Park, Dominique Schuwey and I decided to disband our project. Our product was an online course recommendation engine that took into account both where you were (your education background and work history), and where you wanted to go (we had 25 technical career fields from which to choose).

I’d built up the core technology over the past year. Yong, Dom and I then tried a number of things to boost engagement, including user experience overhauls and a gamification system. But it was clear that most learners needed more than a custom curriculum of courses.

In a signing-off Skype meeting, one of us brought up coding bootcamps. Maybe we should build a bootcamp!

But there were more than 100 bootcamps in the US alone. How could a tiny new bootcamp succeed in such a fragmented market? If we charged the average bootcamp fee of $15,000 per person and accepted 100 learners a year, we could probably afford to rent office space in San Francisco to serve as our “campus”, buy some Ikea furniture, publicize ourselves with online advertisement, and teach the learners ourselves.

We might break even, but we would never catch up with the bootcamp chains that are owned by for-profit university conglomerates. So we dismissed the idea and moved on.

But that conversation got me thinking about coding bootcamps. So I started meeting with bootcamp founders and bootcamp graduates, and breaking down their curricula and teaching methodologies.

The most striking thing I discovered about coding bootcamps is this: A majority of bootcamp participants are single male college graduates in their mid 20s.

I did some back-of-the-envelope math:

There are about 10 million Americans males aged 25–29. And only 1/3 of those people have college degrees. Which means that coding bootcamps are mainly addressing a demographic that constitutes less than 1% of the Americans who could ultimately benefit from learning to code.

And, of course, another 95% of humanity is unable to attend these US-based bootcamps for economic- or immigration-related reasons.

0*QWaR8jI7-5qhtpQ4
The typical coding bootcamp demographic — 20-something men.

The Challenge

The world needed a coding bootcamp that helped everyone else.

That meant:

  1. It should be fully online so that busy people with families, and people outside of the US, could participate.
  2. It should be inclusive rather than “selective”, and open to everyone regardless age, sex, race, country of origin, or English proficiency.
  3. There was only one for sure way to remove socio-economic considerations: make it 100% free.

Great! So I just needed to build an online coding bootcamp that could serve millions of people and was entirely free.

Challenge accepted!

0*UBeHAAzPYn-K72rz
Millions of Americans can and should learn how to code, but traditional coding bootcamps aren’t necessarily the best solution for them. (Photo credit: Steve Pfost)

Getting to Free

I’d recently read Chris Anderson’s “Free — The Radical Price of the Future” and Jeremy Rifkin’s “Zero Marginal Cost Society.” So I knew about the falling marginal costs of content and technology.

I looked at the online courses I’d used in 2012, after leaving my career as a school director to become a software engineer. I looked at all the tools I’d used to write and deploy code. I looked at the tools I’d used to organize projects and pair program. One thing that immediately struck me was that all of these tools and resources had been free.

That’s right — I was an educated middle class Californian, and even I had opted for free resources over paid. I’d worked through free courses on Udacity and Coursera, coded in open source programming languages for thousands of hours using an unregistered (free) copy of Sublime, held hundreds of pair programming sessions over Skype and Team Viewer, coordinated projects and hackathon teams with Trello and HipChat, and hosted dozens of websites on Heroku, all for free.

I wasn’t alone. I talked to a lot of people who learned to code outside of university, and a majority of them had also done so exclusively using free tools and resources.

Now that I was confident that there were sufficient free tools and learning resources out there, one big question remained: who was going to teach millions of learners for free?

0*pFn0geKDySDJgJ5V
Badges, like Khan Academy’s pictured above, are a deceptively powerful incentive for spurring intrinsic motivation in learners.

The Big Experiment

I’ve closely followed the work of educator Sugata Mitra, who won the 2013 TED Prize for his work on Peer Learning in India.

The basic premise of his work is that you can challenge a group of slum dwelling kids to learn, say, biochemistry, leave behind a computer with an internet connection, and the kids will teach themselves.

Kids who universally scored 0% on a standardized biochemistry exam (the exam was in English, and initially the kids don’t even know English) averaged 30% just two months later.

With the help what Mitra calls a “Granny Cloud” of volunteers who know nothing of biochemistry but simply encourage the kids, these same children’s scores then rose to 50%.

Here’s how it works: The children’s’ natural curiosity and discussion drive the inquiry, and the internet provides them with the repository of tools and references they need in order to learn.

Over the past decade, Dr. Mitra has repeated these experiments all over the world, with kids of different cultural and socioeconomic backgrounds, with similar outcomes.

Dr. Mitra has proven that uneducated, non-English speaking kids can learn advanced subjects by simply discussing things with one another and pursuing their curiosity on the internet. So couldn’t working-age adults learn to code in the same way?

I decided that Pair Programming, the popular practice of two people coding together on one computer, was the best way to recreate Dr. Mitra’s environment of slum-dwelling kids chatting back and forth and pointing at an internet terminal.

I quickly created some challenges ranging from “Deploy a Bootstrap Template to the Internet” to “Reverse Engineer Pinterest”, and posted them online. I created a chat room and instructed learners to download Team Viewer, a free screen sharing app that lets both users control the mouse and keyboard.

In choosing this route, I’ve opted for instructional design over instruction, and peer learning over a traditional lecture-based model. This eliminates the need for hiring busy and expensive software engineers to serve as teachers.

0*rnM-DuA0PfCOT0nD
Sugata Mitra, the educator whose “Hole in the Wall” experiment of putting computers in New Deli slums revitalized the peer learning movement.

The Goal

A traditional coding bootcamp provides learners with three things:

  1. skills
  2. portfolio projects and
  3. an alumni network of peers.

We wanted to provide those things, plus something more.

Software engineers are in short supply, and many of the organizations who need coding help the most are unable to afford it. So instead of the usual bootcamp capstone projects, I’ve invited nonprofits to submit projects for our learners to code on.

If this works out, not only will our learners build full stack production-grade apps, but those apps will meet nonprofit stakeholders’ needs, and have active users as a result.

For employers, the most compelling portfolio projects are custom apps that lots of people are using.

Our progress so far (since launching in October):

  • 340 People have signed up
  • 40 People have completed the first two challenges
  • 7 Nonprofits have signed up to serve as stakeholders for our learners’ projects
  • We’ve created 20 challenges
  • We average 10 people in our chatroom at any given time
  • We’ve had dozens of pair programming sessions between people on 6 continents

The path forward

My short-term vision is to build a critical mass of learners who hang out in our chat room so that you can log in at any time of day and reliably pair program with someone who’s at the same proficiency level as you. I’m hoping we can get there by early 2015!

0*NKhvHyh6NnM-EaFW
Some of our community members hanging out in the Free Code Camp Chatroom as I type this.

Get involved with our community by logging in to freeCodeCamp.org and start pair programming on some of our challenges.

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