Listen in to episode 50 as Arsalan and Quincy discuss how Free Code Camp came to be and how you can benefit from this wonderful resource. Don’t forget to sign up for Arsalan Ahmed’s Five Steps to Success as a Software Developer email series to guide you on your coding journey.
Quincy Larson’s Bio:
Quincy Larson did his grad work in China through an American university and went through an intensive Mandarin program. During his five years in China, he taught at and served as an interpreter for various language training operations. He also recruited MBA students.
Quincy worked as a teacher and tutor throughout college and graduate school and later served as director of several schools in the US and China. He increased their academic rigor while simultaneously growing their student populations. Along the way, he learned to code.
Quincy wrote scripts to automate his school workflows so he could free teachers and administrators to spend more time with students. From this experience was born a new opportunity for aspiring software developers called Free Code Camp. Quincy started Free Code Camp, an open source community of 500,000+ people who learn to code together and build projects for nonprofits in the process.
Don’t forget to stop by and say hello to Quincy on Twitter!
Episode Highlights and Show Notes:
Arsalan: Hi everyone. Today my guest is Quincy Larson. Quincy, something very interesting that I learned the about you is that you went to China for grad school. That’s the first time that I’ve heard of somebody going to China, and something interesting happened there. Tell me a little bit about that.
Quincy: Sure. I was 23 years old and I had just finished school and was working as a newspaper editor. Journalism wasn’t exactly a booming industry and I wanted to go back and gain some additional skills and learn specifically about economics and finance. A university in my city happened to have one of the oldest MBA programs in China. So, this university was all Chinese and they had American professors that would fly in and teach. During the first 10 days of the month, you would read the entire textbook of 400 or 500 pages and then you did the pre-work. Then, you had 10 solid days of lectures. Then, you had 10 days more to finish your final project in each class. So, it was like a rapid-fire circuit of classes.
Quincy: I flew over there and audited one class which was basically Mandarin 101. So, there I was in TingChing, China, which is a big city, but it’s not a tier 1 city like Shanghai or Beijing. I was on a campus of about 20,000 people and I was the only westerner. So, literally everyone in the international dormitory was from East Asia, primarily Korea.
Quincy: All of my interactions were in Chinese. So, it wasn’t just the cultural differences between the U.S. and China, but the language jump was pretty terrifying. Every conversation I had I was constantly second-guessing whether I was sufficiently communicating or if people were just being polite because Chinese people are very polite. They will nod and smile and then walk off and it will become clear to you later on that they did not understand you because whatever you asked was not done. Or, you’ll be halfway through a conversation and it’ll become clear that they didn’t understand some early part of the conversation and they were just being polite. Or, you’ll see people in the hallway and they’ll turn around and start to run because they don’t want to have an awkward conversation with you. So, in many ways, this experience was perfect for the rigors and frustrations of learning to code. It was a very ambiguous process and there were loose feedback groups and essentially no error messages. In many ways, it was much harder and it gave me the humility, later on, to slog it out and learn to code.
Arsalan: So, does it give you the sense that you can’t run away from it, this is where you are, there’s nowhere to go? There’s only one path to follow. And no matter how many times you fall down, you gotta just get up and keep going.
Quincy: Yeah, I’m really fond of the Winston Churchill quote: “if you’re going through hell, keep going.” I had a blast in China, don’t get me wrong. I did an intensive Mandarin program and after I finish my MBA I stayed there. One of my graduate classmates ultimately became my wife and we lived in her hometown for a couple of years and I taught and became a school director.
Quincy: That was my transition from journalist to educator and it was a very important process in my life, but it was very challenging. I feel the same way about coding. I feel that transitioning from being a teacher to a school director to being a developer was an equally important transition and it was very challenging. So, I’ve done this twice and hopefully this will be the last time because I’m so excited about technology and I think this is the job of the future. I always say that software engineering will be the last job that will ever be automated.
Arsalan: That’s interesting. Since college, I’ve been hearing the software development will be automated one day. This has been a computer scientist dream or this idea of this utopia where software writes itself.
Quincy: It’s certainly been a project manager’s dream. A quick counter to that for whenever somebody says something like “oh, they’re just going to be able to automate this stuff soon anyway. There’s no point in me learning to code.” But, you think about what code is. You think about specs. Specs are very specific instructions about what to do. We know what the word is for a sufficiently detailed spec to produce a program is. It’s code. So, when you’re coding, you’re really writing an extremely detailed spec telling the computer exactly what to do. Depending on how many layers of abstraction up you are, it may be very general and you may be able to use declarative programming instead of it being so imperative, for example. You may even be able to use a domain specific language to write something that is much more natural and easy for a layperson to pick up.
Quincy: My feeling is that we are nowhere near this situation that a person who doesn’t know how to program at all will be able to accomplish much. They accomplish more every single day, but at the same time, the programmers themselves are able to accomplish more and more. So, it’s not like the layperson is catching up with the programmers. Back in the day, they had windows, publisher and you could literally drag and drop and use a WYSIWYG editor to create a website. That was 20 years ago and you don’t see many people using that today. Even if you used a square space, you’re usually very limited in what it will look like. So, if you want to color even slightly outside of those lines, you suddenly have to learn how to program.
Arsalan: I think that tool is Microsoft Front Page if I remember correctly.
Quincy: Microsoft Front Page, thank you.
Arsalan: So, right now people are thinking that this guy sounds interesting. You went to China. You learned Mandarin. You went to graduate school there. There are lots of little tidbit pieces of information, but I really don’t know what he’s about. I don’t think that we have really shown people why it is that you are on the show, what you are doing, and where you came from. I want to talk about where you came from, where you are now, and where you are headed, but first I want to ask you about you. I want to know how you see yourself. That’s how we like to start this show. Can you describe yourself? Who is Quincy Larson?
Quincy: I am a really simple guy. Basically, I wake up and eat the exact same breakfast every day. I hang out with my baby daughter who is 14 months old. I usually take her for a run around the city. I generally try to run for about an hour a day while pushing her. So, it’s about 10k a day.
Arsalan: I was a little concerned because I thought she was running with you at 14 months.
Quincy: oh no. I put her in a stroller. She’s surprisingly fast, but I don’t think she could do 10k in a day, not yet. Then, at some point, I catch up on all of my messaged. I do practically everything asynchronously. The project that I work on for about 80 hours a week is called Free Code Camp. It’s an open source community that helps you learn to code so that you can get a developer job. One of the ways that we do that is through a comprehensive, open source curriculum that is about 1200 hours long of interactive coding, not just reading books or watching videos. You’re actually coding the entire time. Then, you build projects that help nonprofits.
Quincy: So, you get practical experience building production code that real people are going to use. Right now we have about 300,000 people every month that are working through the curriculum and when they reach a certain point, it may take some people six months and others a few years of starting and stopping as life gets in the way, but eventually they reach a point where they are ready to start working on open source projects and doing agile software development.
Arsalan: Did you just say, 300,000 people?
Quincy: Yes. 300,000 people every month use Free Code Camp.
Arsalan: Different people? Different accounts? Not 300,000 hits?
Quincy: No, it’s about 320,000 individual users according to Google analytics for the core platform. Then, of course, the learning platform is only a small part of Free Code Camp. We also have a forum that is one of the most active technology-related forums on the Internet. We have a YouTube channel that publishes all kinds of short whiteboard conceptual explanations of different technologies and different mathematical computer science-related concepts. We have a Medium publication that is the most widely read technical publication. It covers programming, design, and data science. We also have a very active chat room system where 24/7 you can go and get help with a programming question or you can just hang out and talk about technology.
Arsalan: Wow. I’m really impressed. First of all, you’ve got really good engagement. People are going there and using this. I can do it too, but to get people to use it, get people going through the system and giving you feedback so that you can improve it sounds amazing. It’s called Free Code Camp. Does it work like a code camp? Do you have cohorts? What do you have?
Quincy: We use a concept that I call flash cohorting. Whoever you happen to be coding alongside in the chat rooms or in the forum, whoever you are talking to, that is your cohort. It is not cohort it in any traditional sense. It is completely free. It is completely self-paced. It runs completely in the browser. You don’t even need to get PuTTY or something to be able to run Linux. You don’t need to set up a dev environment at all. You can literally just do everything in the browser and then later if you feel like setting up a dev environment, that’s great, but it’s not necessary. We wanted to make it as convenient as possible. Because it’s completely self-paced, you don’t need to sacrifice anything. You don’t need to leave your kids behind and go to New York City to do an intensive coding boot camp, for example. You don’t need to go back and do a graduate degree. You can literally just go on and practice at your convenience. It’s really designed for busy adults like people who have kids or people who have full-time jobs for people who are otherwise not able to just drop everything and focus on learning how to code.
Arsalan: That is almost everybody. If you’re not just out of high school or in your early 20s, you are probably one of those people who can’t just drop everything, and that is why a lot of people are not going to a lot of the code camps. When I talk to people, one of the problems that we face is that these code camps can’t be everywhere. They are only in certain cities and you have to be there and you have to be dedicated and spent countless hours working on that. Even if you could come up with the money to pay for that, you would also be losing your potential income. So there is an opportunity cost there and it’s a little too much for most people, but I’m really intrigued by this concept because I’ve seen several websites.
Arsalan: Correct me if I’m wrong, but does it sound a little like the Code Academy website or the Code School website where both of them have their interpreters or some kind of ID running where you can execute your code and see the results. What is it most like? Is it more like a Code School type course where you see a video and they make you do certain exercises right there and they run tests?
Quincy: You’re building projects the entire time. You will build more than a dozen significant projects that will take 10 or 20 hours each. You’ll build a bunch of APIs and you’ll write a ton of algorithms. What we built as far as our curriculum is very rigorous and it’s all cohesive. Everybody who goes through Free Code Camp goes through the same linear curriculum, so that at any point, it’s kind of like the Appalachian Trail, you can ask people who are coming the other way what to expect. You might stop and camp for a day and see the same people. So you kind of has a little bit of a cohort effect going even though there’s no time pressure whatsoever.
Arsalan: That is really interesting. Some of the material that you’re talking about, if I can envision it, sounds like articles and reading. It’s not programming. Like data structures, if you’re studying data structures, you’re going to learn it. So I’m assuming that these are some kind of articles that they read. Walk me through my first week of Free Code Camp.
Quincy: Sure. So, first of all, to answer your point, the entire thing is programming. What we learn is the practical aspects of data structures that you build.
Arsalan: You don’t explain it?
Quincy: You’re right, if you wanted to learn theory, then you would have to stop coding and read maybe 100 pages worth of explanation of how the structure came about and why it’s important and what its use cases are. Instead, we just try to be as succinct as possible and say this is what this data structure looks like. This is what it does. This is one possible application of binary search trees and stuff like that. That’s one of the concepts that is more conceptual, but the vast majority of what we teach is very practical. We teach how to manipulate the Dom for example. That’s highly practical. You can learn a lot just by doing without a ton of explanation that you’d get if you had a programming book.
Quincy: So, one important point about Free Code Camp is we do not see ourselves as a one-stop shop where we’re going to teach you everything you need to know. We have a cohesive program that gives you a ton of practice and you can use whatever additional resources you want. It can be used in conjunction with the computer science degree, for example. A lot of people do traditional academic degree programs while they are working through Free Code Camp for example, and they use it for practice and a lot of professors recommend it for the additional practice.
Quincy: One question that you had asked, Arsalan, was what one week of Free Code Camp is like. That completely depends on you because maybe you only have an hour or two during that week that you can actually code. You’re going to go and get set up and will help you get a GitHub account. We hope you join our chat room so you can get help if you get stuck. We will teach you a couple of very basic tips to help you debug something if things don’t work. We teach a simple set system called Read, Search, and Ask. First, you read the problem, the documentation, or the error. Next, you search it. If you still can’t figure out the problem or how to get past it, then you ask and we have the forum and the chat room where you can do that.
Quincy: So, maybe you have someone who is between jobs and has a ton of time. They may take a week off and just crank. But, I would necessarily recommend that. I really do think that sustainable learning over a longer period of time is much more effective than short bursts of learning. We have a number of hours that’s in our curriculum. That’s highly subjective because it depends on a lot of factors. It depends on whether you were in a perfectly quiet room and well rested and thinking straight, or whether your kids were playing on this floor and you are getting calls and you are back and forth. It depends on whether you’ve taken advanced mathematics before or computer science classes before or whether you’ve programmed in a different language before. All of these factors are going to impact the rate at which you can learn.
All of these factors are going to impact the rate at which you can learn. You’ll learn some basic CSS. You start building some very basic projects. Currently, we’re building them on CodePen. We are working on our own multi-file editors so you can build projects right on Free Code Camp, but the entire thing is driven by tests. You have tests that evaluate your code every step of the way and telling you very clearly what is failing so you can fix it.
Quincy: Hopefully, you will sign up to join one of the 1,500 local study groups around the world so you can meet with people after work and sit down at a café and code with them and so you’ll have some friends that you’re coding with. Hopefully, you’ll participate in our chat rooms and on our forum and meet some people that way and you’ll feel some sense of comraderies that will help propel you forward so you won’t burn out or forget that the Free Code Camp’s community even exists and just give up your coding ambitions. Unfortunately, that happens to a lot of people, but what we find is that they’ll come back later and restart the process and they’ll kind of strobe in and out. As long as they’re making forward progress, we’re happy. We just want to be as useful as possible to as many people as possible.
Arsalan: Can I tell you about this? Now, let me put on my listener hat of somebody who is interested, but has tried a few things that hasn’t worked. It sounds too good to be true. I’m thinking “what’s the catch?” I’m wondering whether or not I’m going to have to buy something later. Devil’s advocate is thinking how is he making money because if you’re not making money then I’m probably in trouble, right?
Quincy: We have a shop and we sell merchandise. We sell Free Code Camp stickers, putty, and shirts. We have some books in the shop that we recommend. If you click through to buy one of those books, then we get an affiliate payment for that. Probably 1% or 2% of all people who use the Free Code Camp go and buy something from the shop, but when you have hundreds of thousands of people using it, it starts to add up and offset the cost of the servers. We have two other people who work on Free Code Camp full time and the shop earnings help me to pay for payroll and stuff like that. Our goal is not to make money, but to create an important path for people to learn coding and get their first code job.
Arsalan: I can see that. This sounds like exactly the type of thing that I would’ve wanted to have when I was starting out. I didn’t have anything like it. I didn’t have a mentor. I didn’t have anyone to talk to. I was the only one out of all the people who I talked to who was doing anything like this. When I started in high school, I didn’t have the computer. I didn’t know what I was doing. I had to learn everything the hard way. Right now, I think that people are really lucky that there is an Internet. Back when I started, there was no Internet. There is an Internet that you can go to and it’s very open and we have resources like yours and other resources like the Khan Academy. There are other places that offer free courses. Code School is one of them and so is Code Academy. But, what you’re describing to me, I can’t even imagine. Until my producer for this show mentioned to me, she is probably going to listen to this episode later and I didn’t tell her I would talk about this, but she has been taking your course.
Quincy: Oh really?
Arsalan: She mentioned it to me and I was like “what? Really?” I’m always trying to see what the catch is.
Arsalan: But, so far you have told me that you are going to teach people data structures, how to structure and essentially how to create your application from a data structure point of view and then you’re going to tell them about HTML so that they know how to create a basic presentation. I think you even mentioned D3, which is charting.
Quincy: Data visualization, yeah.
Arsalan: Data visualization. Then, you mentioned React. This is not necessarily beginner’s stuff. This is stuff that, let’s say that I am a software developer who has done a couple of projects in React and D3 and Java Script and HTML and I know some data structures. I don’t need to be an expert, but I know how to use a programming language properly which means using data structures and I probably know how to do some of the backend a little bit. That is enough for me to get a job.
Quincy: Yes, and I’ll tell you that so far, more than 5,000 people who have used Free Code Camp have gotten their first developer job .
Arsalan: That’s amazing. So now I’m thinking that you have some of these automated tests just like Code School and other places. I keep mentioning them. I’m not sure if you see them as competitors and I apologize if you do.
Quincy: I don’t. I see them as additional resources and we recommend all kinds of resources. I see our competitors as Netflix and Legal Legends.
Arsalan: That’s hilarious. Yeah, so if you’re wasting your time and not being productive, then go on Free Code Camp. That’s good. So, what I wanted to know is: you’re spending 80 hours a week and you have an automated suite and I’m sure that you’re busy fixing your tests and you’re adding more. I can understand that, but you also have more employees. Unless somebody is going through people’s code, which you’re not, this is all automated. When I make a submission, nobody is looking at it, right?
Quincy: That’s the thing. You asked what the catch was. There is no formal catch. There are plenty of people who have never talked to anybody. They just work through the curriculum and often I hear about these people because they message me saying that they got a job and I’m like “wow, I don’t even know who you are. I’ve never heard of you before. I guess you been quietly using this resource on your own.” That is totally cool. Free Code Camp is essentially organized self-study together where you are basically learning all of the code on your own, but you have all these resources and you have this huge community that is they are to support you when you want it. Because we are completely open source, everything is volunteer driven and most of the commits to code base are done by volunteer contributors. Almost all of the help questions, like in our chat room and our forum, are from other campers who have learned this stuff from like a month before and are practicing that knowledge by helping other people apply it.
Quincy: The model works because people are cool, friendly, and they care about each other. Since it’s open source, anybody can literally walk in and try to help. We have flash cohorts and flash mentorships where you just happen to talk to somebody who just happens to know this issue because they experienced it going through the same linear curriculum that everybody goes through and they can turn around and help you with it. We don’t code hers people to go help. We do offer brownie points in chat rooms. Everybody has a little score. So if somebody says thanks, Arsalan and mentions you in the chat room then you’ll get a brownie point. The brownie points aren’t useful for anything other than bragging power. It’s like karma on Reddit or something. So, people do that out of the kindness of their heart, Free Code Camp is really powered by human kindness.
Thanks for Listening!
If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.