Quincy Larson is the visionary founder of freeCodeCamp.org, a thriving community that empowers millions to learn coding collaboratively. With a rich background in education, Quincy’s journey began with graduate studies in China, where he not only mastered Mandarin but also served as an interpreter and teacher. His passion for teaching led him to direct several schools across the US and China. As he discovered the power of coding, he developed scripts to streamline school workflows, allowing educators to focus more on their students. After gaining experience as a software engineer and freelance developer, Quincy launched various technology education initiatives, culminating in the creation of freeCodeCamp in 2014. Under his leadership, the nonprofit has helped tens of thousands of individuals secure their first jobs as software developers.
From Educator to Technologist: What inspired you to transition from teaching and school administration to software development and eventually founding freeCodeCamp?
I was a teacher and a school director, running adult English schools in the US and China. I had staff who spent a lot of their time entering data into computers when they would have prefered to be hanging out with students and teaching them English. I didn’t know much about computers other than how to use them as an office worker, but I started googling basic questions like “how to automate web forms” and queries like that. Little by little, I learned some basic scripting. I was gradually able to automate almost all of the repetitive computer work at the school. This was a huge win for the school. Students were ecstatic that they could spend more time with their teachers, and the reputation of our school grew. We became the fastest-growing school in the school system. This experience gave me the confidence to dive deeper into programming, which ultimately led to me teaching myself to code full time for 9 months, winning a few Hackathons in California, and getting my first developer job.
Lessons from China: How did your experience living and teaching in China influence your approach to education and community-building at freeCodeCamp?
I learned a lot from working in China. Chinese people are hard working, and they’re extremely patient. Because Chinese culture is thousands of years old, and you can just pick up texts from thousands of years ago and read them – it gives life a sense of timelessness. Over the millennia, Chinese people have gone through all kinds of hardship – wars, famine, colonization. They are extremely tough. I met people living in villages who were much more advanced at math, science, and foreign languages than I was. Even with their limited resources, they were able to amass skills and knowledge. I attribute this to the seriousness with which they approach learning. And yet I realized this was not a uniquely Chinese phenomenon. There are undoubtedly tons of people who are highly motivated in India, Brazil, Nigeria, and even in small towns across Middle America. They just didn’t necessarily have access to resources. I started to imagine what these people would do if they had more ready access to free, high-quality learning resources. Especially on emerging technologies.
Impact of AI on Learning: How is freeCodeCamp adapting to the growing influence of AI in education and technology? Are there any plans to integrate AI into your platform?
We already leverage LLMs extensively. We have a small team of enthusiastic teachers and developers, and we’re always looking for new ways to be more effective. And if you search Google or YouTube for terms like “RAG course” or “Prompt Engineering course”, or even “AI Safety”, you’ll find comprehensive free courses by the freeCodeCamp community. In terms of AI code-completion technology like Copilot, or AI chat interfaces wrapper around an LLM foundation models like ChatGPT or the many education chatbots companies are launching – I’m not sure how useful they are. I think they’re great for language learning. I spend about an hour a day studying foreign languages, often with the help of LLMs. They are extremely useful for this.
As far as learning coding, I don’t think an open-ended chat interface is as useful as a comprehensive interactive curriculum, built up over the years by thousands of open source contributors. freeCodeCamp already has an active forum and Discord where learners can get help from real human developers. This said, we may experiment with creating an LLM chat interface in the future which people can use to get help with their coding. For now we’re just using these tools behind the scenes to more productively build and expand freeCodeCamp’s core learning platform.
Community-Driven Learning: What are some of the most inspiring stories you’ve heard from freeCodeCamp’s global community and how it motivates you?
Each week I receive emails from people around the world who have used freeCodeCamp to expand their skills and get a developer job. Many of these people did not have the resources to attend university. They’d been working as truck drivers, farmers, or hospitality workers. I’ve had the pleasure of interviewing many of these people over the years on the weekly freeCodeCamp podcast. Seeing people benefit from the work we’re doing as a community is a huge motivational boost. I’m always excited to celebrate these stories and share them with other people who are not yet where they want to be in their career.
Vision for the Next 5 Years: What are some of the key milestones or goals you have for freeCodeCamp in the coming years?
We’re working on a major upgrade to our core curriculum, which I’ll announce before Christmas. We’ve also been hard at work on developing a free Bachelor’s of Computer Science degree program. This will involve completion of 40 university-level math and engineering courses, each with its own projects and final exams.
There are “tuition free” universities that still charge thousands in fees, and there are free university programs in some countries that are subsidized by governments. But to my knowledge this will be the first degree program where you can earn a verified degree without having to first go through an application process or enter your payment information.
The degree program is modeled after the top 20 computer science degree programs in the US, and includes 8 math courses and several general ed courses. It’s a mirror image of the best programs, but built in a way that it’s accessible to anyone, anywhere in the world, regardless of ability to pay. Anyone will be able to just navigate to freeCodeCamp.org and start doing university degree coursework at their own pace. And because it’s rigorous, most people will not finish all the coursework. That is OK. The people who do finish it will get a comprehensive math and computer science education for free.
Digital Privacy and Security: As digital privacy concerns grow, what role should developers play in ensuring secure and ethical data practices in their projects?
Developers need to continually up their security game through continuing education. Frankly, every dev should spend some time reading security case studies of other devs messing up. Learn what not to do. Once you have a basic understanding of information security and the history of the field, you have to stay up to date as the landscape shifts. LLMs for example introduce a lot of potential vulnerabilities that attackers can use to potentially steal data.
I listen to several security-focused podcasts during the week when I go to the gym, and I watch a lot of security-focused YouTube channels. I also strongly recommend everyone watch the show Mr. Robot, which is a dramatized portrayal of a security researcher and vigilante who fights against powerful hacker organizations and even state actors. It’s from several years ago, but all the hacks portrayed in the show are based off of real things that have happened, and they had security engineers consult on the show to ensure accuracy.
Ethical AI Development: As AI becomes more integrated into everyday life, what ethical considerations should developers and educators keep in mind to ensure responsible tech development?
First, I think every single computer science degree program should include an ethics class. That currently isn’t the case, but I hope it will change. One of our 40 required degree program courses is an ethics course. I personally don’t fear an AI system becoming self aware and trying to end humanity like in the movies. I think it’s much more likely that bad actors use AI systems to scam people, or manipulate them with false information. It will also be possible to use AI to harass people, surveil people, or otherwise make their lives miserable.
Preventing these kinds of uses of technology starts at the developers who are figuring out what the product should do, for whom, and how it should go about doing it. These devs also need to figure out what the product should NOT do, and what use cases it should not support. And they need to have a means of pushing back against software specifications that go against their ethics. Ethics ultimately vary from culture to culture, but there are many conventions that are universally observed. There is no country where it’s legal to steal, for example. And the systems we build should reflect those conventions.
Breaking into Tech: What advice would you give to someone from a non-technical background who wants to start a career in tech?
I would encourage them to start working their way from the top of freeCodeCamp’s curriculum down to the bottom. This will take maybe 18 months depending on how much time you are able to budget. A lot of people get stuck in “tutorial hell” where they’re just following along with a book or video, without necessarily going out and building their own projects. Don’t let this happen to you. Try to spend at least 30 minutes a day with your hands on the keyboard building something with code. You’ll build dozens of projects this way as you progress through the freeCodeCamp curriculum. Not just guided projects, but open ended projects where it’s just you, your code editor, and a test suite. This said, I do think it’s a good use of time to listen to technology podcasts and watch YouTube video essays about programming and technology.
The Role of Data Science in Future Careers: Data is becoming a vital part of decision making in every industry. How can developers build a strong foundation in data science, and what are the key skills to focus on?
Data Science is 3 things: math, programming, and domain expertise. Let’s say you want to work in sports analytics. Could you do a good job if you didn’t know anything about sports? Maybe, but by having domain expertise in a particular sport, you could understand patterns in the data much more easily. And you would come up with much better hypotheses to pose to the data. You don’t need to get a PhD to work as a data scientist, but you do need to know a lot of math – mainly statistics. freeCodeCamp has some courses on this on our YouTube channel. Watching the course isn’t enough – you need to actually practice stats a lot and apply it. If you’re already working as a developer, you already have some experience building and maintaining codebases. If not, I’d start with the freeCodeCamp curriculum, then get involved in contributing to open source projects to get your coding skills up to snuff. At the end of the day, a developer doesn’t have to be a data scientist, but a data scientist does have to be a developer. It’s a good field to grow into if you’re interested in doing research or helping optimize how organizations get things done.
This interview was conducted by our Head of outreach, Ansh Vachhani, The Social Digest on 03/09/2024. If you have any interview recommendations or have a story that you want to share with our readers, get in touch with our editor Vedant Bhrambhatt, at editor@thesocialdigest.com