freecodecamp founder & teacher
Quincy Larson is the founder of and teacher at freeCodeCamp, an open source community that helps people learn to code and help nonprofits—for free.
Within two years since its establishment, freeCodeCamp has grown to over a million registered “campers”— thousands of which have either landed their first developers jobs or have earned their way to landing better jobs. Once a camper completes the first 1,200 hours of challenges given by freeCodeCamp, they’re also able to start contributing to open source projects used by dozens of nonprofits.
Alongside managing a rapidly growing community, Quincy’s a prolific writer and is the editor of Medium’s largest technology publication, often exploring topics around all things programming and self improvement.
Quincy is without question one of the strongest visionaries and most inspiring entrepreneurs I’ve had on for TMB, and as we dive into his purpose in the following chat, you’ll find out why he’s just an all around great human being.
A special thanks to Hover, our domain management provider, for their partnership and extended generosity in making The Modern Block possible. Use code “modernblock” at checkout to save 10% on your first domain purchase.
Can you give me an overview of your background prior to freeCodeCamp, how you got into coding, and perhaps why you founded the community? As a school director, I dabbled in coding, writing Excel scripts and automated tasks with tools like AutoHotKey. These scripts freed our school’s teachers and administrators from an unbelievable volume of tedious work, allowing them to spend more time with students. After seeing what even a tiny amount of coding skills could accomplish in a school environment, it became clear what I needed to do.
A decade earlier I’d dedicated my life to teaching. But starting in 2012, I further narrowed my focus to teaching people how to use technology. At first, I thought my mediocre coding skills would suffice. After all, I was an experienced manager who had domain expertise in education. But it became immediately clear that people who can code have better things to do than build your dreams for you.
Thus began my detour into software engineering.
I snapped this selfie the Saturday morning after my last day at my corporate job. I got up early and dressed in a suit to reinforce the seriousness of the task at hand: I was going to learn to code! I wrote: “My new office — the kitchen table! I clock in here every morning at 8 and until 6, I only get up for ‘bio-breaks’.”
I proceeded to make just about every mistake a new coder can make. I spent months sitting alone in libraries and cafes, blindly installing tools from the command line, debugging Linux driver problems, and banging my head over things as trivial as missing parenthesis. I dabbled in every online course imaginable, and started countless MOOCs. I don’t think I actually got something onto the internet without the guidance of a tutorial until month number five!
This gave me the impression that coding was a Sisyphean struggle. I was convinced that the seemingly normal engineers I ran into were actually sociopaths who had experienced—then repressed—the trauma of learning to code. But I kept coding. I kept working alongside other coders at meetups and hackathons.
After seven months, I landed my first software engineering job. I felt like an unqualified imposter the entire time, but as the CTO told me, “You always want to be the worst musician in the band.”
In 2013, I moved to the software mecca—San Francisco. I railed in with nothing more than a backpack and a dream. I slept on floors and couch surfed when I could. I’d buy five dollar 7-11 pizzas for lunch and eat the left-overs for dinner. I’d code anywhere with wifi and a power source, including strangers’ hallways and porches.
Later, my wife moved up from southern California to join me. Our apartment had a closet that I made my office. I bought a $10 Ikea desk, a $100 monitor off Craigslist, and proceeded to spend 10 hours a day in there.
The Fortress of Solitude.
As a freelance developer, I got some clients and was able to continue getting paid to learn. When I didn’t completely suck at coding any more, I convinced some other people to join me in pursing an ambitious course recommendation engine project. It failed to get any traction, but I learned a lot during the process and focused on my next project: freeCodeCamp.
Let’s backtrack a little bit—when and how did you realize you were going to dedicate your life to teaching? When I was in college. That’s when I started to understand how complex reality was, and that I would probably be learning intensely throughout the rest of my life.
I enjoyed synthesizing all this knowledge, then turning around and helping understand it. Making the knowledge more accessible to the person you’re trying to communicate it to. That is the essence of teaching.
“I started to understand how complex reality was, and that I would probably be learning intensely throughout the rest of my life.”
The process of learning to code sounds like a real test of patience. Especially putting in 10 hours every single day over such a long period of time. Perhaps a quick piece of advice on how you’ve become such a calm and proficient learner? I was fortunate enough to have a clear sense of purpose. I attribute a lot of this to the years I spent living in China, observing all the additional challenges they face as they develop and work to bring their massive population up to a reasonable quality of life. And most countries in the world are still struggling with this. Most people on Earth live off of about $2 per day.
So everywhere I look, I see challenges. Ways that people can improve the lives of their families and their neighbors. And most of these problems trace back to information.
The world produces more than enough food for every human to get plenty of calories. So why are 800 million people malnourished? It’s because resources are mismanaged. And why do we tolerate mismanagement? Because we don’t see the potential to improve upon it. They need better information, so they can make better decisions.
Even here in the US—where a quarter of the world’s economic activity happens—there is so much inefficiency. So many bad managerial decisions. So many failed markets. I think our economy could be several times larger than it is today. We could do this. The real limit is our ingenuity and the quality of our decision making.
Again, all of this comes back to the quality of information and decision making. It all comes back to educating people so they can make better decisions, can elect people who will make better decisions, and can put in place systems that encourage better decisions.
I wake up every day and think about these things, and I guess I have for the past 15 years or so. By improving education, we improve systems, which in turn improve our quality of life.
“I think our economy could be several times larger than it is today. We could do this. The real limit is our ingenuity and the quality of our decision making.”
Outside of actually running freeCodeCamp, you’re also a prolific and renowned writer. Would you say writing is more of a personal creative outlet, an investment in freeCodeCamp or otherwise? Thanks for your kind words. As the editor of freeCodeCamp’s Medium publication, writing and editing are a big part of what I do day-to-day. I view it as an extension of my efforts to teach people about programming and technology.
Current homepage of freeCodeCamp’s Medium publication.
“Resources are mismanaged. And why do we tolerate mismanagement? Because we don’t see the potential to improve upon it. They need better information, so they can make better decisions.”
I’d love to learn more about the freeCodeCamp community. Did you ever anticipate the community to grow so quickly within these first years? How did you go about doing this? If you would have told me 30 months ago that we would have a community with a million registered campers and a Medium publication read by 100,000 people a day—all without any investors or grants—I would not believe it.
I consider us extremely lucky to have attracted so many amazing contributors who have helped steadily improve the quality of our interactive coding challenges. We also have hundreds of open source contributors, YouTube video creators, Medium authors, and moderators.
I wish there was some secret I could share with everyone about why freeCodeCamp’s community has grown so quickly, and why thousands of people are getting their first developer jobs every year as a result of it. But there isn’t a secret. We were just in the right place, at the right time, doing something that clearly a lot of people needed—helping people learn to code so they can get a software development job.
Without the anticipation of growing so quickly, has it been difficult having to manage such a large community? How have you found it best to keep your day-to-day under control? It’s been quite difficult to stay on top of everything, but doing so is my top priority. We need to sustain this virtuous cycle—this critical mass of campers helping campers.
I talk with hundreds of campers a day—mostly through written correspondence like email, Twitter, Gitter. My goal is to eliminate ambiguity and keep everyone un-blocked, so they can move forward with whatever projects they’re working on. This is the most important thing that I do.
What’s most challenging about the work you’re currently doing? We are building a variety of open source tools for nonprofits. These include open source for running:
Foodbanks (tracking inventory, organizing deliveries)
Little league sports clubs
This initiative is called “Open Source for Good.” We hope to have two dozen projects going by the end of 2017. These open source tools will be continually developed and maintained by our community of campers.
From my understanding, the learning experience at freeCodeCamp is heading in a direction of complete interactiveness. By taking down your video lectures, getting campers to build projects, and encouraging the community to interact with one another, it seems like you’re constantly exploring outside the boundaries of traditional teaching methods. As a teacher, can you talk about your approach to creating better learning experiences? Yes—our goal is to have a 1,200 hour interactive coding curriculum that runs completely in the browser. Technically we already have this, but you have to use a lot of external tools to achieve this.
I view freeCodeCamp as a compliment to traditional in-person education. We focus on one specific skill: coding. And we want to build the most accessible, comprehensive coding curriculum we can.
A lot of high schools, universities, and vocational programs (like) coding bootcamps use freeCodeCamp as a part of their curriculum. And we are building lots of tools to help teachers make even better use of our curriculum.
Since we’re completely free and open source, literally anyone can say “Hey, let’s use freeCodeCamp in this class.” They don’t need to get anyone’s permission. They can just go with it. They can recommend only specific sections if they want. They can fork the project and create their own variant for their own school if they want.
At the end of the day, we want to be an extremely useful resource for everyone. But we’re not pretending to be a one-stop shop. There are so many resources out there that have value, and we hope teachers and self-learners will make use of any of these they see fit.
Lastly, what’s next for you in the coming years? What do you hope for your legacy to be? We are heading toward a utopia, where most of the work will be done by machines and humans will be able to do whatever they want with their time, and jobs will be completely optional.
This said, the time between now and when we reach that utopia will be tumultuous. Over the next 40 years, automation will disrupt the world economy in ways we won’t be able to predict. Millions—maybe billions—of today’s jobs will cease to exist.
We can hope that—in the meantime—some of the gains from the increased productivity we get from automation will be shared with workers who’ve been displaced. But we should also prepare for a world where the gains from automation are accrued by a small minority of society.
So my goal is to help continually retrain as many people as possible so they can find work in emerging fields. I want them to be able to go out and get good jobs, or start businesses of their own that leverage these new technologies.
So I hope my legacy will be that I helped millions of people train for emerging careers, so that they can prosper instead of languishing on the sidelines, waiting for the post-scarcity utopia to finally arrive.