How FreeCodeCamp created one of the largest online community media
👋 Hey, it’s Jaime. Welcome to my weekly newsletter where I share how thriving open source projects grow their communities:
Here’s what you have missed from past newsletters:
In this week’s newsletter, I share how Quincy Larson (@ossia) built freeCodeCamp into a community that helps millions of people learn to code every month by engaging in storytelling, encouraging everyone’s contributions, and focusing on accessibility to people across every income bracket worldwide.
I originally published a Twitter thread of this essay in February 2022. Since then, I’ve expanded the post. Enjoy.
Read time: 11-ish minutes
In 2014, Quincy Larson started freeCodeCamp (FCC) to help people transition into tech careers using free online learning resources. Since then, students have spent 10 billion minutes on its online course.
FCC is today one of the largest projects out there. And often times, we imagine that sharing something in open source will make it easy to discover, get adopted, and attract contributions. But this is, more often than not, not the case. And FCC is a powerful example of how you make people aware of an open project and how you get people involved to improve it.
I find Quincy’s journey fascinating, and I’ve been following freeCodeCamp for years, so I decided to dive in and share what I learned.
But before we start, here are some of the amazing achievements the online course has reached since its beginnings:
In 2018, freeCodeCamp.org had a $200,000 budget, and with that, it was able to get more visits than Codecademy, a coding education startup that has raised $47 million, and Udacity, a corporation valued at $1 billion, making it probably “the most capital-efficient organization in modern history.”
1 million students have joined the freeCodeCamp curriculum to learn coding.
Their courses have helped over 40,000 people find tech-related jobs.
When they were on Medium, freeCodeCamp created the biggest tech publication with over 500.000 followers in 4 years. Since they launched their Medium publication.
They have now published over 2,500 stories, which have received an average of 6,000 views each.
Their Youtube channel has over 8 million subscribers, 1,500 videos, and over 600 million views across all of their videos, averaging 400K views per video.
They’ve got thousands of contributors helping build, translate, moderate, and improve the platform.
With the help of their students, they’ve made over a million dollars in probono code for non-profits.
All of this, run by just 38 people as part of the team and hundreds of volunteer writers.
Not bad, right?
So how did they create one of the largest online courses? By creating one of the largest community media with hundreds of volunteers.
Here's how:
Step 0: Build a DEEP Solution
This is the pillar around which everything else is built.
Rob Fitzpatrick shares a formula in his book Write Useful Books to explain how to make a book become viral if you have no marketing expertise. It needs to be DEEP :
- Desirable: people want what you promise
- Effective: the proposed solutions deliver real results
- Engaging: It feel rewarding to participate
- Polished: It's looks and feels professional
The most important ingredients are the first two: Desirability and Effectiveness. If your product or proposal is desirable and effective, having a non-engaging or polished experience is less of a deal-breaker.
But it still helps a lot.
Quincy Larson is great at marketing, but freeCodeCamp is a very DEEP product as it understands what people want to become: Software engineers.
So it started with a very basic curriculum that was super useful to help users learn the basics of becoming a software engineer. aIt fulfilled a big demand, and once people saw that it worked and there was no barrier to access, they told others around them.
And it worked so well that little by little, FCC and its community have grown it to a 3,000-hour and 10 certification-long software engineering curriculum. Now they are actively working to expand it.
What do the people you seek to help want to become? How can you help them become that?
Step 1: Learn Storytelling
Early in his career, Quincy worked as a reporter for different newspapers.
Those first few years of working as a reporter helped him ask better questions, write and edit stories, and better understand how the world worked.
Step 2: Understand what's worth writing about
To get ideas on the most-asked questions, go to Quora or Reddit and see what people are more interested in.
To find the kind of content that's working, go to Medium and click through the tags to see what articles are doing well.
You can go to Quora and you can just see what people are asking questions about.
That’s a quick and easy shortcut to thinking of your own ideas. Because if people are asking a lot of questions about a specific topic, there’s a very good chance that that would be a good blog topic because people are obviously curious about that and interested in that.
Same thing if you go to a category on Reddit and see what people are talking about on a subreddit; or if you go to Medium and you just click through their tags and see what articles are doing well. There are all kinds of little things you can do like that to give you some ideas. And that can also show you what kind of content is working.
Now, you want to be careful because when you imitate something that’s working, you don’t know why it’s working. You don’t know the rationale behind why it was designed the way it was. You’re just imitating it. So that’s a little bit dangerous, and your results may vary dramatically if you do that.
But for me, it was very much just thinking about my domain, figuring out what was interesting about it, what all the different interesting angles were, and then sitting down and writing it. And I wrote a vast majority of the early blog posts myself.
For the freeCodeCamp community, Quincy noticed there were two types of articles or videos that really did well and resonated with FCC’s readers and viewers on YouTube.
The really strong technical article that is written to be as understandable as possible. He explains that “The author is not trying to showcase that they’re a quote/unquote “real developer.” They’re taking time to break down things, and they don’t assume too much of your current knowledge.”
The anecdotal stories, where somebody talks about how they encountered a certain situation and how they progressed, like somebody’s first hackathon experience or somebody’s first open-source project, or somebody who just got a job, or somebody who had a failed interview at Amazon or Google or something else, and then went on and got a job at Microsoft.
Step 3: Be Prolific
In the first three years on Medium, Quincy wrote almost one post per day, amounting to over 500 articles.
To keep people coming, he started writing articles on his own coding journey and other ideological stuff about why people should learn to code.
I was writing like one a day. […]
Don’t be afraid of sitting down and getting your proverbial hands dirty, writing stuff yourself, and being accessible in general; all these things. - Quincy Larson
This level of consistency and understanding of the topics that worked for his audience turned FCC's publications into the most prominent tech publication on Medium, with over 500,000 followers.
Step 4: How to distribute on highly-trafficked platforms where your audience is
Quincy started writing on a blog, but he quickly moved to Medium because it was growing fast and distributing content to like-minded audiences.
He also shared his articles on Hacker News and Reddit:
[…] Several times I was on the top of Hacker News and Reddit and places like that. And that just drove even more traffic. And with that huge influx of traffic, a lot of those people stuck around.
So that’s kind of how we got the early critical mass. - Quincy Larson
But getting this kind of distribution around a core product will only get you featured so many times; that’s where the prolific content comes in:
Primarily, it’s a way that people hear about freeCodeCamp and see it repeatedly. You can only get to the front page of Hacker Noon or Reddit so many times with just your core product.
But if you are creating a whole lot of relevant content around that central problem that you’re addressing—in our case, helping people learn to code and get developer jobs—then there are so many different angles you can take. And people are going to read it over and over; they’re going to read stories in your publication or on your blog, or they’re going to watch YouTube videos repeatedly.
And each time, they’re going to see your logo, and they’re going to understand that it’s associated with a greater organization. And over time, they’re going to think, “What’s this freeCodeCamp thing about? I keep seeing it everywhere. Maybe I should check it out.” - Quincy Larson
Step 5: To start scaling your publication's content, hone in on what works, and then get other writers on board.
Once FCC had a devoted audience and Quincy Larson had written hundreds of articles, it invited readers to contribute their articles.
The main benefit for readers to contribute was getting access to a platform to reach a whole lot of like-minded people and build their reputation. This, in turn, would increase the reach of freeCodeCamp’s platform.
For that, he shared a guide explaining why and how to contribute high-quality articles:
Early on, I realized that there was this relationship, like the resources help train people in the community, and then they turn around and improve those resources. So it’s a virtuous circle of freeCodeCamp getting better.
And the better it gets, the more people come and the more people want to contribute. - Quincy Larson
But giving a compelling reason to contribute and getting the manual out there is just the first part of getting people to take action.
Quincy has also invested a lot in developing relationships and the presence for people to invest their energy back.
“I try to live like, I think, the contributors would want to see me live in terms of I’m always answering their emails and I’m always available if they want to hop on a call or something and just hash out the ideas of their article.
And that is a big value-add for people who want to get published in freeCodeCamp, is that they’re going to have a second pair of eyes on this, and we’re going to help strengthen their article, and of course, they're going to get distribution through freeCodeCamp’s Medium publication.
That’s a big deal, because pretty much—I think the average number of views that an article we publish on there is 5,000 or 6,000. So if you get published in the freeCodeCamp publication, on average, you can expect to get 5,000 or 6,000. That’s actually the median. The mean is much higher because we’ve had several articles that have gotten millions of views. - Quincy Larson”
Step 6: Keep scaling editing roles
Quincy was the publication’s sole editor, editing and publishing 1,200+ submissions. As he got more high-quality submissions than he had time to publish, he needed help.
So he invited volunteers to become editors:
Investing first in building a relationship with writers has made it possible to have a large pool of editors when he was ready to invite the community to take on that role. Now Quincy was able to not only edit more articles but also build more relationships through the editorial team.
Step 7: Rinse and repeat for other channels
As freeCodeCamp's publication grew exponentially, the freeCodeCamp team decided to apply the same playbook to YouTube.
They shared a contribution guide on FCC's Youtube channel:
Today, FCC has more than 8,000 tutorials on its publication and 140 courses on Youtube from software engineers and university professors.
This community-driven content has enabled their publication to attract 600 million views, and their Youtube channel has 8 million subscribers.
Step 8: Get worldwide distribution by inviting the community to translate
Since 2020, the community has first started translating the curriculum and then has taken on the task of translating 9000+ tutorials and their most popular Youtube courses in many languages.
By now, it won’t come as a surprise that they created a playbook for that as well:
To recap, here's how freeCodeCamp scaled its community media:
Start with a DEEP product. What does your audience want to become? Is there enough demand for that? Build a solution that helps them become what they dream about.
Learn storytelling.
Understand what content and formats your audience cares about.
Be prolific.
Write and share your content where your audience is.
To start scaling your content, invite other creators on board and build strong relationships with them.
Rinse and repeat with other channels.
Once you have an international community, invite them to translate together.
To learn more about Quincy's spectacular journey and how he created one of the most popular online courses, you should listen to his excellent podcast and read his articles: