23 October 2019 / #Freecodecamp
The Future of freeCodeCamp.org - Lessons From 5 Years of Teaching the World to Code
freeCodeCamp went live in October 2014. In the five years since, we've done quite a bit.
In this article, we'll explore:
What the freeCodeCamp community has accomplished over the past 5 years
Our annual budget, and the scale we now operate at
4 major improvements we just launched this week
Our big plans for 2020
This is the desk in my closet where I built the first version of freeCodeCamp in one long weekend of coding, 5 years ago.
Here are a few numbers to bring home the magnitude of what this community has accomplished.
More than 40,000 freeCodeCamp graduates are now working in tech at companies including Apple, Google, Microsoft, Amazon, and Spotify.
Millions of people watch freeCodeCamp's YouTube channel each month.
Millions of people read freecodecamp.org/news each month.
And people ask - and answer - thousands of tech-related questions each month on freecodecamp.org/forum.
freeCodeCamp.org is now one of the most-used technology sites on the entire web.
+-----------------+----------+
|     Website     |Alexa Rank|
|stackoverflow.com|       40 |
|github.com       |       85 |
|theverge.com     |      615 |
|wired.com        |    1,435 |
|freeCodeCamp.org |    1,596 |
|techcrunch.com   |    1,601 |
|codecademy.com   |    2,040 |
|udacity.com      |    2,348 |
|hackernoon.com   |    3,986 |
|dev.to           |    7,684 |
Popular tech websites and their Amazon Alexa rank (as of Oct. 9, 2019). freeCodeCamp.org is now the 1,596th most-used site on the entire web.
freeCodeCamp is a highly efficient donor-supported nonprofit.
freeCodeCamp has served more than 1 billion minutes of technology education so far in 2019. And our total annual budget is only $373,000.
That means that so far this year we've provided...
(1,120,000,000 minutes / $373,000) = 3,002 minutes
= 50 hours of use per dollar
That's right - 50 hours of free technology education for every donor dollar given.
freeCodeCamp is 10x more cost-effective than most online learning tools.
We're 100x more cost-effective than most in-person adult education programs like universities, coding bootcamps, and trade schools.
Even though we're a US-based NGO, only about 20% of people who use freeCodeCamp.org are here in the US.
Most of the people who use freeCodeCamp.org live in countries where people survive on $10 per day or less.
When you donate to freeCodeCamp, you're ensuring these people don't have to skip meals just so they can afford to learn to code.
You're ensuring that they can have access to the same free, time-tested learning resources that you have access to.
The future of freeCodeCamp
Now that you've seen the scale that freeCodeCamp operates at - and its sheer donation efficiency - let's talk about the future.
How are we going to help even more people understand the technology tools of our time?
This week's major updates
For the past year, the freeCodeCamp community has been working on a variety of performance and usability features.
We just shipped these improvements to production this week. They are now live at freecodecamp.org.
Here are some of the improvements we made.
Improvement #1: We made hundreds of curriculum improvements and bug fixes
Teachers and developers have gone through freeCodeCamp's curriculum and tightened up instructions and tests. The result is an even clearer, easier to understand learning experience.
Earlier this year, we started work on Version 7.0 of the freeCodeCamp curriculum. This is coming along well, and should go live in 2020.
We will still offer the same 6 certifications. And you'll still build the same 5 certification projects required to earn each certification.
But we're replacing the optional lessons in our current curriculum with new practice projects. You'll learn:
JavaScript by coding your own Role Playing Game line-by-line, test-by-test.
Typography by designing your own nutrition label.
Functional Programming by building your own spreadsheet app.
... and you'll learn dozens of other concepts and tools through similar project-oriented learning.
Improvement #2: A Bold New Design
We've combined retro-computing aesthetics with modern accessibility best practices. The result is new look I call "Command Line Chic."‌
You can toggle between light mode and dark mode from your settings.
And soon you'll be able to toggle dark mode right from freeCodeCamp's navigation, without even needing to sign in.
Improvement #3: It's now much easier to code on your phone
Since day 1, freeCodeCamp has worked to make it easier and easier to write code and run tests on your phone.
Our new version is the next step toward that goal.
A gif showing freeCodeCamp's new mobile experience. Image credit: Jackson Bates
We've broken lessons down into a series of tabs so you can easily switch between your code, instructions, tests, and preview.
We've also moved the buttons to the bottom of the screen so you don't have to scroll to get to them.
These are the first steps toward an even easier to use mobile interface.
Try working through a few freeCodeCamp lessons on your mobile phone. It still isn't quite as convenient as having a mouse and keyboard, but it's much easier than it used to be.
Improvement #4: Everything is way faster than before
We re-architected freeCodeCamp to be a fast JAMstack React web app powered by Gatsby.
Here is the Google Lighthouse score for freeCodeCamp's latest release:
A perfect 100 on Accessibility, Best Practices, and SEO. A 71 on performance, which is not bad for a JavaScript-heavy web app. We're working to further improve it.
Here's freeCodeCamp's full server architecture so you can see how we're operating at scale using CDNs and powerful new tools like Gatsby and Netlify:
A diagram of freeCodeCamp's 3 core services: /learn, /forum, and /news. They are spread across a number of tools and a number of cloud services. /learn is now a JAMstack app, and it's much faster than before.
We now manage all of freeCodeCamp's codebase in a single GitHub repository so we can automatically build, test, and deploy new features and bug fixes.
And for a more unified user experience, we've moved all user-facing subdomains of freeCodeCamp to subdirectories. For example, donate.freecodecamp.org is now at www.freecodecamp.org/donate.
freeCodeCamp 2020: More Tech Journalism. More Python.
Most people code on their laptops, with a keyboard, mouse, and fully-featured browser.
It's much harder to code on a phone. We are working to improve our mobile coding experience. But phones will continue to work better for consumption than creation.
When I was first learning to code, I could still use my time effectively when I was away from my laptop. I could use my morning commute to take in more general tech-related resources on my phone - articles, podcasts, and videos.
You can learn a tremendous amount about design, computer science, data science, security - all while away from your keyboard.
We can put these concepts in context by explaining tech news.
So for 2020, we'll still publish inspiring podcast interviews, in-depth tutorial articles, and full-length YouTube courses.
But we'll also publish a lot more tech news - and at high a level of technical detail.
What if Time Magazine articles had code snippets and database schemas?
What if Newsweek slowed down to explain technical topics layer by layer?
That's what we're building for you.
Tech Explained. No ads.
When you're not at your desk coding, you can learn about technology through the news.
We'll take big news stories like the latest big security breach or the latest computing breakthrough. We'll explain them as accessibly as possible, and in rich technical detail.
Being free isn't enough for us.
Ads slow down websites. They use up a ton of your data. And ad networks are the privacy equivalent of a burning oil spill.
We live an age of mobile apps with unblockable ads. Google is making changes to Chrome to prevent ad blockers from being able to block ads.
freeCodeCamp has never shown ads anywhere. No banner ads. No sponsored links in our emails. No "paid placement" articles on our publication. We don't even show ads on our YouTube. (We're the largest ad-free channel on the entire YouTube platform.)
I totally understand that ads are a good way of funding a website, a podcast, or a YouTube channel. Ads have enabled an incredible wealth of free learning resources.
But the world needs an ad-free tech learning resource, too. That's been us all along. And we're going to stay that way.
More Python
Python is by far the most popular search query on freeCodeCamp.
And it's the most popular topic on our YouTube channel.
Python is even becoming a part of standardized college exams in some countries.
Even though we have a ton of popular learning resources on Python, up until now we haven't yet included Python in freeCodeCamp's core curriculum.
Well, I'm happy to announce that we are adding Python projects and Python-specific certifications.
We are especially focused on Numpy and TensorFlow - two libraries widely used for data science and machine learning.
The world needs a free, nonprofit community for learning about programming and technology
Yes, there are plenty of question-and-answer communities out there that cover technology basics.
Yes, there are a lot of programming tutorial websites out there.
Yes, there are plenty of tech news sites.
The key difference is freeCodeCamp.org is a grass roots effort.
We do not answer to corporate overlords.
We do not run ads.
We are run by the developer community, supported by the developer community, and owned by the public.
We will continue to work tirelessly to help as many people as possible learn to code.
Together, we can build a future where everyone can harness the compounding superpower that is technology - not just a few engineers in Silicon Valley.
We are able to accomplish all of this thanks to more than 5,000 people who donate $5 each month to freeCodeCamp.
Remember my math from earlier? At freeCodeCamp's current level of efficiency, a single $5 donation buys the world the equivalent of 250 hours worth learning.
If you aren't donating yet, no worries. You can start donating $5 here.
One issue we're still working to fix
We are working on fixing an issue related to all the new code we just shipped. If you created your freeCodeCamp account before 2018, and are having trouble logging in, this is most likely due to a duplicate account. Send us an email at [email protected] and we can fix this for you.
Happy birthday to the freeCodeCamp community.
Thank you to all of you who have helped turn this free education experiment into such a profoundly useful tool for people around the world.
Here's to even more learning in 2020.
Introducing the fCC 100: Our Year-End Roundup of 2019's Top Contributors
From Homeless High School Dropout to Managing 25 Employees: The Hardest Decade of My Life
What is Quincy Larson's Net Worth?
How to make links accessible (Hint: colors are not enough)
Anna Monus
Anna Monus 3 months ago
#Angular
How I Built an HR Portal on Angular 4 and Magento
Shifa Martin
Shifa Martin 3 months ago