495: Free Code Camp with Quincy Larson
Giant Robots Smashing Into Other Giant Robots - Podcast autorstwa thoughtbot - Czwartki
Kategorie:
We are thrilled to announce the third session of our new Incubator Program. If you have a business idea that involves a web or mobile app, we encourage you to apply to our eight-week program. We'll help you validate your market opportunity, experiment with messaging and product ideas, and move forward with confidence toward an MVP. Learn more and apply at tbot.io/incubator. We look forward to seeing your application in our inbox! Quincy Larson is the founder of freeCodeCamp.org, which helps people learn to code for free by creating thousands of videos, articles, and interactive coding lessons–all freely available to the public. Quincy shares his journey from transitioning from teaching into software development, how freeCodeCamp was born out of his desire to make educational systems more efficient through coding, and discusses the early challenges of bootstrapping the platform, and how it has now grown into a 501(c)(3) nonprofit organization. Quincy and hosts Victoria and Will, discuss the platform's technical architecture, especially their global server distribution and decision to rely on volunteer-led translation efforts rather than machines to ensure both the quality and human touch of their educational content. He also talks about the state of free and low-cost degree programs, the student loan crisis, and the ongoing debate between traditional computer science degrees and coding bootcamps. Free Code Campi Follow Free Code Camp on LinkedIn or X. Follow Quincy Larson on LinkedIn or X. Follow thoughtbot on X or LinkedIn. Become a Sponsor of Giant Robots! Transcript: WILL: This is the Giant Robot Smashing Into Other Giant Robots Podcast, where we explore the design, development, and business of great products. I'm your host, Will Larry. VICTORIA: And I'm your other host, Victoria Guido. And with me today is Quincy Larson, Host of the freeCodeCamp Podcast, Teacher, and Founder of freecodecamp.org, a community of people around the world who are learning to code together. Quincy, thank you for joining us. QUINCY: Yeah, thanks for having me, Will and Victoria. VICTORIA: Yeah, thank you for being here. So, I understand that you made a big shift personally for yourself from California to Texas. How has that been for your family and for, you know, as a founder who is running a nonprofit? QUINCY: Yeah, things are going great. It was a big move. We had some kids, and it was difficult to find, like, a good place to live in California that didn't cost, like, millions of dollars [laughter]. And so, at least in the San Francisco Bay Area, we were living in East Bay. I grew up here in Texas and Oklahoma. And I was like, well, maybe we could go back to the southwest, and so we did that. And we were able to come back and comfortably purchase a home here in Plano, Texas. We were able to find one that was, like, really close to a really good public school system. And so, every morning, I'm able to walk my kids to school. And I'd say that Texas has been a great change from California, where I lived for seven or eight years over there. And I love California. Texas has a lot of great things about it, too. It is a little bit hotter than California. It doesn't quite have California's Mediterranean climate, but it's been great here. I like it. And I would say if people are thinking about moving to Texas from California, there are definitely some really good spots of Texas that I think they'll feel really comfortable in. WILL: That's awesome, yeah. I'm originally from Louisiana. So, you're bringing back, like, memories of me growing up, always going to Texas and stuff. And I know exactly where Plano is, so that's amazing. How has it been with your kids? Because we were talking, and you said your kid recently started school. How's that been? QUINCY: Yeah, so my daughter started school a couple of years ago, and she just turned eight. And my son he's turning six this weekend. He just started kindergarten. We were having him take classes at the YMCA some pre-school. And he went from doing that for the first few hours of the day, and then we'd pick him up and bring him home and eat lunch with him and everything. And now he's got to go to school from, like, 7:00 a.m. to, like, 3:00 p.m. And he's been freaking out, like, "Why is school so long? Oh my goodness, I'm so tired all the time," [laughs]. So, he didn't realize that school would be as involved a process. He was all excited. But now he's complaining about, like, just the sheer length of school. But meanwhile, my wife and I we're just, like, celebrating because we actually have some time around the house where we can get work done without having kids running around causing chaos [laughs]. So yeah, I think he's adapting. He's making friends. We're doing playdates and stuff, and he's having fun. It's just a transition, you know. But it is nice because before, I would walk my daughter to school, and that was a very quick, 10-minute round trip, and then I'd walk my son to school. And that was, like, an hour round trip because we walked all the way to the YMCA. And I would do that to kind of toughen him up and get him walking a lot. It was a huge chunk of time. And now I can just grab both, one [inaudible 4:04] hand in each hand, and walk them to school, and drop them off, and be done with it and get back to work. So, it's definitely nice having both at the same school. VICTORIA: I love the work-life balance and that you were able to find and live somewhere that's affordable and has enough space for your family. And I wonder if we can draw a connection there between achieving that kind of lifestyle and learning to code, and what the mission of freeCodeCamp is for you, and what that means to people and changing careers. QUINCY: Absolutely. So, my background is in teaching. And I was a teacher and a school director at schools here in the U.S. and over in China. And that involved me being on campus, like working directly with my admin staff, with my instructional staff, and working directly with students. So, working remotely was kind of, like, a foreign concept way back in, like, 2010 or so 2011 when I started my transition into working as a software developer. But being able to work remotely has been a real game changer for me. And also, you can imagine, like, being a developer, you can command much larger compensation, and you have a lot more career options than being a teacher or a school director. So, it's given me a lot of agency in what I wanted to do. Even before, you know, starting freeCodeCamp, when I was working as a software developer and doing freelance work and stuff, I was able to do everything remotely. And that just gave me a ton of flexibility. So, the way that I learned to code personally was I wanted to help our school be more efficient. A lot of our teachers, a lot of our admin they were spending all day kind of chained to their desk entering information into computers for compliance reasons, to be able to produce great reports, to be able to produce attendance reports, immigration documents, all those things. And I just thought, like, is there a way that maybe I could automate some of this? And I didn't know anything about programming. I was about 31 years old. I was just sitting at my desk, and I just started kind of, like, Googling around and learning some very basic programming. And with that, over the course of a few months, I was really able to transform how the school ran. And we, like, won an award. And, like, a whole bunch of the students were, like, having a great time because they were spending so much more time with their teachers. And they were like, "Hey..." like, telling all their friends and family to transfer into the school. So, it was a massive success. And I thought, wow, if one person who doesn't even really know that much about programming can effect such a change with just a little bit of programming skills, imagine what I could do if I actually learned to code properly, so [chuckles] I did that. I spent about nine months going to hackathons every weekend, and reading a lot of books, and using a lot of open courses online, like from MIT, from Stanford, and I kind of taught myself to code for free. And then, I was able to get a job as a developer at a mid-size tech startup in California. And from there, I just learned more and more, and it was amazing. And it was an amazing transformation for me personally. And I thought, well, I want to help other people be able to do this because I know so many people out there would like to be working in a field where they have more conversation, a higher degree of control. They get to do creative work instead of, you know, tedious work. As a developer, you're constantly doing new stuff because code is infinitely reproducible. So, you could always just go back to code you've previously written if you needed to solve the same problem again. So, you're always in this kind of learning mindset. You're always in this problem-solving mindset. And it's really thrilling. It's just great, impactful work. So, I wanted to help more people be able to do that, hence starting a bunch of different projects that people didn't care about and then eventually starting a project that people did care about, which is freeCodeCamp. And since then, just kind of leading this project in trying to help as many people as possible learn to code. WILL: So, I was looking at your website. And I didn't even realize this until I was doing more research for the podcast, but you have over 10,000 tutorials, and they're in different categories. I saw you just recently released one on finance, which I actually bookmarked it because I'm going to go through it and look at it. You help more than a million people every day. So, how was it when you first started out? Like, how was, I guess, you could say, the grind? How was it in those early days? QUINCY: I'm a big advocate of, you know, for work-life balance, but, like, I kind of, like, exclude founders from that. I really do think that if you're trying to get something started, you're going to have to work really hard and probably way beyond what would be reasonable for a person who's getting a salary or working at an existing company if you're trying to get things started. So, I mean, it was, like, 100-hour weeks, maybe 120 some weeks [laughs]. I would sleep and just wake up and get to my desk and try to, like, put out fires, fix the server, improve the codebase, respond to learners in the community who had feedback, deal with support issues. Like, I was basically doing everything myself. And gradually, we were able to, like, build out the team over a long period of time. But really, the first few years was me self-financing everything with just my teacher savings. I spent, like, $150,000 of my own money just trying to keep freeCodeCamp going. For the first couple of years, we got tax-exempt status from the IRS. When that finally happened, I was like, great, like, let's go out and see if we can get some people to donate. So, we started asking people who were using freeCodeCamp if they'd be willing to donate $3 a month and eventually $5 a month, and we were able to support the organization through that. Really, it's just like a grassroots donor-supported effort. And then, we've been able to get some grants from Linux Foundation, and From Google, from Microsoft, from a whole lot of other big tech companies, and from some other nonprofits in the space. But mostly, it's just been, like, individual donors donating $5. And if you get enough people doing that, you get, like, a budget where you can actually pay for, you know, we have more than 100 servers around the world serving freeCodeCamp in, like, six different languages. We have, you know, all these other, like, initiatives. Like, we've got Code Radio, where you can go listen to Lo-fi while you're coding. And there are servers all over the world. And you can change the bit rate to suit whatever data you have and everything. Like, we wanted to just offer a whole lot of different services. We have mobile apps now. We've got an iOS and an Android app for freeCodeCamp. And then, of course, we've got the podcasts. We've got four podcasts: one in English, which I host, and then we've got one in Spanish, one in Portuguese, and one in Chinese. VICTORIA: Yeah, I absolutely want to ask you more about your podcasts. But first, I wanted to hear–can you tell me a little more about the decision to be 501(c)(3) or a nonprofit status? And were you always firm in that decision? Do people question it? And what was the real reasoning and commitment to that formation? QUINCY: I guess I would consider myself an idealist. Like, I genuinely believe that most educational endeavors should be, you know, nonprofit. They should be driven by either governments or by charities. I'm always kind of skeptical when there's, like, some late-night TV commercial, like, "Viewer, we'll help you get our degree," and it's from, like, a private for-profit university, something like that. So, I was like, in education...and I don't think everything in society needs to be that way, but I do think, like, education and, to an extent, healthcare these should be led by charities. Like, you know, the Red Cross, or, like, Doctors Without Borders, or churches, you know, own many of the universities, many of the hospital systems in the United States. I think that's a good thing. I think it's a very good thing that it's not just, you know, private profit-maximizing, market incentive-bound organizations that are doing all the stuff in education and in healthcare. I wanted to try to create something that, like, a lot of other people would see and say, "Oh wow, this charity can actually survive. It can sustain itself without raising a bunch of VC, without going public," or any of those things that a for-profit entity would do. And, again, I just want to emphasize, like, I don't think that iPhones should be made [chuckles] by nonprofits or anything like that. I'm just saying, like, for the purpose of actually educating people, the incentives are not necessarily aligned when you're trying to get money from...especially when you're talking about people that 60% of people on earth live off less than $10 a day. Those people should be spending their money on food. They should be spending their money on shelter. They should be spending their money on family. They should not be spending money on online courses, in my humble opinion. Like, online courses should be freely available to those people. So, to some extent, freeCodeCamp, we want to make sure that everybody everywhere in the world has access to first-rate learning resources on math, programming, computer science, regardless of their ability to pay. So, that's kind of, like, the ideal logical [inaudible 12:19], I guess, of freeCodeCamp. We kind of live that. Like, we're really serious. We will never pay, well, anything on freeCodeCamp. We won't account email gate anything. We are, I guess, absolutist in the sense that we want all of freeCodeCamp's learning resources to be free for everyone. Because of that, it made sense to like, incorporate as a 501 (c)(3) public charity. And so, we're tax-exempt. And people who donate to freeCodeCamp they can, you know, deduct it from their U.S. taxes. If a large company or even a small startup...we've had lots of startups like New Relic, like Retool, we've had Postman, Hostinger, a whole lot of different startups and mid-sized tech companies, Pulumi, Appsmith, they've all given us these grants that we can use to develop courses. So, we can often develop courses incorporating those resources. But that's tax-exempt, right? They can deduct that from their U.S. taxes. So, it's a big incentive for other people to partner with us and for people to donate funds to us. And it allows us to have the interests aligned in the sense that only people who have, you know, free cash flow or who have disposable income those are the people that are supporting freeCodeCamp. For the people that are, you know, single parents or that are taking care of their aging relatives, or are already working two jobs, or are completely unemployed and don't have any funds to speak of that are using the public library computer to access freeCodeCamp, right? Or using freeCodeCamp on a $50 prepaid phone from Walmart or something like that, right? Like those people can still use freeCodeCamp, and we can have the people who do have resources subsidize everyone else. WILL: Wow. I absolutely love that because...and I wish freeCodeCamp was around whenever I was in, like, high school and, you know, the early 2000s because we just didn't have the resources because I grew up in a small town in Louisiana. And this could have been so beneficial to that community because, like you said, we didn't have the resources–someone to teach coding there. There was no developers around that town that I was in. So, I really appreciate that you're doing this for everyone. And I know for me even...so, when I reached out to you, I did it because I was excited because I've used freeCodeCamp so many times, so many times to learn just in my journey to become a senior developer. Like, freeCodeCamp was one of the resources that I used because, one, it was free. But it wasn't...I think sometimes you can get free resources, and it's not great quality almost. Like, it's almost like you're more confused than before. But with freeCodeCamp, it was very, very amazing quality. And it was very clear on what I was learning. Honestly, thank you for helping me grow as a developer, just, honestly, thank you for that. QUINCY: Absolutely, Will. I feel honored to have helped you. And, yes, we want to help all the kids who are growing up in rural Louisiana or...I'm from, you know, Oklahoma City, not, like, the biggest, most prosperous city in the United States. Like, I want to help all of my friends who growing up who were eating meals provided by the state school system or my older friends who are on disability. Like, I want to make sure that they have resources, too. And in the process of doing that, it's a privilege to also serve all the working software engineers like you out there who just need, like, a reference resource or, like, oh, I've heard about Bun JS or Tailwind CSS. Or something like, I'm going to watch this three-hour course where I'm going to learn how to do Flutter. Like, freeCodeCamp has a 37-hour Flutter course. So, we've got, like, all these courses on using OpenAI APIs and things like that, too, right? So, it's not just for beginners, but we definitely want to, like, first and foremost, we want to serve people who we're kind of, like, the resource of last resort for, if you want to think of it that way. Like, only freeCodeCamp can help these people. Sure, they can probably use some other free courses on YouTube. And there are lots of other blogs that publish good tutorials and stuff. But freeCodeCamp is like an organized effort, specifically to help those people in need. And just kind of a side benefit of it is that you know, more established, experienced devs like you also get kind of, like, some benefit out of it as well. WILL: Whenever you were a developer, and you decided to start freeCodeCamp, how many years of experience did you have? And how did you overcome impostor syndrome, not only as a developer but as a founder? Because I feel like just overcoming it as a developer is hard, but you were also, you know, like you said, you know, handling everything for freeCodeCamp. So, how did you do that? And kind of tell us about that experience. QUINCY: Yeah. So, I didn't really know what I was doing. I think most founders probably don't know what they're doing. And I think that's totally fine because you can learn while you're doing. And we live in the United States, which is a country that kind of rewards experimentation and does not punish failure as much as a lot of other cultures does. Even if you try really hard, you're going to learn a tremendous amount, and you're going to try your next project. And that's what I did. I tried...I launched several educational, like, open learning resource-type projects, and none of them made any dent at all [laughs] in the proverbial universe. Like, nobody cared. Like, I would go and, like, I'd be talking to people. And I'd be explaining, like, "Oh, this solves this problem that you have." And you could kind of tell, like, people would sign in one time just to be polite, but then they'd never sign in again. So, it was very tricky to get traction. And I read a bunch of books. And I went to a lot of founder-focused meetups in San Francisco Bay Area. I had, like, moved out to San Francisco, specifically to try to, like, kind of make up for my deficit, the fact that I didn't know anybody because I was from Oklahoma City. I didn't know anybody in tech. And I didn't have, like, a fancy, you know, pedigree from, like, Harvard, or Wharton, or something like that, right? Like, I went to, like, a state university, and I studied English, right? And [chuckles] so, I didn't even have, like, a CS degree or anything like that. So, I definitely felt like an impostor. I just had to kind of, like, power through that and be okay with that. And it's something a little bit easier for me to do because, you know, I'm a White guy with glasses and a beard. And, like, nobody's walking up saying, "Are you sure you're a developer?" Or like, "Are you in marketing?" You know, like, the typical kind of, like, slight that they may say to somebody who doesn't necessarily look like me. And so I didn't have to deal with any of that nonsense, but there was still a lot of just self-doubt that I had to power through. And I think that was a big advantage for me. It was just, like, I was kind of, like, at war with myself and my own confidence. In fact, I found the software development community, and especially the open-source community, to be incredibly uplifting and empowering. And, like, they want to see you win. They want you to sit down and build a really cool project over the weekend and in the hackathon and present it. And, you know, they want you to learn. They know that you know, everybody is going to learn at a different rate and that a lot of people are going to get discouraged and leave tech and just go back to working in whatever field they were working in before. And that's totally cool. But I do feel that they're there to support you and to encourage you. And there are lots of different events. There are lots of different communities. I recently listened to the founder of Women Who Code, who was on this very podcast [laughs], Giant Robots Smashing Into Giant Robots, the greatest podcast name of all time. And, you know, there are people out there that are working very hard to make it easier for folks to get into tech. I think that that has been a huge part. Even before freeCodeCamp, you know, there were Harvard professors–Stanford professors putting their entire coursework for free online. You could go to, like, different tech events around California, for example, where I was when I was learning to code. And there'd just be tons of people that were eager to, like, learn more about you and to welcome you. And there would be, you know, recruiters that would talk to you and say, "Well, you may not be ready yet, but, like, let's talk in six months," right? And so, there was kind of, like, that spirit of you're going to get there. It's just going to take a lot of time. Nobody was telling me, "Oh, learning to code is easy," [chuckles] because it's not easy. There were lots of people that were, like, "Learning to code is hard. But you've got this. Just stick with it. If I could be of help, let me know," people who would pair program with me to help me, like, improve my chops, people who would volunteer to, like, look at my projects and give design feedback, all those kinds of things. And I think you're going to find all those things on the web. You're going to find those things in the open-source community. freeCodeCamp has a forum where people volunteer their time and energy to help build one another up and help one another get unstuck on whatever projects they're working on, give feedback on projects. And so, I think, to a large extent, the very giving nature, I almost want to say, like, selfless nature, of the global software developer community that is what saved me. And that's what enabled me to transition into this field, even as a teacher in his 30s. VICTORIA: It's interesting you say that. Because I feel as someone who hires engineers and developers, I love people who have teaching backgrounds because it means they're five-star communicators [laughs]. And I think that you know, in your job, when you're pairing with other developers, or you're talking to clients, in our case, that communicating what you're working on and how you're thinking about something is, like, 50% of the job [laughs]. For freeCodeCamp, I saw you have 40,000 people have found jobs after completing courses on there. I hope you feel like you've really, like, established some success here already. But what's on the horizon? What are you looking forward to in the next six months or six years with freeCodeCamp? QUINCY: Yeah, I'll be happy to answer that. But I want to emphasize what you just said: communication is, like, half the job. That's something that thoughtbot has gotten really early on. And I'll tell you that thoughtbot Playbook was incredibly helpful for me as a software developer and also early on for freeCodeCamp's team. And I think a lot of teams make use of that open resource. So, thank you for continuing to maintain that and kind of drive home that communication really is...like, meetings are essential [chuckles]. And it's not always just, like, leave me alone and let me go back to my cubicle and code. You know, I like to quote the old joke that, you know, weeks of coding can save you hours of meetings because I really do believe that communication is core. So, to answer your question about where freeCodeCamp is headed in terms of what kind of impact we'd like to have, I feel like we're just getting started. I feel like pretty much every Fortune 500 company wants to become a tech company in some way or another. Everybody is pushing things to the software layer because software is infinitely reproducible. It's so much easier to maintain software or fix things in production. Like, you realize, oh, there's a big problem. Like, we don't have to recall all the cars back to the dealerships to go and open up the hood and fix this, you know, mechanical defect. If we're controlling all these things at the software layer, right? We can potentially just deploy a fix and tell people like, "Hey, version update [chuckles], you know, download this security patch," or whatever, right? So, there are so many different things that you can do with software. I feel like the potential growth of the field of software and the number of software developers that the world will ultimately need...currently, we've got maybe 30 or 40 million developers on earth that are professional paid-to-code people. But I think that number is going to increase dramatically over the next 50 years or so. And I'll go ahead and address the elephant in the room [laughs] because pretty much everybody asks me this question like, "Don't you think that, like, tools like large language models like GPT-4 and things are going to obviate the need for so many developers?" And I think they're going to make individual developers more productive. But if you think about what code is, it's really extremely explicit directions for how to do something, whether you're using, you know, machine code, or you're using a scripting language like Python, or you're using English, and you're talking directly to the computer like you would on Star Trek. Essentially, you have to have a really deep understanding of the problem. And you need to know exactly what needs to be done in exactly what sequence. You may not need to manipulate bytecode like you would back in the '70s. But you are going to need to understand the fundamental problems, and you're going to need to be able to address it. So, I'm optimistic that the number of developers is going to continue to grow. The developers are going to continue to command more and more, I guess, respect in society. And they're going to continue to have more and more agency in what they want to do with their careers and have more and more options and, ultimately, be able to command higher compensation, be able to work remotely if they'd like. Developers will continue to be able to ascend through corporate hierarchies and become, you know, vice presidents or even executives like the CEO, right? If you look at a lot of the big tech companies, the CEO is a developer. And I think that that will continue. And the computer science degrees will continue to be extremely valuable. So, what is freeCodeCamp working on now that we think will further help people? Well, we're working on a free four-year computer science degree, a Bachelor in computer science, and there's also an associate in mathematics that we're developing. And those are going to be a progression of 40 university-level courses that have labs and have a substantial block of lectures that you'll watch. And then, we'll also have final examinations and everything. And we're developing that curriculum. We've got one of the courses live, and we're developing the second one, and eventually, we'll have all 40. It'll take till the 2030s. But we're going to have those. And then, once we have some longitudinal data about graduates and their success rates and everything, we are going to apply for the accreditation process, and we're going to get accredited as a university, right? Like, you can go through that process. Not a lot of organizations do that; not a lot of new universities are coming about in the 2020s. But it is something that can be done. And we've done a great deal of research, talked to a bunch of accreditors, talked to a bunch of university admins who go through the accreditation process. We think we can do it. So, again, very long-term goal. But when you're a 501(c)(3) public charity, you don't have to worry about freeCodeCamp getting acquired or all the things that would traditionally happen with, like, a for-profit company. You have a lot more leeway to plan really far. And you've got, like, this really broad mandate in terms of what you want to accomplish. And even if, you know, creating a university degree program in the 2030s would not be a profitable endeavor that, like, a rational shareholder value-maximizing corporation would embark upon, it is the sort of project that, you know, a charity like freeCodeCamp could do. So, we're going to do it. MID-ROLL AD: When starting a new project, we understand that you want to make the right choices in technology, features, and investment but that you don’t have all year to do extended research. In just a few weeks, thoughtbot’s Discovery Sprints deliver a user-centered product journey, a clickable prototype or Proof of Concept, and key market insights from focused user research. We’ll help you to identify the primary user flow, decide which framework should be used to bring it to life, and set a firm estimate on future development efforts. Maximize impact and minimize risk with a validated roadmap for your new product. Get started at: tbot.io/sprint. VICTORIA: I think that's great. And, actually, you know, I got my master's in information technology and project management online way back when. So, I really like the availability of modern computer science bachelor's and master's being available at that low price point. And you're able to pursue that with the business structure you put in place. I'm curious to kind of go back to something you said earlier on how widely available it is and how you spread out across all these multiple countries. Were there any technical architecture decisions that you had to make along the way? And how did those decisions end up turning out? QUINCY: Absolutely. So, one of the things we did was we located servers all around the world. We're multi-cloud, and we've got servers in different data centers in, like, Singapore, Europe, Latin America, and we're trying to reduce latency for everybody. Another thing that we've done is, you know, we don't use, like, Google Translate to just translate all our different pages into however many languages are currently available on Google Translate; I think it's, like, more than 100. We actually have a big localization effort that's led primarily by volunteers. We have some staff that oversee some of the translation. And essentially, we have a whole bunch of people working at translate.freecodecamp.org and translating the curriculum, translating the tutorials into major world languages. Most prominently would be Spanish, Chinese, Japanese, Korean, Portuguese, Ukrainian. Like, all these different world languages, there's, like, a freeCodeCamp version for those, and you can go into the menu, and you can choose it. And it's actually, like, hand-translated by native speakers of that language who are developers. So, that's been another extremely, you know, time-intensive effort by the community. But we believe that, you know, the quality of the translations is really important. And we want that kind of human touch. We don't want kind of weird artifacts and typos that would be associated with machine translation. And we want to make sure that each of the challenges...because they're extremely tersely worded, again, communication is so important. If you go through the freeCodeCamp curriculum, we try to use as few words as absolutely necessary to effectively communicate what the task the learner needs to accomplish is, and we try to, just in time, teach them concepts. We don't want to present them with a big wall of text. Read this 20-page PDF to understand how, you know, CSS, you know, borders work or something like that. No, we're teaching, like, kind of, like, just in time, like, okay, let's write this line of code. Okay, great, the test passed. Let's go to this next one. This test isn't passing. Here is some contextual-specific hints as to why your code is not passing, why you're not able to advance, right? And we do projects [inaudible 30:30] to learn where we break everything down into steps. So, that's a lot of instructions that need to be very carefully translated into these different world languages to truly make freeCodeCamp accessible to everyone, regardless of whether they happen to be fortunate enough to grow up speaking English at a native level, right? I would say that's our main consideration is, like, the localization effort but also just having servers everywhere and doing everything we can to comply with, like, all the different data rules and privacy rules and everything of all these different countries. It's a lot of work, but in my humble opinion, it's worth it. WILL: I had, like, a two-part question because I wanted to loop back around. When you're talking about the free bachelor's program, one, does anything like that exist where you can get a bachelor-level program, and it's free? And then the second part is, how many countries are you in? QUINCY: Yeah, so currently, lots of governments in Europe, for example, will offer free degrees that are kind of subsidized by the state. There may be some other kind of degree equivalent programs that are offered that are subsidized by corporations. For example, if you work at Starbucks, I think you can get a degree from Arizona State University. And that's a great benefit that Starbucks offers to people. Arizona State University, of course, being one of the biggest public universities in the United States in terms of enrollment. As far as free degrees, though, in the United States, there's nothing like that where, like, literally anyone can just go and get a degree for free without needing to enroll, without needing to pay any sort of fees. There are tuition-free programs, but they still charge you fees for, like, taking exams and things like that. What I like to call ultra-low-cost degree providers–there's Western Governors University, and there's University of the People. And both of these are accredited institutions that you can go, and you can get a degree for, you know, $5,000, $10,000, $15,000. And it's a full-blown four-year degree. Now, that is amazing. I applaud those efforts. I've enjoyed talking to the folks at those different schools. I think the next step is to go truly free. There's nothing blocking you at all. You don't have to be banked. You don't have to have a credit card. You don't have to have any money. You can still get this degree. That's what we're chasing. And I think we'll get there, but it's just a lot of work. WILL: So, it's blowing my mind. It's just blowing me away because, like, you know, we talk about the student loan crisis, I would say. The impact if...when—I'm not going to say if—when you do this, the impact that can have on there, have you thought about that? And kind of, if you have, what has been your thoughts around that? QUINCY: Yeah, so there are $1.7 trillion in outstanding student loans in the United States. That's money that individual people, most of whom don't make a ton of money, right? Like, many of those people didn't actually finish the degree that they incurred the debt to pursue. Many of them had to drop out for a variety of different reasons or defer. Maybe they'll eventually finish those degrees. But as you can see from, like, the macroeconomic, educational, like, labor market data, like, having a partial degree doesn't make a big difference in terms of your earning power. You really need to finish the degree to be able to realize the benefits of having spent all that time studying, and a lot of people haven't. So, yes, there are, like, a lot of people out there that went to medical school, for example, and they're working as physicians. And they are going to eventually be able to pay that off because they're doctors, and they're commanding a great compensation, right? And they've got tons of career options. But if you studied English like I did and you incurred a whole lot of student debt, it could take a very long time for you to make enough money as a teacher, or as, like, a grant writer, or working at a newspaper, or something like that. Like, it can take you years to pay it off. And, in the meantime, it's just continuing to accumulate interest in your, you know, you might be a very diligent person who pays their student loan bill every single month, and yet, you could see that amount, the total amount that you owe continuing to grow despite this. That's just the nature of the time value of money and the nature of debt. And I thank my lucky stars that I went to school back in, like, 2000. Like, my tuition was $1,000 a semester, right? I mean, it's incredible. But that was, like, at a state school, like, a public university in the middle of Oklahoma. And it's not, like, a university you've heard of. It's basically, like, the cheapest possible option. I think community colleges can make a huge dent. I always implore people to think more about community colleges. I've talked with so many people on the freeCodeCamp podcast who were able to leverage community colleges and then transition into a, you know, research university, like a state school, and finish up their degree there. But they saved, like, basically half their money because they were paying almost nothing to attend the community college. And in California especially, the community colleges are just ridiculously worth it. Like, you're paying a few hundred dollars a course. I mean, it's just incredible value. So, I think the community college system is going to play a big role. But my hope is that, you know, freeCodeCamp can thrive. And it'll take us years for people to realize because if you go on, like, Google Ads and you try to run a Google Ad for, like, any sort of educational-related topic, anything related to higher education, it's, like, hundreds of dollars per click because there are all these for-profit universities that make a tremendous amount of money from getting people who just came back from serving in the military and getting, like, huge chunks of their GI Bill, or getting, like, all these federal subsidies, any number of things. Or basically just tricking families into paying huge amounts of money when they could have attended a much more sensible public university, you know, a private nonprofit university that doesn't charge an arm and a leg. So, I think that we are going to have an impact. I just want to say that I don't think that this is a panacea. It's going to take many years for freeCodeCamp to be adopted by a whole lot of people. It will take a long time for employers to look at the freeCodeCamp degree and say, "Oh, this is comparable to a computer science degree from..." say, Ohio State, or UT Austin, or something like that, right? Like, it's going to be a long time before we can get that level of buy-in. I don't want anybody listening to say, "Oh, I'd love to get a computer science degree. I'm just going to hold out and get the degree from freeCodeCamp." Like, my humble advice would be: go to a community college, then go to a state school. Get that four-year computer science degree. It is worth its weight in gold. But you don't want to accumulate a lot of debt. Just try to like, minimize your debt in the meantime. And, hopefully, over time, you know, the free model will prove out, and it'll just be a whole bunch of alumni supporting freeCodeCamp. And that's the dream is that, like, you know, Michael Bloomberg gave a billion dollars to Johns Hopkins University, a billion dollars. Like, Johns Hopkins never needs to charge tuition again with a billion dollars. They can just basically operate their institution off the interest from that, right? And lots of institutions...like, Harvard has, I don't know, like, 60-plus billion dollars in their endowment, right? So, the idea would be freeCodeCamp continues to get this, you know, huge alumni network of people who are doing great and who went to freeCodeCamp and who basically donate back in. And then, we can essentially have the deep pockets subsidizing everybody else who's just at the beginning of their careers who don't have a lot of earning power. You know, when I was a teenager, when I was in my 20s, I worked at convenience stores. I worked at Taco Bell. I did all kinds of, like, literally showing up at 6:00 a.m. to mop the grocery store-type jobs, right? And that is not a path to being able to afford an education in 2023. University tuition is out of control. It's, like, ridiculously high. It's grown way faster than inflation for decades. So, what can we do to alleviate that pressure? In my humble opinion, we just need to come up with free options and support ultra-low-cost options that are already out there. VICTORIA: I was going to ask, but you might have already answered this question somewhat. But I get this question a lot for people who are interested in getting into tech, whether they should get a computer science degree or go to a bootcamp. And I think you've mentioned all the positive things about getting a degree. I'm curious if, in your degree program, you would also tailor it more to what people might expect in a modern tech market and industry in their first job. QUINCY: Yeah. So, the way that we're developing our degree program is we essentially did, like, an analysis of the top 20 computer science programs in the United States: Carnegie Mellon, Berkeley, Stanford, MIT, all those schools that you would think of as being, like, really good computer science programs. And we basically drew a best-fit line through all their course offerings and looked at all their textbooks and everything that they cover. And, essentially, we're teaching a composite of those top 20 programs. Now, there are some things that, surprisingly, those programs don't offer, such as a course on ethics. It's something like 13% of those degree programs require an ethics course. And I think every developer should take a developer ethics course, or at least some sort of philosophy course to, like, understand what does it mean to be a good person? [laughs] Like, what is, you know, an anti-pattern? What is Blackhat user experiences? [laughs] I'm like, when should I, like, raise my hand during a meeting to say like, "Hey, should we really be doing this?" You know. So, ethics–security courses–I was surprised that not very many of those degree programs offer a course in information security, which I believe should be required. So, I'm kind of editorializing a little bit on top of what the composite says. But I feel very strongly that, you know, our degree program needs to have those courses. But in general, it's just everything that everybody else is teaching. And yes, like, a coding bootcamp...I've written a lot about coding bootcamps. I wrote, like, a Coding Bootcamp Handbook, which you can just Google, like, "Coding bootcamp book" or something like that, probably then you can find it. But, essentially like, those programs are usually private. Even if it's at a big, public university, it's often run by a big, private for-profit bootcamp chain. I don't want to say, like, all bootcamps are a bad deal, but buyer beware [laughs]. Frankly, I don't think that you can learn everything you need to know to be a software engineer within the compressed timelines that a lot of those bootcamps are operating under. There's a reason it takes four years to get a computer science degree because: there's a tremendous amount of math, programming, computer science, engineering knowledge that you need to cultivate. And you can absolutely get a developer job without a computer science degree. I don't have a computer science degree [chuckles], and I worked as a software engineer, right? And I know plenty of people who are doing that that didn't even go to college, right? People who were truckers or people who were doing construction work who just sat down and hit the books really hard and came out the other side being able to work as a software developer. But it is going to be vastly easier for you if you do have a computer science degree. Now, if you're in your 30s, if you've got kids, if you've got a whole lot of other obligations, should you go back to school? Maybe not. And so, it's not cut and dry, like, oh, just drop whatever you're doing and go back to...The situation is going to be nuanced. If you've already got a job working as a developer, should you go back and get a CS degree? Probably not. Maybe you can get your employer to pay for you to go to, like, a CS master's program, for example. There are a lot of really good online master's degree programs. Like, Georgia Tech has a master's in computer science that is very affordable, and it's very good. Georgia Tech is one of the best computer science programs in the United States. So, definitely, like, everybody's situation is going to be different. And there's no blanket advice. I would just be very wary of, like, anybody who's talking to you who wants your money [laughs]. freeCodeCamp will never want your money for anything. Like, we would love to have your donation long after you're a successful developer. You turn around and, like, send the elevator back down by donating to freeCodeCamp. But just be skeptical and, like, do your research and don't buy into, like, the marketing speak about, like, being able to get a job immediately. "Oh, it's easy. Anybody can learn to code." Like, I do believe any sufficiently motivated person can learn to code. But I also believe that it's a process that can take years, especially if you're doing the safe thing and continuing to work your day job while you learn these skills over a much longer period of time. I don't believe learning in a compressed kind of bootcamp...like, if you think about, you know, bootcamp in the military, like, this is, like, you're getting shipped away, and you're doing nothing but, like, learning these skills and everything like that. And I don't think that that's right for programming, personally [laughs]. I think there's a reason why many of these programs have gone from 9 weeks to 12 weeks to 6 months. Some of them might be, like, an entire year now. It's because it's them kind of admitting that, like, oh, there's quite a bit to learn here, and it's going to take some time. And there's diminishing returns to learning a whole bunch of hours in a day. I think you'll make much better gains studying programming 1 hour a day for 365 days than you'll make studying, you know, 8 hours a day for, like, two months or something like that if that makes sense. I'm not sure if the math works out there. But my point is, it's totally fine, and it's actually quite optimal to just work your day job, take care of your kids, spend time with your parents, you know, do all those things, hang out with friends and have a social life, all those things in addition to just having programming be one of those things you're working on in the background with your mornings or your evenings. WILL: Tell us a little bit about your podcast. Yeah, tell us kind of what's the purpose of it and just the history of it. QUINCY: Yeah. Well, I learned from the best. So, I'm a longtime listener of this podcast, of course. My friend, Saron Yitbarek, hosts CodeNewbie, which is an excellent podcast, the Changelog, which is an open-source podcast. I've had a great time interviewing the Changelog hosts and being on their show several times. So, I basically just learned as much as I could, and then I just went out and started interviewing people. And so, I've interviewed a lot of devs. I've interviewed people that are, like, learning to code driving Uber. I've interviewed the founder of Stack Overflow [chuckles], Jeff Atwood. I'm going to interview the founder of Trello in a few weeks when I'm back out in New York City. And I do my interviews in person. I just have my mobile studio. When I'm in San Francisco–when I'm in New York, I just go around and do a bunch of interviews and kind of bank them, and then I edit them myself and publish them. And the goal is just to give people exposure to developers. What are developers thinking? What are developers talking about? What do developers care about? And I try to hit, like, a very broad range of developers, try to talk to as many women as possible and, you know, striving for, like, 50% representation or better on the podcast. And I talk to a lot of people from different countries, although that's a little harder to do when you're recording in person. I may break down and do some over Zencastr, which is a tool we used in the past. I just like the spontaneity and the fun of meeting with people in person. But yeah, it's just like, if you are looking for, like, long-form, some of these are, like, two-and-a-half-hour long discussions, where we really delve into people's backstory and, like, what inspired them to become a developer, what they're learning along the way, how they feel about different aspects of software development. Like, for example, earlier, Will, you mentioned impostor syndrome, which is something I think virtually everybody struggles with in some capacity, you know, the freeCodeCamp podcast, tune in [chuckles] and subscribe. And if you have any feedback for me, I'd love to hear it. I'm still learning. I'm doing my best as a podcast host. And I'm constantly learning about tech as it evolves, as new tools come out, as new practices are pioneered. There's entire new technologies, like large language models, that actually work. And, I mean, we've had those since, like, the '60s, like, language models and stuff, but, like, only recently have they become incredibly impressive, exploring these tools and exploring a lot of the people behind them. VICTORIA: Okay, great. Do you have any questions for me or Will? QUINCY: Yeah. What inspired you all to get involved in tech, in...I don't know if somebody...did somebody at thoughtbot actually approach you and say, "Hey, we want you to run this"? Or was it something where like, "I'd love to run this"? Like, because podcasting is not easy. You're putting yourself out there. You're saying things that are recorded forever [laughs]. And so, if you say something really naive or silly or something like that, that's kind of always there, right? It takes a certain amount of bravery to do this. What got you into hosting this podcast? VICTORIA: For me, I mean, if I go way back before getting into tech, my mom she got her undergraduate degree in horticulture to become a florist, and then realized she couldn't make any money off that and went back to school for computer science. And so, she taught me how to use a computer really early on. And when I was in school, I had started in architecture, and then I wanted to change into business intelligence. But I didn't want to apply to the business school, so I got a degree in economics and a job at the IT help desk. And then from there, I was able to kind of transition into tech as a teacher, which was oddly enough...my first job in tech was training a 400-person program how to do, like, version management, and peer reviews [laughs], and timekeeping. And the reason I got the job is a friend from rock climbing introduced me, and he's like, they're like, "Oh, well, you train people how to rock climb. You can train people how to, like, do this stuff." [laughs] I'm like, oh, okay, that sounds great. But anyways, I worked my way up into project management and ended up getting my masters in IT. And when I came to thoughtbot, I had just moved to California, and I wanted to rebuild my network. I had a big network in D.C., organizing meetups and DevOps D.C., Women Who Code, teaching people, and communicating. And I ran a very small podcast there with a friend. So, when I joined thoughtbot, a podcast was a great way to just meet different people, expand my network, give people something to talk to me about when I go to events [laughs] that's not just, like, let me sell you some DevOps work. For me, it's been really fun to just reach out to people that we admire in the community and hear their story, and a little bit about them, and what advice they have for themselves or for other people. And, usually, that ends up benefiting me as well. So, it's been very fun for me. QUINCY: So, your less conventional path into tech combined with your own experience doing podcasting, it sounds like you were a natural choice for hosting a podcast. VICTORIA: Right. And I think I said before we started the show I didn't realize that it was such a well-loved and long-running podcast [laughs] [inaudible 49:01]. But I think we've really come into our own a little bit with hosting, and it's been super fun to work with Will and Chad on it as well. QUINCY: Awesome. And, Will, what's your story, man? How did you get onto the coveted Giant Robots Smashing into Giant Robots podcast? WILL: I actually went to college for sports medicine, and I was on track to go to med school, but my senior year...which I wish I would have had this conversation with myself a lot earlier, didn't have to do the hard work that I did at undergraduate. But my senior year, I was like, why am I really going to med school? And, honestly, it was more for the money, for the...yeah, more for the money. I just wanted to get paid a lot of money. I was like, yeah, that's not going to sustain me. I need to just pivot. So, I pivoted–started working at some nonprofits. And I ended up losing my job and got another job at Buckle, the clothing store, which was not a great fit for me. It helped me provide, but that's just not who I am. I'm not a fashion icon [laughs]. And then I changed to a travel agency insurance company, which it paid the bills. I wasn't passionate about it at all, and it paid the bills. And I was still struggling from losing my job. It was the first time that I lost my job. And my spouse came to me one day and is like, "All right, we're going to have the serious talk." And we almost flipped roles because that's usually who I am. I'm like, "All right, let's have a real talk. Let's get down to it." But I was just in a bad place. And she was like, "All right, we have to change because we can't keep going down this path." So, she was like, "If you had a choice to do anything, what would you want to do?" And I was like, "Well, probably something with computers and coding because I never had that opportunity when I was growing up because of the small town." And she looked at me, and she's like, "Go sign up right now." And I was like, okay, I'm going to sign up. When you mentioned that you made a transition in your 30s, I was around my 30s when I made the transition into coding. And so, it was a big transition. It was a big pivot for me because I'm having to learn, almost like I'm in college again, which was eight years ago. And so, it was just tough, and it wasn't new. So, that's how I got into coding. How I got on the podcast: I think I was talking to Chad and my direct report. I was just talking to them about challenging myself, and so it was multiple things. But, like, writing blog posts that was actually very challenging to me. I still don't like to write. It's not my favorite thing. Give me math or something like that or science; that's where I feel at home. But whenever, you know, you talk about writing and stuff, I can do it, and I'm decent at it. But it's not something that I feel comfortable in. The same thing with the podcast. The reason why I got on here is because I wanted to get out of my comfort zone and I wanted to grow. And I also wanted to get a chance to talk to people who's making a difference–who's impacting the world. So, like, this conversation today is like, yes, this is why I wanted to be a part of this podcast. So yeah, that's how I got started in tech and on the podcast. QUINCY: Awesome, Will. I'm thrilled that you went ahead and persevered and got into tech. It doesn't sound like it was a straight line, and it rarely is for people. But I'm always excited to meet somebody who learned to code in their 30s who stuck with it and is prospering as a result. So, congratulations to you. WILL: Thank you. VICTORIA: I'm still learning. I haven't quite got [inaudible 52:42] "Hello, worlds," multiple times [laughs]. But I don't really code every day for my job. I just kind of need to know what stuff is to be able to talk to people and in that way as a managing director. So, I appreciate Will bringing that backstory to this episode in particular. What else? Any other final takeaway that you'd like to leave our listeners with? QUINCY: I just want to thank you all for continuing to host this podcast, thoughtbot for operating the excellent Playbook, which, for anybody listening who is unfamiliar with, you should check it out. Again, it's just chock full of institutional wisdom accumulated over the years. And I hope everybody out there who's thinking about taking the plunge and learning coding or software development, or even, like, a semi-technical area of being in the software development process of learning visual design, learning how to do user experience research, any number of the different roles in tech, I hope you'll go for it. And I hope you will be as undaunted as you can. And just know that freeCodeCamp and the freeCodeCamp community we are in your corner. If you need to learn something, there's a very good chance that we have some tutorials written by thoughtful teachers who want people like you to come forward and like, read these resources and use it. There's a saying: like, the thing that programmers want the most is to have their code running in production somewhere. And, as a teacher, the thing you want the most is for you to have students, for you to have learning resources out there that are making a positive difference. So, again, I just count my blessings every day that I'm able to be involved in this community. I hope anyone listening who wants to transition into tech or to become even more technical gets involved in the freeCodeCamp community as well. We welcome you. WILL: Are there any opportunities? I know we talked about donations. So, for one, where can they go if they want to donate? And then also, like, you know, if developers want to get to be a part of the open-source network you have, is that possible? And how can they do that? QUINCY: Absolutely. So, if you want to donate to freeCodeCamp, just go to donate.freecodecamp.org. And you can become, like, a $5 a month donor, if you'd like. If you want to give a larger amount, I've got this article; just Google "How to Donate to freeCodeCamp." And I've written this detailed guide to, like, all the different ways like mailing checks. We had a gentleman who passed away and left a whole lot of money for freeCodeCamp in his will. So, those kinds of legacy gifts are definitely something. We've had people donate stock, like, any number of different things. I will bend over backwards to make sure that we can receive your donation, and we can give you a tax receipt so you can deduct it from your taxes as well if you'd like. And then, for contributing to freeCodeCamp, of course, we're an open-source project, and we welcome your code contributions. We have spent a great deal of time trying to make freeCodeCamp as hospitable as possible for both new developers who want to get involved and more senior developers who just want to do some, like, 20%-time type contributing to open-source projects: contribute.freecodecamp.org. So, again, donate.freecodecamp.org and contribute.freecodecamp.org. Those will take you where you need to go. VICTORIA: Wonderful. Thank you so much again, Quincy, for joining us. And you can subscribe to the show and find notes along with a complete transcript for this episode at giantrobots.fm. If you have questions or comments, email us at [email protected]. And you can find me on Twitter @victori_ousg. WILL: And you could find me on Twitter @will23larry. This podcast is brought to you by thoughtbot and produced and edited by Mandy Moore. Thanks for listening. See you next time. ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com.Special Guest: Quincy Larson.Sponsored By:thoughtbot: When starting a new project, we understand that you want to make the right choices in technology, features, and investment, but that you don’t have all year to do extended research. In just a few weeks, thoughtbot’s Discovery Sprints deliver a user-centered product journey, a clickable prototype or Proof of Concept, and key market insights from focused user research. We’ll help you to identify the primary user flow, decide which framework should be used to bring it to life, and set a firm estimate on future development efforts. Maximize impact and minimize risk with a validated roadmap for your new product. Get started at: tbot.io/sprintSupport Giant Robots Smashing Into Other Giant Robots