The Changelog: Software Development, Open Source - freeCodeCamp (Interview)

Episode Date: February 12, 2016

Quincy Larson is the creator of an open source community called freeCodeCamp. We talked with Quincy about "the secret to getting good at coding", their curriculum that spans a solid year (totaling 2,0...80 hours) of deliberate coding practice, plans for financial sustainability of the project, and the people behind it on the leading/teaching side and the camper side.

Transcript
Discussion (0)
Starting point is 00:00:00 I'm Quincy Larson, and you're listening to The Change Log. Welcome back, everyone. This is The Change Log, and I'm your host, Adams Dekowiak. This is episode 195, and today we're talking to Quincy Larson about a big subject, learning to code at Free Code Camp. We talked to Quincy about the secret to getting good at coding. We learned about their curriculum, spending a solid year, 2,080 hours of deliberate coding practice. We discussed plans for financial sustainability of the project.
Starting point is 00:00:36 We talked about the people behind it, both on the leading and the teaching side, as well as the camper side, and so much more. We have four sponsors for the show today, CodeShip, DigitalOcean, Outbeat, and Truesight Pulse. Our first sponsor is CodeShip, and they have a free webinar coming up on February 25th where co-founders Florian and Manuel will discuss their new continuous integration and delivery platform
Starting point is 00:01:01 with native Docker support. They will give a walkthrough of how the platform works examples of working with docker compose features as well as live real world examples of working with the platform two killer features i have to mention number one you can use existing docker files in your docker compose yaml files with the code ship docker platform there's no need to rewrite service definitions and number two you, you can use the CodeShip Docker CLI tool to run tests locally, so you ensure absolute parity with your CI environment.
Starting point is 00:01:33 If that gets you excited, head to resources.codeship.com slash webinars. And the very first webinar in the list is the webinar I'm talking about. Click through to that, sign up, you'll be good to go, and now on to the show. All right, everyone, we're here today joined by Quincy Larson. And Quincy started an open source community. We had to get him on the show. He's been
Starting point is 00:02:00 trending on Change All Nightly. It's called Free Code Camp, and we're here to talk about his journey and the plans and the impact of Free Code Camp and how it's having an impact on the software development world. Quincy, welcome to the show, my friend. Thank you for having me. And I think that the best way, Jared, might be to kick the show off with yet another mention to this awesome thing we have called Change All Nightly. It's our own radar. That's how we found out about FreeCodeCamp. And this is an email we ship out every single night that features top repos on GitHub
Starting point is 00:02:31 in the last 24 hours. So if you're on a web browser or able to do so, go to changelog.com slash nightly. Subscribe to that. But Jared, let's kick things off with you telling us a bit about how we found FreeCodeCamp through Change.onLightly and how it kind of bubbled up to get our attention.
Starting point is 00:02:48 Yeah, well, lots of times certain projects will get our attention because they pop up into the top new list. And then eventually they'll sometimes they'll show up in top overall list as well, which means they're not just created in the last 24 hours, but overall the most our repos on GitHub for the day. FreeCodeCamp is one of those that has been chilling in Nightly for months. I mean, it routinely is the top starred repository, or at least in the top five. And we started wondering, what the heck's going on with this FreeCodeCamp? Everybody loves it.
Starting point is 00:03:21 It's getting starred like crazy. In fact, we checked it out and it looks like it's number two overall starred repo on GitHub with something like 72,000 stars currently, second only to Bootstrap, which everybody knows and loves, and which has been around for quite a bit longer. So we almost just couldn't even ignore it. It was just there in our inbox every single night. Couldn't see what that makes you feel like, man? Does that make you feel like a rock star or what? Or you're doing something right?
Starting point is 00:03:49 How does that impact you? I'm extremely humbled by the attention Free Code Camp's been getting. And yeah, I feel great. And I'm excited about the prospects. It's definitely steered a lot of developers that regularly contribute to open source to coming and putting in pull requests and filing issues.
Starting point is 00:04:14 And including Sahat, it's S-A-H-A-T. He created the hackathon starter, which was actually the Node. rollout if you will the boilerplate that i started free code camp with so he actually had like a ton of commitment commits on free code camp to begin with and he came back the other day and and followed the pr so was it a surprise to you i guess to one were you familiar with cheese all nightly did you know you had been trending for months now, basically?
Starting point is 00:04:46 No. I mean, obviously on GitHub, but like you've been appearing every single time in this email. I wasn't aware of that. I, of course, like people will mention occasionally like, hey, you're trending on GitHub and stuff. And I'll be like, awesome. Check it out. You know, and I remember the first day that we were trending. It was like, I think, during jQuery SF, which was a big event here in San Francisco.
Starting point is 00:05:09 And I just remember the feeling like, whoa, you know, like we're right behind, you know, Facebook and Google and some other major companies that were really, you know, open sourcing tools at the time. I think like React Play framework or something was being open source partially and uh yeah so it was definitely um a big shot in the arm in terms of morale behind the scenes you don't know this but jared i've kind of been watching what you've been doing simply because you you're daily on our nightly radar so to speak And so we kind of feel like we know what you're doing already, but it's great to finally get you on the show. I'm excited to be here. I'm a longtime ChangeLog listener,
Starting point is 00:05:52 so I was honored and thrilled when you submitted that GitHub issue requesting that I come on the show. That's cool, too, because, Jared, how often do we have longtime listeners on the show? Is it often or is it because, Jared, how often do we have long-time listeners on the show? Is it often, or is it few and far between? Every once in a while. It's less often than I'd like to hear, but
Starting point is 00:06:13 it's always nice when somebody both listens and comes on the show. Since we're mentioning the show, Quincy, you really enjoyed the show just before this show, so this is episode 195. Episode 194 featured Jose Valim talking about Elixir. You like that show a lot, too, but long-time listener of the show.
Starting point is 00:06:32 It's always nice to have someone on the show that's listened. It's great. So in this case, you probably know what's coming next, which is the same thing we did with Jose, is we like to hear about our guests' origin stories, how you got to where you are now, because we find those to be informative, inspiring, and really help us and the listeners relate to you and what you're doing at Free Code Camp. So could you tell us your hacker origin story? Absolutely. So I started out as a teacher and progressed to a school director
Starting point is 00:07:08 over kind of a process of about 10 years. I ran schools in both the U.S. and China. And along the way, I was doing these very repetitive workflows, you know, involving immigration, involving grade reports and enrollment documentation. And I just kind of decided that I wanted to learn more about how to automate those processes and speed things up so that I could free my school's administrative staff and teachers from the tedium of just filling in work, you know, paperwork the old-fashioned way. And so that kind of kicked off a journey into, you know, writing Excel macros and ultimately writing little scripts that did things. And once I was able to basically facilitate my entire staff being able to spend more time with the students and less time in front of their computer in their offices by themselves, I started to really think about how this technology could be applied more broadly to help teachers and school administrators. And that's when I decided to kind of take the plunge and leave my job and just focus on learning to develop software full time.
Starting point is 00:08:34 So I did that for several years. I can go a little bit into how that went. Basically, I shuttered myself and in a hacker space because I couldn't find the motivation to work at home at my kitchen table, which was my original plan. I just there was too much to distract me. There was the fridge. There were all these little things, little excuses. Whenever I hit like a brick wall, I had some convenient chore that I had to go do. Right. I know the feeling. So I locked myself in. At the time, I was living in Santa Barbara, Santa Barbara hackerspace. It was just a room at the time. It was very small and was stacked high with dead Roombas and other drone-type gear and
Starting point is 00:09:21 stuff. And I just sat in there on their wifi and crunched through a lot of programming books and worked through a lot of online courses through Coursera and edX. And I was really all over the map and took me a long time to get good enough that I could actually go. I mean, like basically seven months of just going to hackathons nonstop and coding, you know, 60, 80 hours a week. And then finally, I was able to get a software engineering job. And of course, it was that itself was a completely brutal process of being told I was wrong repeatedly by both humans and machines. And I just continued learning to code because I was really passionate about helping teachers
Starting point is 00:10:12 and school directors like myself just automate these workflows. And I figured that there would be a way that I could do that at the end. But along the way, I kind of discovered that the real struggle was just learning to code itself. That what I was doing, you know, this self-directed learning thing, where I was spending days and days going off in the wrong direction down these rabbit holes with, you know, debugging Linux drivers and all these other things, that this wasn't necessarily the optimal way of doing it. So that's when I started seriously thinking about coding education.
Starting point is 00:10:58 And that eventually led me to put up the prototype for FreeCodeCamp and see if we could get any traction. I think it's interesting to hopefully rep know, hopefully repaint this, what you, the story just shared. So it sounds like you came from a teacher background with no formal or traditional training in software development. You taught yourself through, you know, the school of hard knocks, basically either finding community and, you know, immersing yourself in that. And then finding out that essentially software is the is a way to help people back into your original position, which was a teacher.
Starting point is 00:11:31 And that's sort of been your path. Is that about right? Is that fair to say? Yeah, absolutely. It was a circuitous path, but I've always been interested in education. That's that's my calling. You know, I decided a long time ago that that was what I thought the major bottleneck to the progress of civilization was, was education. It
Starting point is 00:11:51 wasn't a whole lot of other things that people seem to think it is, like access to capital or rule of law. There are so many other things that you could consider, but I think education is really fundamental and is causing a lot of the issues that we're experiencing. And technology education is going to be the biggest solution to income inequality and a lot of these other problems that we're facing in the 21st century. So just to think back through some of your struggle to learn software development and the resources and tools that were available to you, you said you had books, which you read, maybe you could tell us, you know, some of the specifics there, but also, you know, some, some online learning tools. You also seem to be really in surrounding yourself with developers, at least physically, I don't know if you're, if you're working with them or asking them for help. But what were the biggest struggles?
Starting point is 00:12:51 What was the hardest part? You said just learning the code. Can you give us more on that? Can you go into that further? Yeah. I mean, I think learning the code is a struggle. First of all, I just want to say, as I've said like a million times before, and I'll continue to say, anybody can learn to code. It's just a matter of persistence.
Starting point is 00:13:10 I don't think there are any innate properties that give an individual a significant advantage over another in terms of learning to code. It's just a matter of sitting down and doing it. So really, at the end of the day, it's a motivational issue. And it's easy to get demotivated when you're reading a book that you checked out from the library where none of the code examples run because you're in Python 3 instead of Python 2, for example, and you didn't realize it. Or you're enrolling in a machine learning course and you realize halfway through that you were supposed to have knowledge of this, you know, relatively advanced mathematical subject that you know nothing about. And you basically just had to put that class on hold and switch over to learning mathematics, for example. So there are a whole lot of dependency issues,
Starting point is 00:14:06 if you will, where if you imagine you're learning a big hierarchical thing, and there are so many moving parts underneath that thing that you need to understand before you can get all the way up there. So that was a big part of the problem was there wasn't a clear path. There certainly are clear paths. People will every once in a while put up a blog post like, here's how you should learn machine learning and do this and then this and then this and then this. But those kind of get stale after a while and resources are no longer available. Better resources come out. Those are not necessarily updated. So we wanted to make sure
Starting point is 00:14:46 that we had like a living curriculum that addressed that specific concern and that we really focused on just teaching like one very specific thing, which is web development. So maybe this is fast tracking the whole entire story a bit, but I guess the question I have at this point is like, how do you go from the story you just painted, teacher, to, you know, in no negative words, wannabe coder, to immersing yourself in hackathons and around people who are developing software, to being the person leading the charge of FreeCodeCamp and encouraging others and leading people through that struggle to actually program? Like, what makes, what made you the right person to do this? Honestly, it could have been anybody. I just happened to be in the right place at the right time uh there was a critical mass i remember very like right when i was considering leaving my career as a school director um that's when mark andreason published the famous now famous uh software is eating the world essay in the wall street journal um this was right after uh sebastian thron and uh also uh definitely caller and uh andrew
Starting point is 00:15:57 had recently published the uh their uh machine learning and computer science classes that were extremely popular, the AI class and the machine learning class, respectively, I think. And that really launched MOOCs in earnest, massive open online courses. So this was a big discussion in education already. And the shift toward technology, I really feel that I was on the leading edge of that in the sense that
Starting point is 00:16:25 like i was one of the first people in my field to like really realize how significant and permanent that uh the shift was uh i think a lot of people to this day kind of even downplay the importance of these uh scaling technologies where you where you can literally teach hundreds of thousands of people instead of teaching a class of 30 at a time. So I think that that was a major part of it, was I just happened to be receptive to these things, and I was in a position within a school where I could directly take these concepts and apply them. And another thing was, you know, I was extremely thrifty and I'd saved half of what I'd earned for like the past decade.
Starting point is 00:17:12 So I had like a little baseline in terms of like a runway to support myself while I just turned through these things. I mean, most people don't have the resources to just be able to stop what they're doing and spend literally years of their life learning the code. And my hope is that they won't have to have those resources because hopefully Free Code Camp will address that partially and they don't have to leave their jobs or do anything drastic. But at the time, Free Code Camp didn't exist. And I felt that that was the only way that I could really dive into it. Because everybody I saw who was taking like a half-hearted approach just wasn't really getting anywhere. So I would say that it was mostly luck. And like Oprah and all these other people have
Starting point is 00:17:56 said, luck is just opportunity and preparation. And the opportunity was definitely there. I think at this point, our listeners probably know what free code camp is in a very nebulous way. It's obviously an online learning community or tool. But maybe you could give us kind of the, the summary pitch of it for those, you know, who are driving or whatnot, can't go to free code camp.com and just check it out as we talk,
Starting point is 00:18:21 give the high level, like what it is and what sets it apart. And then we'll, we'll continue from there. Sure. Free Code Camp is an open-source community that helps you learn how to code and helps you practice coding by building projects, including projects for real-life nonprofits
Starting point is 00:18:41 that need software solutions to be able to do their jobs more effectively. We launched, I think, in October 2014. And along the way, we've accumulated a pretty large core team of contributors, both teachers and developers, who are working on building this very large open source curriculum that covers web development from end to end, starting with basic HTML, CSS, jQuery, and moving all the way through the front end
Starting point is 00:19:13 with tools like jQuery and React and D3 and data visualization. And then also covers the back end with tools like Node.js, Express, and covers some database ORM stuff as well. And ultimately, throughout the course of FreeCodeCamp, you're not just sitting there like reading tutorials or watching videos. You're actually coding the entire time. It's approximately 2,080 hours of coding practice, which is like a calendar year worth of 40 hours a week work. And that involves, among other things,
Starting point is 00:19:59 building 10 front-end projects, 10 data visualization projects, 10 back-end projects that are like APIs and microservices, and then building two projects for nonprofits and maintaining two other legacy projects because we think working with legacy code is really important. And then we're working on an interview preparation component as well that will cover pair programming on the interview and whiteboard coding and things like that and we focus a lot on pair programming throughout we we have live chat rooms where community members just volunteer to
Starting point is 00:20:39 to help each other so at any time if you get stuck on a coding challenge you can just click a help button it'll open up a chat room and you can immediately get help on whatever your issue is. And we've made extensive use of external tools. So we use Gitter, which is a great, it's kind of like Slack, but it's for open source communities. And it's really well built and maintained by these gentlemen out in London. So, yeah, it's a community first and foremost. It's spread across Reddit, across Medium. And, of course, we have almost 1,000 local groups called campsites throughout the world where campers, that's what we call community members,
Starting point is 00:21:24 campers will get together and uh code together we call them coffee and codes they'll like buy some coffee and sit down in the starbucks or whatever cafe and just code together for a while it's like live in-person pair programming and some sometimes it'll be two people sometimes it'll be 40 people in like Delhi or Seoul or some of these bigger cities. It's a mix of coding to learning to code through, you know, resources, actual curriculum, a community, leveraging some social media aspects like Medium, Reddit, or even not so much meetups, but your local meetups. Sounds like you got like a thousand, it seemed like. I think when I zoom back out i i think that sounds really really awesome but i also heard you say earlier that you bootstrap this thing on your own dime it sounded like so there's a little bit of a story i'm kind of missing there which is like
Starting point is 00:22:15 if you put away for 10 years a decade uh you know half of what you earned it sounds like you fit the bill you i'm not trying to like harp on how much money it takes. I'm trying to just figure out how this thing moves and how this thing operates because it's not just you. It's a we. So I don't want to figure out the we. And I also want to figure out, you know, if you bankrolled it and then now it's free for all, like how in general, I guess the bootstrapping process was. And then obviously it's free for all now, but you have some ways you're making money. So over the course of our conversation, I'd like to pull some of that out as you, as you're able to. So what do you think about the bootstrapping, bootstrapping process of, of this thing? Sure. So, uh, I mean like bootstrapping is a term like that is generally
Starting point is 00:23:00 used with products that charge and Free Code Camp will never charge. We're never going to charge campers to learn. We're never gonna charge the nonprofits we help. We're never gonna sell your data to somebody so that we can make money. In fact, we give away basically all the anonymized data. It's only semi-anonymized, but basically you can opt out of that if you want.
Starting point is 00:23:27 But we're not going to give away your email address, for example. But basically, we have almost no income. Almost all the income right now comes through merchandise. We sell t-shirts. Occasionally, we'll have a teespring campaign. And we're getting ready to start selling some stickers and some other cool stuff through our shop. We don't accept donations. We don't accept, like I've turned down funding.
Starting point is 00:23:52 Wow. I think that my goal with Free Code Camp is to really keep Free Code Camp as independent as possible and to retain as much control as possible because I see Free Code Camp as something that could easily be screwed up if we brought in like a lot of a lot of corporate interests or like angel VC funded people. We just had a show on that, actually. I don't know if you listen to that one with Nadia Ekbal. Yeah, I did. So obviously you can kind of see where I'm coming from or where Jav and I are coming from because there's a lot of altruistic goals and ideas out there. And I'm not saying one little bit, just trying to do some digging, investigating with you out loud.
Starting point is 00:24:35 And we've got to go to a break here in just a second. But I think what I'm trying to figure out is, one, you spent some money doing this and then it's not just you it's we um we haven't shared some of your personal life but you've got a family you've got things like that so i think you know we're always looking for the sustainability side of of ideas like this because one you built something really awesome two it's super popular three it's helping people i see you tweeting and i see people saying you know in, in 20 hours, I learned some stuff and boom, I built this calculator or I built this thing with node or whatever. So obviously there's results. Uh, and I'm just kind of figuring out how, you know, how we keep it moving, how you're, how you're funded, how you keep funding, how you keep people
Starting point is 00:25:17 motivated, invested, whatever. So hopefully you're taking us on that, on that journey, but let's, let's pause there since we're since we're sort of at a pause moment here. We'll take this quick break. We'll come back and we'll dive a bit deeper on those topics. So we'll be right back. DigitalOcean is simple cloud hosting built for developers. If you have not tried DigitalOcean yet, in 55 seconds, you can have a blazing fast SSD cloud server up and running with your choice of Linux distro, CPU, RAM, and even create new droplets based on backups or snapshots in time, which is a cool feature.
Starting point is 00:25:55 For those that operate in teams, you can invite multiple users to access and manage your account's infrastructure resources while keeping all of your sensitive information totally private. Head to digitalocean.com and make sure you use our code CHANGELOCK to get a $10 credit when you create a new account. All right, we're back from the break. We're here with Quincy Larson talking about Free Code Camp. And Jared, during the break, we kind of talked a little bit to kind of realign some thoughts here. And you brought up something, Jared.
Starting point is 00:26:26 People may not know this about you, but you're part of Interface School there in Omaha, Nebraska. And we kind of just talked about how it's a capitalistic endeavor and that, you know, people are, you know, they're getting value from the teaching that goes on at this coding school. And the same frequency with what he's doing with this and those who have joined the, the, the efforts with the rest of the campus, so to speak. And Quincy, I think what we're trying to do really is just figure out for the listener
Starting point is 00:26:53 stake and everyone who wants to invest, whether it's getting involved in learning or pitching in on becoming a teacher or just becoming a camper and whatever that entails, you know, from a revenue perspective, from a bootstrapping perspective, you mentioned it's kind of focused on products, but, you know, what kind of endeavor is this for you? Is this a capitalistic endeavor or is this a give back to community endeavor? How do you frame sustainability when it comes to this project?
Starting point is 00:27:20 Sure. First of all, this is an endeavor of, you know, this is an idealistic venture in the sense that I'm happy to spend the rest of my days sitting in my closet where I am now eating microwave burritos and coding all day and going for runs around the Bay Area. I think that Free Code Camp can absolutely fund itself through helping campers find jobs after they finish Free Code Camp. So far, maybe several hundred campers have found jobs after they've worked through Free Code Camp's curriculum. And we're not doing anything to capture that value.
Starting point is 00:28:18 Basically, they're just going and getting the jobs on their own. There are a lot of ways that we could potentially become kind of an intermediary. And one of them is through our job board that we've already built that basically our job board is special in that it is for campers and for employers who specifically want to hire campers who've completed some of our certifications.
Starting point is 00:28:47 And that's a very hands-off kind of laissez-faire approach to matchmaking campers with employers that will work really well in the long term when we have a high volume of campers completing those certifications now right now we only have less than a thousand people who've completed a certification out of the i think uh 225 000 uh campers that have registered at all on free code camp so far yeah we saw 222 000 campers and it sounds like you said a thousand have completed a certification that's not challenged that's just certification that's a certification so it's approximately 400 hours of uh coursework so a lot of it is all this stuff is so new that people just haven't had time to work through it but we we think that people will have time as free Code Camp continues. It's just so far, Free Code Camp is very, very new in the big scheme of things. Yeah, I mean, like we said in the earlier part of the call,
Starting point is 00:29:52 it's been on our radar because it's been trending on GitHub. It's getting started like crazy. Obviously, it's doing something that's getting the attention of the masses, those who are on GitHub and forking projects and contributing back. The number does seem a little skewed to me with, you know, quarter million campers and a thousand certifications. And obviously you're still sort of figuring things out. How do you feel about, you know, that number, that skew, basically,
Starting point is 00:30:19 that ratio and what, I guess, given the fact that you're still new and still figuring things out, what are you doing to sort of match those numbers to, to higher ratios? Sure. Well, we're comfortable with a relatively low ratio. Um, you know, Daphne Collar who founded Coursera, uh, is, you know, fond of answering the question of like, uh, you know, attrition essentially, like attrition is a red herring, right? Because these are people that wouldn't have learned any coding at all. And if they hadn't come to free code camp, they may have just, you know, said, well, I'm not going to bother learning or maybe they'll, they'll come to free code camp. They'll use it for
Starting point is 00:31:01 a while. They'll switch to another resource. they'll come back we we see that all the time uh because free code camp is hard i mean we we definitely we're not like the the weeder class your first year of physics or whatever but we are definitely we we make no uh pretenses about learning to code being an easy endeavor no it's a serious endeavor that that takes a lot of commitment and a lot of effort on your part in time investment. And you have to allocate your time accordingly. I mean, uh, 2080 hours, that's, that's really to get started. That's to, to be job ready and really just take the first step as a developer of actually getting a job and working for a while um peter norvig uh the director of uh google's i think research uh right now i think is what he's doing um he uh famously said you know learn to
Starting point is 00:31:56 code in 10 000 hours and uh he believes that learning to code is like a serious input of time and energy. It's not something that you just trivially choose. And of course, a lot of people just want to try it out and see if it's for them. Now, I certainly believe everybody can learn to code if they persist in their effort. In practice, a lot of people are going to procrastinate or they're going to um just decide that like they don't want to worry about it right now and invariably those people come back several months later they'll come back and they'll start working on it again so what we're experiencing is you know we have more than 100 000 people use free code camp every month and a lot of times it's like it's like they're strobing in and out of free code camp every month and a lot of times it's like it's like
Starting point is 00:32:46 they're strobing in and out of free code camp as their motivation waxes and wanes and then at some point they'll they'll lock in and they'll be like all right i can really do this they'll kind of clear the proverbial um the proverbial uh log jam and they'll just keep jamming forward through the curriculum and and once they get that momentum and they'll just keep jamming forward through the curriculum. And once they get that momentum and they really start to believe that they can learn to code, that's when they start clearing these certifications and that's when they go out and get jobs. But it's just an innately challenging process. So as Daphne Culler says, when a MOOC has 1% or 2% completion rate, she's quick to point out that of the people who put forth a serious effort, it's much higher.
Starting point is 00:33:32 It's like 60% or 70% of people who really do spend the time to complete the first or second week's assignment. Those people will go on to complete it at about the same rate that a university class will. And for us, I think it's probably very similar. Our numbers are very similar to that. It's just that we're so new that it's not reflected directly in our outcomes yet. So if we could just back up a little, or maybe not back up, but zoom out a little bit and talk philosophically a little bit. As Adam said, I'm co-founder of a, of a web school here in Omaha. So, uh, definitely seeing the need and kind of taking a hybrid approach, both, you know, IRL plus adjunct of online tools, um, as a strategy, you know, teaching 10 people at a time, not going for the, for the massive numbers, but we profile our students, like our potential students. And one thing that
Starting point is 00:34:25 we look for in a potential student is exactly what you said you had, which is why you made it through the slog of learning, which is that perseverance, you know, hardheadedness, like some sort of intrinsic self-motivation. And, you know, most people that I've had experience with online-only self-learning is that problem that you've kind of been touching on, which is the waxing and waning of interest or not able to get through that logjam. like, and in my experience, having somebody, a real life instructor or a mentor, or I guess maybe in your guys' case, a pair, is a good way to get more people through that log jam and move beyond the ones who are going to be the Quincy Larsons of the world who are just going to teach themselves no matter what, come hell or high water, and get more people through the course to success. Is that something that you guys are thinking about?
Starting point is 00:35:29 I know you said you mentioned you have these campouts or these copying codes. Is there any sort of angle of taking the technical, you guys have the broad swath approach of like let's get the curriculum online for everybody and then a lot of the code schools are taking the other approach of like let's get it, let's get the curriculum online for everybody. And then a lot of the code schools are taking the other approach of like, let's get it in real life for a few people. And it seems like if you can meet in the middle and say, well, we can take this online
Starting point is 00:35:55 thing where we're having, you know, less than 1% at this point, I understand your point with it's kind of new. So it takes time to get people through the certification. But let's just call it a 1% success rate if certification is the definition of success. And let's work on bolstering that with real other people to come alongside and get people through the logjam. Sure. I'll tell you, I strongly believe that in-person learning is critical to establishing that motivation I was talking about earlier. Cause if you're literally alone in your closet, like I am right now, it can be very isolating. However, you know,
Starting point is 00:36:39 we have the online community component, but that's just a part of it. We have the in-person coffee and codes. That's a big part of it too. But we actively encourage our campers to go and participate in as many hackathons as they can, to go to tech talks, to go to conferences, if they feel so motivated to enroll in an intensive coding bootcamp or other, um, short-term program. Uh, and I see tremendous value in those. Um, a lot of coding schools are adopting free code camp as part of their, uh, their pre-course work or even part of their core curriculum. And, um, we, we definitely, I just want to say that we support what they're doing and we think that, think that there should be a wide variety of modalities for learning to code. There are certain people for whom attending one of those programs is simply not plausible.
Starting point is 00:37:33 Maybe they have a lot of kids, and they've got a full-time job, and they simply can't do anything that's intensive at all. So what we're hoping Free Code Camp can do is just give them a slow trickle over the course of years. Because, I mean, if you're only doing it two hours a day, it probably is going to take you years to get good enough to be able to transition your career. You may be able to transition within your company, which is what a lot of our campers do. They'll apply for slightly more technical positions
Starting point is 00:38:02 within their current company. And that's been kind of a path to success because they get more practical experience and they can keep their income stream and all that. But yeah, I think that in-person activities is critical to maintaining motivation and to contextualizing a lot of the lessons. I mean, if you see somebody stand in front of the whiteboard and diagram out a design pattern or how a schema actually looks, it's no longer so abstract and you can kind of internalize it
Starting point is 00:38:33 and suddenly it becomes part of your gestalt of how a program works or how this different technology works. The other huge aspect of it, which I've seen firsthand, is all of those speed bumps that you hit that are actually just barriers. You were called on dependencies earlier, like you got the wrong version of Python or you're typing this command wrong. Some of those things
Starting point is 00:38:55 are it's like it's useful to get through that on your own because it's that again, you've proven to yourself, I can solve this problem or I can get over the speed bump. But a lot of those are just gigantic wastes of time. And you're not actually learning, right? You're just banging your head against a wall. And if you only have two hours a day to do this, you're investing, you know, I'm going to invest two hours a day. And you spend that entire time hitting these dependencies or whatever the problem happens to be and not learning. Having somebody who can in a moment move that thing out of your way and you can just continue on your learning path is hugely valuable. Yeah, I agree.
Starting point is 00:39:32 And I would say that that's one of the major reasons that free code camp exists is to give you like a clear path forward so that you can spend less time out in the sticks, so to speak, going down rabbit holes and fixing things that are not... A lot of people get caught up in deploying servers and doing all this ops or DevOps type stuff early on, and it feels like you're being productive because you're following this tutorial, you're getting a server up, but you're not actually coding. Right.
Starting point is 00:40:02 And if you think about like becoming a software developer what is the biggest you know the biggest aspect of that career it's coding and i think that uh people should spend as much time coding as possible and as little time worrying about you know configuring their flavor of Vim shortcuts or whatever, or whatever ancillary stuff that can seem like it's a productive, relevant use of your time, but in fact is not an optimal amount or an optimal application of your time, considering that you need to get thousands of hours of coding under your belt before you're really going to be very good. Maybe to help us guide this call a bit would be to help us understand what your version of success for this would be. Maybe not right now, but where do you hope to go? What are some of the milestones, success goals that you,
Starting point is 00:40:59 maybe not numbers, but just aspirational ideas? what do you think success for this is success for free code camp would be helping a lot of people in aggregate not necessarily a high percentage of applicants but a lot of people in aggregate be able to transition from whatever they're doing right now to working as software engineers and um in terms of the goal, the scope of FreeCode Camp, this isn't some project that I'm going to get bored with and move on and go start building different JavaScript libraries or something like that. This is where I literally see my career. I'm hoping that 50 years from now, FreeCode Camp is still going strong. One of my personal heroes is Jimmy Wales, who founded Wikipedia and really got the critical mass necessary to sustain that and make this incredible resource. If you look at the total amount of time that went into building Wikipedia, it's the equivalent of building the Egyptian pyramid several times over. And it's all because he just planted the seed and kind of nurtured it early on and got a
Starting point is 00:42:13 whole bunch of other people to come over and contribute. And my hope is that with Free Code Camp, we can get even more teachers and even more developers coming in to really build this amazing online resource so that anyone anywhere in the world who has the motivation can sit down and learn to code in a very efficient way that is free of a lot of the issues associated with you know self-directed learning in general of not knowing exactly what to do or having to deal with like resources that do not interoperate properly because they're dealing with different content or maybe excessive overlap between different resources. For example, there's this resource density of early content that teaches you the most fundamental aspects. And there's also
Starting point is 00:43:03 this density of advanced tutorials, but there's very little in between that would help you bridge from one side to the other. So what we want to do is create a reliable bridge from the people who are stuck in kind of beginner resource mode where they're jumping from tutorial to tutorial to actually have something where they can hunker down for the long term and expend a lot of time and energy
Starting point is 00:43:25 just learning all the intermediary aspects of coding. And then they'll be in the advanced state where they can rely on the gamut of tutorials and effectively use Google, Stack Overflow, all these other tools to be able to accomplish whatever they need to accomplish. So that's what I see free code campus. Like ideally it's a bridge from a novice to a fairly advanced job ready, a coder that can be used by anybody anywhere in the world for free at their
Starting point is 00:43:56 own, at their own pace. So like any strong bridge out there, you've got a lot of support, right? Free code camp is not just you it's not just quincy i'm sure you don't want it to be because that would be a lonely trek um help us understand because we really haven't talked about who else is involved you mentioned teachers you mentioned mentors you mentioned uh in real life opportunities you mentioned um pair programming uh curriculum i'm sure there's somebody creating curriculum so paint a picture for who's behind this
Starting point is 00:44:28 and I guess as a dovetail to that after that maybe if you can lead into some motivations how you're motivating what people are motivated by and how hard it might be to get them to buy into your dream Free Code Camp is our core team I think currently is 17
Starting point is 00:44:44 people I can tell you some of the people on our core team. I think currently 17 people. I can tell you some of the people on that core team. Please, yeah. Name some people. So Michael Johnson in Washington, D.C. is in charge of our nonprofit projects. And we've broken everything out in terms of like coordinating our volunteer uh agile project managers who are working toward getting experience for their certifications and he also goes out and identifies and vets all of these non-profits that want
Starting point is 00:45:21 different projects built and then he actually oversees the entire process of pairing up two campers who've completed our, you know, three outstanding certifications, which is 1200 hours worth of work. And then like pairing them up and getting them on a team with the agile project manager and the, in the nonprofit stakeholder to actually build the project. And we've repeated this process almost 20 times now, done more than half a million dollars worth of pro bono coding for nonprofits.
Starting point is 00:45:49 So he owns that. Berkeley Martinez owns our open source code base. And he is responsible for making sure that we have, you know, a CI that runs and that we're using a style guide that's enforced by ESLint. We're using Airbnb's JavaScript style guide. And that generally stuff is not introduced that makes FreeCodeCamp buggier or less secure. So he's kind of like the fun police in many ways on the Free Code Camp repo. Rex is over in Sacramento area, and he's an electrical engineer who is also quite good at coding,
Starting point is 00:46:35 and he's in charge of our JavaScript curriculum. Brianna Swift is a K-12 music teacher who's also quite good at coding and very good at teaching. And she's in charge of our video curriculum. So she stands in front of the whiteboard and records these two-minute videos that talk about everything from computer security to big O notation and all these other concepts that are more theoretical rather than practical. So she basically has ownership of the theory curriculum, and Rex has ownership of the practical curriculum in terms of coding challenges. Then we have Justin Richardson, who's in Toronto, who's in charge of our campsites. And as I said, we have nearly 1,000 of these campsites, each of which has its own
Starting point is 00:47:26 Facebook group. And basically, we coordinate these Coffee and Code events and other events like people go to hackathons together and things like that through these Facebook groups. We have Nathan Lennis, who has built a lot of our ancillary tools. He's in Washington. He's in the Army Bomb Squad. He literally takes apart bombs all day. That's his day job.
Starting point is 00:47:53 And then afterward, he comes and pulls another shift doing node development for Free Code Camp. Shipping bombs. And then we've got a whole lot of other people. I mean, I could go on. We have just a whole lot of issue moderators. We have moderators in our chat room. When you have thousands and thousands of people in your chat system, you do need to keep out the occasional teenager who decided to come in and harass people. So we're very vigilant about that.
Starting point is 00:48:26 There are so many people involved. I feel embarrassed that I can't name them all right off the top of my head, but I am extremely grateful for all of these people. And they are doing 95, 99% of the work that is done on Free Code Camp. And my percentage, my overall percentage 95, 99% of the work that is done on Free Code Camp. And my percentage, my overall percentage of things that I do keeps decreasing because there are just so many more contributors coming in.
Starting point is 00:48:52 We have almost 300 contributors on our open source repo. And then we have just a ton of people that are going out and evangelizing our campsites in various cities and getting people to come in and sit down and learn to code with them. Wow, that's a big, yeah, you got a lot going on there, Quincy. I think we do want to touch on like how you motivate all these people. A lot of people in open source, you know, they want their project to get traction. You know, they have a great idea.
Starting point is 00:49:23 They have some valuable software that they've written. And maybe people aren't paying attention to it. Maybe they haven't been able to motivate others to help them with a PR or a bug request. And I think that's an insight that people like to have is when we see somebody who's been successful
Starting point is 00:49:39 in two things. You've brought a lot of users, okay? I think some of that can be explained by your hardcore curriculum and the free aspect of it. You've also brought a lot of contributors as you just listed off a bunch of them and can't even remember them all.
Starting point is 00:49:54 So we're going to take a break, but we really want to hear from both sides how you motivate people to become a part of the community on the help out side, especially with the freeness of everything. And then on the other side, some success stories of users that have used FreeCodeCamp. And I'm sure these are some of the motivation, as you see, kind of transforming people's
Starting point is 00:50:12 lives. So we'll take a break, give you a second to think about a few of those things, and we'll be right back. I'm here with Thomas Watson of Opbeat. And as listeners of this show, you know that we love to turn things on their heads and that's no different than sponsorships. And one thing we're doing is we're going deeper into the organizations we work with.
Starting point is 00:50:32 Opbeat is doing some really interesting things around application performance monitoring, specifically around Node.js. And Thomas has an interesting story on how he got started with Opbeat and also starting off their Node support. So Thomas, say hello. Hey, hello everybody. Thomas, you got an interesting story here with how you came to be
Starting point is 00:50:52 at Opbeat. It seems like the Node support has kind of been thanks to you. So what's the backstory on that? Yeah, so I've been doing Node.js for almost five years and i i found upbeat and they were doing uh they were doing application performance monitoring and i wanted to have that for my stuff that i was doing and they didn't have node support so i uh basically approached them and said hey can i do an unofficial node.js implementation and uh they were like yeah sure we would love that and i did that um and then slowly uh we we started started to work more and more together and all of a sudden I find myself being employed now at Upbeat, being the Node.js lead,
Starting point is 00:51:33 and I'm now responsible for this agent that I started back in the days as an open source project. I'm now responsible for that at Upbeat and that's the one you install uh on your production servers to monitor the health and performance of your application and so that's that module's upbeat node and so things began with that open source repo is that how things began for you with this yeah i i started it under my uh my own github account and just did it for for myself and my own projects and then people started using it and the Upbeat guys were really happy with it.
Starting point is 00:52:07 And then when we decided to join forces, we moved it to the Upbeat org on GitHub. So now it resides on github.com slash Upbeat slash Upbeat node. That's really interesting to see, because we'll get into this here in a second, but you have this passion for open source, but how your own personal drive and desire for something on a particular language platform like Node and then a service like Opi to get that application performance monitoring into your own apps. You were like, hey, you don't have it, but I can write this.
Starting point is 00:52:41 And now you actually work there and you're building it out. Yeah, that's the beauty of open source. It connects you with a lot of people and you can basically do what you want for yourself. And then if people like it, you see where it takes you. In this case, it took me to this really awesome place. I'm doing this really awesome stuff with Node that's really down in the machine room, so to speak, which is really, really interesting to do. And right now we actually
Starting point is 00:53:05 uh we're just going out of beta soon you can go to upbeat.com slash node.js and sign up for the beta uh if you want to want to try out the stuff so the upbeat node module can you talk a bit about what it does so basically it sits on your on your server uh inside your your node.js app you require it at the top of your main program, and it just monitors the overall health of your application on a request basis, so incoming HTTP requests to your Node server. It figures out what's slow, what's performing badly,
Starting point is 00:53:38 what should you take a look at to optimize. Maybe it's a database thing, maybe it's a Reddish cache or something else. And it also manages errors happening in production. So we will break down the error, figure out who made that code, when was it committed to Git, when was it pushed to production. So we can also assign errors as well to the developers who actually is responsible for the code that is breaking. So obviously your passion for open source and your passion for giving back, you know, got you to doing some of this stuff with Opbeat and what we just described there with your
Starting point is 00:54:13 Node support and whatnot. Can you talk a bit about your work at Node School, the open source you've written, just some of your passions around open source and kind of how you think about open source? Yeah, I really love open source and I've been a big open source software kind of how you think about open source yeah i really love open source and i've been a big open source software user for over 20 years um so when i joined the node.js community five years ago and finding such a big open source spirit um in the community it was really exciting so i've now gone from an open source user to an open source developer i love to to teach that's one of my passions and especially of
Starting point is 00:54:45 course I love to teach programming. So there's something called a Node School where I try to help out as much as I can to teach other people Node.js. And you get to do that not only you know on the web you know kind of remotely so to speak but you also get to do it face to face. Yeah it's you can go into nodeschool.io and you can take some courses online, but you can also join some of the regional chapters and you can meet up at a city. There'll be a Note School event where we will have tutors who can help you out with your note questions. And you can actually do some of these online courses. You can do them in person, in real life with people who know Note really well. And I try to do that as much as I can.
Starting point is 00:55:26 I've been organizing one here in Copenhagen where I'm from. Well, cool. If you want to follow up with Thomas, you can check him out at github.com slash Watson. That's his last name, W-A-T-S-O-N. And if you want to sign up for the Opbeat Node.js beta, you can do so at opbeat.com slash Node.js. And now back to the show. All right, we are back with Quincy Larson
Starting point is 00:55:49 talking about FreeCodeCamp and the community that he's built around it, community of contributors, of users. I think you named 17 core contributors and many, many more. And before the break, we were wondering how you went about building this community. How do you motivate people when there's no promise of money
Starting point is 00:56:12 to be so involved and give so much of their time to this awesome community? It's really challenging initially to get people to care about you. You know, I really felt like for the first month after I'd put together the Node.js prototype and thrown it online and like we immediately created a chat room, which I think in retrospect was very wise.
Starting point is 00:56:38 I didn't attempt to create all the resources myself. Initially, we were using a lot of Stanford classes, things like that as our challenges. And we've since moved to like almost all internal, um, content, but, uh, we, we got that live and I would just hang out in the chat room. And whenever somebody came in, I'd be like, Hey, how's it going? Blah, blah, blah, blah, blah. Probably scared more people away than I actually like retain that way. Bombard them. Yeah. But I, I mean,
Starting point is 00:57:06 I literally, this is my life. You know, I, I have a young daughter and I spend as much time as I can with her, but often like the time I'm spending with her is me like running around the city, pushing a stroller on the phone with,
Starting point is 00:57:18 with a contributor. Um, I answer all of our team email myself still. Um, I spent a good amount of time in the chat room looking at GitHub issues. I just try to lead by example by being as involved as possible and being completely down to earth and approachable.
Starting point is 00:57:37 If you send me a message on Gitter or on Twitter or on Quora or any of these other platforms I'm active on, I will get back to you. I can't promise it I'm active on, I will get back to you. I can't promise it'll be immediate, but I will get back to you. And I think it's worth the time to accept that additional, you know, communication overhead, so to speak, of trying to answer everybody's questions and make sure everybody feels their feedback is heard. Because a lot of times great feedback just comes out of nowhere and it's like, wow, why didn't we think of this before? So I would say that by trying to establish personal relationships at scale,
Starting point is 00:58:16 just by cordoning off 50 hours a week to talk to people, that has been instrumental in helping us build a team i mean i can tell you some of the people that have joined that just kind of wandered in and started talking to me and i was able to convince them to contribute uh you know rafael uh up in uh brooklyn he took over our wiki and he's done an amazing job. And I think it was just like a casual, you know, he messaged me with some question on Gitter and I was able to like wrangle him into like, hey, you should write a wiki entry on this.
Starting point is 00:58:53 And we have our own wiki, which we're moving from GitHub. We were using GitHub's wiki. We're moving it over to our own wiki using an awesome React-driven tool called Gatsby. If you haven't heard of it, it's great. Um, Wesley McCann, uh, is kind of this, uh, nomad out in, uh, on the East coast. And he, he's the kind of guy that hops on a bicycle and bikes from Tampa to Boulder. Um, and he, uh, he took over our Twitch live streaming.
Starting point is 00:59:29 And there's a guy named Evaristo who's from, I think, the Netherlands. And he was a data scientist and had this academic stats background and everything. He was really interested in our data. And he created the data science chat room on Gitter and has basically been leading a lot of other academics and statisticians who are interested in working with our data and learning more from, I guess, what amounts to a new paradigm in education. I don't think Free Code Camp is precedented in terms of this specific combination of permutations anyway. And then Vladimir Tamara, he's like a church director down in uh bogota colombia and uh he was very interested in translating free code camp into spanish and he did it so quickly uh he did it very quickly and we wrote the logic to like actually display the spanish we just just we just launched
Starting point is 01:00:23 that during our big live stream a couple of days ago on Twitch. But basically, he handled the Spanish translation so well and coordinated the volunteer effort so well that I was like, man, you should own our internationalization effort. So recognizing people that are doing great things and just giving them the reins and trusting
Starting point is 01:00:46 that they're going to do a good thing. Here's an interesting anecdote. There's a guy who Bill Gates has only met one time or two times ever. And Bill Gates trusts his entire $80 billion estate with this one finance guy because he just got a good impression. He didn't want to micromanage it. He didn't want to tell this guy how to do his job because he didn't have the domain expertise to do that with any level of reliability. So he's like, look, you're clearly doing a good job with this. Take it over.
Starting point is 01:01:18 And I think that approach has worked really well. I've delegated things. Ben McMahon, a high school student out in Dublin, Ireland. We just gave him this project called the challenge-o-matic, which was like kind of a gooey way to create challenges for free code games curriculum. So you didn't have to go in and just build them in JSON.
Starting point is 01:01:39 Like I was building them back in the old day. And, and he just took it and ran and built it. And like so much of our code base is the product of these people that just kind of wandered in and ended up being uh extremely productive it's kind of like they follow a power law like 90 of the people who come forward are going to put in a pull request and and be of some level of uh of utility which we greatly appreciate of course and then occasionally we get these proverbial whales who just come in and like are extreme dynamite dynamos of energy and just code non-stop all day all night that's what they
Starting point is 01:02:19 love doing i you know the guy i talked with or talked about earlier, Nathan, who's in the Army, New Year's Eve 2015, 2014, New Year's Eve. Like, we didn't even realize that New Year's had come and gone because we were so in-depth on our pair programming session. That's deep. Yeah, I mean, like, we were just in the zone. We were, like, bonded bonded uh at like the soul level wow that's the testament to pair programming too i mean to to have that kind of attention span and and be totally zoned in totally in flow yeah and pair programming is great and i can't say enough good things about it like that's the that's the main modality of me coding these days. Because simultaneously, it produces
Starting point is 01:03:08 better code, which is proven. They've done research, and it produces less buggy code than individuals coding for a commensurate amount of time. And at the same time, it's like bonding, and you get to understand a person. It's like the heat heat of battle you truly know a man's soul you know i mean that's that's how i feel about pair programming you know love it you don't really know somebody unless you pair program with them so uh it's a great way to like not only um understand them better and get meaningful work done and and at the same time i can uh you know teach them a little bit about my my particular world view in terms of like features and how to like keep free code camp as simple as possible
Starting point is 01:03:52 which we're constantly culling features that get in there just because they complicate the user experience i want to keep things simple so um we've got a lot of other people that are coming forward that look like they're going to be incredible contributors as well. Every day I'm getting messages from various professionals with lots of domain expertise that want to help out. So my key to sustaining this chain reaction, which I was lucky enough to kick off, is just listening to people and giving them agency. While we're on that note, since you're talking about pair programming, let's talk
Starting point is 01:04:28 about the stack behind this. What is it built in? How do you ship it? Who's involved? And you talked about during the process of pair programming, you get a chance to share your philosophies and keeping things simple. So it sounds like there's some core values that get shared through these interactions you have with the team.
Starting point is 01:04:46 What's it like? What's it build on? And share that with us. Sure. We started out with basically the mean stack. MongoDB, Express, Angular, and Node. And now we're using MongoDB still and Node still. We're using Loopback, which is also by Strongloop
Starting point is 01:05:09 that I think created and maintained Express. And we're also using, we've moved to React and we're moving from our own open source implementation of Flux called Thundercast.js, which Berkeley, who I said is in charge of our repo, he built this Flux tool called Thundercast.js,
Starting point is 01:05:35 but he's recently come around to the fact that Dan Ebermoth is a genius and has the, like you can't top Redux. So we're moving to Redux as well so uh berkeley's transitioning to that and uh so soon free code camp will be like a full uh you know single page react experience what about curriculum how do you author curriculum and how do you get that into the system so what we do is we just create these json files and we used to just do it manually like i would insert html into json and the seeded in that way it's really easy because instead of having it
Starting point is 01:06:12 in some database somewhere that it just gets blown up every time you reseed it um and uh that way like it's very easy to go in and add a translation to it or add a new feature to all the challenges so we just store it in all this json and uh in terms of curriculum development if you're curious about that too it's very incremental like we basically say like what we did in december was we said we want to have react d3 and sass covered sass we were switching from less to sass because bootstraps moving from less to sass and we we're from LESS to SAS because Bootstrap's moving from LESS to SAS. And we're going to continue using and teaching Bootstrap because we think it's awesome.
Starting point is 01:06:51 And if Bootstrap is using SAS, well, if it's good enough for Bootstrap, it's probably good enough for us. So we're moving over to SAS. And we wanted to teach all those. But what we wanted to do is we're very focused on evaluation criteria rather than process.
Starting point is 01:07:05 So we'd start with the evaluation criteria, and then we build the curriculum to work people up to it. So what we did first was our community put together 15 new challenges or 10 new challenges specifically for the data visualization component. And we lumped React and Sass in with data visualization because it was convenient, even though you could argue it's part of front-end development more so. But we created like five D3 challenges where you build visualizations of increasing complexity and five React Sass challenges
Starting point is 01:07:41 where you can use any tools you want, but you have to use React and Sass, including on up to creating a roguelike RPG game in browser that runs. And all of these projects ideally run right on CodePen. So you don't have to spend a lot of time bootstrapping a development environment. CodePen's been great. And we use Cloud nine for the backend challenges just because it's simpler than trying to say,
Starting point is 01:08:10 okay, now go download this VM. No. And so run all these commands to set up your Linux environment, you know? So are those companies involved by any chance that you'd mentioned Twitch earlier in that your live channel and people giving back and pouring in may not be monetarily,
Starting point is 01:08:24 but just free resources. Are they pitching in any way? No, we, earlier in your live channel and people giving back and pouring in may not be monetarily but just free resources are they pitching anyway no um we we looked into doing corporate sponsorships um it's something we may explore again in the future but it like we didn't want to uh we didn't need to frankly um we still have you know a couple years worth of runway, even on my savings. We're kind of slow rolling getting revenue, if you will. I think if we can get it
Starting point is 01:08:55 through our community, through merchandise like stickers, laptop stickers, t-shirts, potentially Raspberry Pis loaded up with our curriculum and things like that. Um, then we will, uh, absolutely do that first. And then we'll consider, you know, doing things that might compromise our perceived, uh, uh, neutrality. I mean, I don't think it's a big deal. I, every good podcast I listened to has corporate sponsors.
Starting point is 01:09:24 I don't think anything of it. But we just personally, we're like, well, we can cross that bridge. Part of it was a lot of people didn't understand. A lot of the organizations we approached to just kind of feel out for this didn't understand what Free Code Camp was. And they thought we were like a hackathon. And they were just used to bankrolling hackathons, for example. So they bend us in that and it as a result like they it's complicated but we're going to consider that maybe
Starting point is 01:09:53 down the road but if we can support ourselves purely through um through matching uh campers to complete our curriculum with employers who want to hire them which if you look at the recruitment business um and like hire.com and all these other companies, obviously there's money there. And if we're creating hundreds of thousands of skilled developers, I'm not concerned about us being able to sustain ourselves. Right.
Starting point is 01:10:17 I mean, I didn't want to bring up the sustainability thing again, just because I mean, I mentioned those opportunities just as like, are they giving back in some sort of way? But you talked about runway and things like that and not quite. Jared, I really hate this late in the game, but I really hate bringing it back up.
Starting point is 01:10:36 But since you mentioned I have to, you know, is there a burn rate? Do you have expenses? Like how do these things work for you? Like you said, you've got your own savings. And so you're essentially fitting the bill, so to speak, for everything going on with a plan to eventually somehow figure out because there are opportunities. But you're going to figure out later on once you hit some sort of place, some sort of milestone to say, OK, now it's time to think about how we can generate some revenue. T-shirts, obviously stickers stickers, back to the community, makes sense for a short-term but not a long-term gain.
Starting point is 01:11:10 Yeah, I mean, we've been thinking about these for a long time because obviously we want FreeCodeCamp to continue. And make no mistake, like worst-case scenario, we shut down FreeCodeCamp. The effort, it's open source. I mean, somebody could just relaunch it, and we certainly do everything we could. It's kind of like Parse is shutting down,
Starting point is 01:11:28 but they're open sourcing pretty much everything. So it's not really a loss. It's just an inconvenience. It's Facebook, so you expect that in a way. Yeah, I think it's good. But I don't think we're in any risk of doing that. Worst case scenario, we could open it up to donations. With hundreds of thousands of people using Free Code Camp right now,
Starting point is 01:11:49 and we're hoping to hit a million by 2017, I think that we could generate enough to cover the server costs, which are not that significant. The main cost associated with Free code camp is my opportunity cost if you're familiar with the the economic concept of opportunity cost as a software engineer i could go out and get a pretty good job so that's income that i'm foregoing working on free code camp but
Starting point is 01:12:17 you know i don't really care about money that much i'm like i said i'm happy to just eat microwave burritos and sit in my closet and code all day, which costs almost nothing. Like my daily expenses would be like 20 bucks. And then, you know, my wife has a good job and she has benefits. I'm very fortunate for that, you know, because if we need to go see a doctor or take our baby to the doctor, we can do that. No problem. So there's two reasons why we asked that question. Uh, and I, the only reason I'm going to clarify this is because I don't want anyone to think we have, or I have the wrong idea with trying to drive that question home. It's like, we think like the change log, this show is listened to by all sorts of kind of people,
Starting point is 01:12:59 right? People come to this show and maybe this one in particular, because of who you are and what you're doing, because they aspire to be like you or they have the same dreams as you do. And it's not to say, you know, like negatively, how are you getting there? But more like how are you getting there? Because somebody else might be wanting to ask that same question and follow the same path and jump on the same ship you're already on. And so I just want to clarify that. So it's not mistaken anyway. I know it's probably not and i'm over clarifying it but i had to say it so yeah i mean if i could give if anybody's interested in
Starting point is 01:13:32 my advice right like i really want you to help these people listening know what you're doing and how you're doing this they can get involved the advice is burritos burritos like keep costs low uh save money uh i mean if you're going out and buying brand new cars off the lot like there's a good chance that you're not able to afford to uh to finance an operation like this and you're going to be at the behead you know you're going to be beholden to these bankers and other people that are you know maybe not the most savory types frankly uh and don't share your Their interests are not aligned with you. They want to pump you full of steroids
Starting point is 01:14:07 and run you up to a liquidation, a liquidity event, which DHH, the guy who created Rails, wrote an awesome article on Medium about how you should figure out a way to sustain your organization without financing. So if you can save up money, that's one easy way.
Starting point is 01:14:25 You can just self-fund. But even if you do self-fund, how do you get traction? Well, if you look at how Pinterest took off, the guy wrote handwritten letters to every single person who signed up for Pinterest and mailed them to him physically. Can you imagine opening up your mailbox and you've got a letter from the founder
Starting point is 01:14:46 of the service you just signed up for? It takes grit. It's not something you should take trivial. It's extremely difficult to get past that initial indifference towards your project. And no amount of money is going to get you past that. You can't Google ads your way out of people just not giving a damn about your project.
Starting point is 01:15:07 Well, let's let's take that opportunity to turn into a break real quick. When we come back, some closing questions we have are obviously some of the traditional closing questions we have, which is open source radar. Who's your hero? But specifically, since we're on this topic, we want to talk about your needs. If there's somebody out there that wants to get involved, wants to help out, whether it's teaching, helping with curriculum, whether it's mentoring,
Starting point is 01:15:35 whatever it might be, let's talk about some of your needs. And then we haven't quite touched on getting started. And I feel like maybe there's tons of people out there that already started, but nonetheless, let's voice out at least what it takes to get started with Free Code Camp and what that process is like. So let's touch on that when we come back from this break. We're excited to be working with BMC
Starting point is 01:15:55 to spread the word about TruSight Pulse, their SaaS-based monitoring service for cloud and server infrastructure that lets you monitor, visualize, and alert with one-second resolution. I had a chance to talk to Mike Moran, the senior architect, about what real-time monitoring is. Take a listen. Real-time obviously means different things to different people. To us, real-time is one second.
Starting point is 01:16:19 So for us, we have one- second metrics on everything that we collect. We'll pull all of that, push it to our servers, and you can see it roughly in about four to eight seconds, depending on where that falls in the interval. So we'll pull one second data and within eight seconds, you can see it streaming live on your dashboard. So during this conversation with Mike, I was trying to figure out what real time monitoring means to them. And I was also trying to figure out who might use it and why they would care about one second resolution timing when it comes to monitoring their infrastructure. And this is how Mike broke it down for me. I think at the beginning, you kind of looked at it and went, that's a very niche set of the market. But I think as things have changed, you know, you can look at e-commerce companies or you can look at anybody who's running an application. We now have stacks that are very
Starting point is 01:17:04 nimble and we end up with things like restarts that are quick or our stats change very, very quickly now. So our spikes maybe aren't something that, you know, it's not Black Friday and you end up with this gradual spike or this immediate spike that lasts for a long time. You now have a lot of things happening because you have so many interconnected systems and you have microservices and dependencies everywhere. Something happening in one obviously affects other things. But if it's something small or happens very quickly, you don't notice that. And at this point with Mike, I was like, well, what's a better example? Give me a real world example that everyone knows about that can really
Starting point is 01:17:40 explain how important it is to have one second near real-time monitoring on infrastructure level stuff stuff that really matters the heartbeat so to speak of an infrastructure and this is what he had to say it's pretty interesting if you're looking at your ekg and you're looking at your heartbeat how many doctors would ever look at your heartbeat at a minute interval or a 15 second interval you'd be crazy because you'd miss whatever was happening with your heart. And that's something that you wouldn't want to screw with. Wow. What a great real world example of what that exactly means. I don't know about you, but I don't want to mess with my heart. My heart keeps me going. Your heart keeps you going. And if you value the heart of your business, the heart of your infrastructure, you're going to care about one second resolution timing. You're going to
Starting point is 01:18:22 care about real time monitoring and BMC's TrueSight Pulse truly is something you should take a look at. Head to bmc.com slash TrueSight Pulse. All one word, no hyphens, and tell them the change long sent you. All right, we're back from our final break of the show. And Quincy, obviously we've loved diving deep into this conversation with you. We've talked about where you personally came from. We've talked about your goals and motivations.
Starting point is 01:18:53 A lot of give back to those who are involved, those who are actually making it through. And I think there's a lot of people out there right now who are thinking, I want to get involved, whether it's becoming a camper and getting taught or mentored or, you know, taking part of, you know, pair programming and all these different things you've mentioned on the show here today. But there's a lot of people out there who want to get involved somehow. So what are your needs? How can people help out?
Starting point is 01:19:21 How can they get involved? And not only how, but if they want to do it specifically, where can they go to take the next step? One thing we're really big on is internationalization. A lot of people are not native English speakers and would benefit tremendously from not having to simultaneously learn English and coding. So we are basically all of our video challenges where Brianna stands in front of the whiteboard and draws diagrams and explains theoretical concepts.
Starting point is 01:19:54 We would love to have those re-recorded by native Portuguese speakers, native Chinese speakers, various world languages. We would also like to have our entire wiki translated into all these different languages speakers in the various world languages. We would also like to have our entire wiki translated into all these different languages because our wiki is like, we're trying to build a kind of a very easy to read and friendly version of maybe Mozilla's developer network or, or some of these other resources that are maybe a little bit more esoteric and
Starting point is 01:20:22 not quite as beginner friendly. We want to make it really, really beginner friendly and issue as much jargon as possible. So that is one area where we could definitely use help. So both the translation and the creation of those challenges, of those videos and of those wiki articles, is one place where you could, if you're listening and you want to get some open source contributions,
Starting point is 01:20:45 like Matt Melwig from WordPress was saying, like everybody who goes to a bootcamp or some sort of intensive program should try to get as many open source contributions under his or her belt as possible. Well, we absolutely will take any contribution seriously and look at them and we would love your contributions
Starting point is 01:21:04 and you can contribute all those and all that stuff will go through GitHub, so you'll get GitHub credit for it. GitHub credit. Love that idea. PRs as credit. What about on the teaching side and curriculum mentoring? You know, you mentioned, I think, just through conversation that some of the people that have stepped up and gotten involved have done so through their, you know, smaller contributions and you've sort of noted that they're really good at it. And so you handed them more responsibility based on doing really good with small responsibilities. But what about those teachers out there who are like, you know what, I just want to give back.
Starting point is 01:21:36 I got like five hours a week. Are there opportunities for teachers, mentors? You know, how can they step in? Is that an opportunity for them? Well, there is one immediate way that anyone can give back which is to just jump into our chat rooms and we have help rooms on a variety of topics uh data visualization back-end development things like that and if you were interested in jumping into one of those you you could help answer questions from our community because people will frequently get blocked or they'll stumble and they'll just click the help button and go in and explain their problem. And often just explaining it to somebody and having
Starting point is 01:22:15 somebody listen, even if you don't know the answer, you've helped them just by having them articulate their problem. And of course, if you have time, if you're a teacher and you actually have a good presence and are good in front of the whiteboard you could you could uh help write some scripts and record some scripts of that we could include in our theory curriculum the another way you can help out is if you become part of the campsite nearest your city, which there's a good chance that there's one within, you know, a 30 minute drive or bus ride of where you live. If you want to take a, you know, a Thursday evening and go over to one of the Coffee and Code events and offer to help people out and just be there and be an example. If you're already an experienced
Starting point is 01:23:03 software engineer, that would be wonderful. If you're already an experienced software engineer, that would be wonderful. If you're an experienced teacher and you just want to kind of help people understand by applying general teaching methods, help them understand concepts that they're struggling with, that would be wonderful. And I guarantee you, you'll meet a lot of interesting people and they'll be extremely grateful. Fantastic. Well, obviously, as you know, listeners, we have some awesome show notes. This is episode 195. You can find those notes at changelog.com slash 195.
Starting point is 01:23:40 Or if you're listening on a podcast app, just go ahead and find the show notes or link back to freecodecamp.com, which is the website. And I'm sure that there's lots of links and lots of navigation to the right kind of places that Quincy just mentioned. So follow links as needed to find your way to get her in other places you can chat with people. But Quincy, this is where we turn it back on you and figure out who you might, I don't want to say idolize, but someone you look up to, someone that's inspired you, impressed you, motivated you, who is someone you consider a programming hero? Well, there's a gentleman, I think in France, who runs a community called lichess.org. That's L as in Lima, I as in india chess like the the gang.org and his name is tibalt duplices if i'm pronouncing that correctly it's a french name and um over the past couple years
Starting point is 01:24:36 his open source project is basically he's building this incredible chess platform where literally tens of thousands of people are playing chess every day. And the thing that's amazing about it is it's totally open source and he's managed to build it. He's built all this infrastructure, I think, using Scala. And he is able to do all of this for like $400 a month, which is covered completely through donations from the community. And he doesn't even do it full time. I think he has a day job. And he is already, like LHS.org is already the second most popular place to play chess on the internet and it's closing in on chess.com which is you know the big corporate you know chess company that has banner ads everywhere and wants to charge you a
Starting point is 01:25:32 ton of money in a recurring membership and everything and uh you know tibalt's li chess is free forever he never wants to charge anybody he just wanted to build an incredible platform because he's passionate about chess you can watch him stream on twitch and everything i mean i think he's so down to earth and he so symbolizes everything that i personally as a as a developer and an open source project maintainer want to uh want to go for it seems like this simplicity of, I mean, obviously, chess.com was the bigger version of LHS. I mean, whenever you go to a website and you just plaster with ads and you totally make it only about making money and you don't make it about enriching the community that you're trying to serve. I mean, I just don't understand how anybody, even a company, how silly you must be to think that's a good model. You got to love people, right?
Starting point is 01:26:29 Jerry, we said it when we went on, well, I said it when we went on Giant Robots Smashing Into Other Giant Robots. And I don't remember saying it on the show, but you reminded me afterwards. I said, you know, Ben Orniston said, you know, what are you trying to do, Adam? Or what are you guys trying to do? I forget the exact question. I'm like, you got to get in the trenches. You got to, you know, you got to love, buddy your knuckles and hug some people. Like, that's what you got to do to earn the love and respect of the people you're trying to actually serve.
Starting point is 01:26:58 Is not treat them like, you know, piggy banks or something like that. I don't know. Treat them with respect. Actually do something right and give back. I feel like that i don't know and treat them with respect actually do something right and give back i feel like that's what you're doing quincy and i feel like that's what you kind of embodied in your your respect for lhs and what he's doing at lhs.org correct me if i'm wrong that's correct lhs.org i didn't mean the url i meant my my uh pontification yeah oh i i you know that's certainly what i aspire to yeah sorry i had to rant there for a I meant my pontification. Yeah.
Starting point is 01:27:27 That's certainly what I aspire to. Sorry, I had to rant there for a second. You kind of inspired me. Why don't I go sometime? I didn't mean to do that. Anyways, we are definitely rambling. We're definitely getting close. We got two minutes left.
Starting point is 01:27:40 Oh my, come on, come on. I'm just kidding. I'm just kidding. I'll give you a shorter answer to the next question or two. We're going to punt on open source radar. We might do that in the after dark and put that on SoundCloud or something like that. We're going to punt on that because we definitely are short on time.
Starting point is 01:27:55 I don't know. Is there anything else you want to add to this call before we tail off? Honestly, I'm a huge fan of the changelog. I wrote about it on medium a few weeks ago what? how did I know? I included you all in my list of like five podcasts that every
Starting point is 01:28:13 beginning programmer should listen to and you know you all do so much for open source and it's been a great resource for me to learn from other open source project maintainers and and i think you're a great vector for uh knowledge within the field wow wow that's thank you so much didn't expect that that's really appreciated almost makes me cry i'm not even
Starting point is 01:28:39 kidding you tell us more i'm just kidding well you know on that note we we just uh i think i said it kind of best not not not intending to but we try to get in the trenches we try to buddy our uncles you know you know do what needs done to get the work done and we try to hug some people we love open source we love the people of open source doesn't matter what gender you are what background you are we care about everybody and we want jared and i our mission is much like your mission we want to enrich the lives of developers that's our mission like that's why we do this podcast that's why we have people like you on it's why we challenge you in some ways you know in respectful ways to move the ball forward you know and and i think that more people should do that
Starting point is 01:29:25 but uh we are at the point where we have to tell off the call so we have some upcoming awesome shows in the schedule up next this is the third time i'm saying this tiddly wiki it's the funniest name to say for a wiki i love it jared i can't wait to have jeremy on but jeremy rustin is coming on to talk about this awesome wiki called TiddlyWiki. Wikis, man. The quintessential web is wikis, right? What Quincy said earlier, like Wikipedia,
Starting point is 01:29:55 build your own wikis. Lots to talk about there for sure. And we have two big, and I mean B-I-G, capital B-I-G, upcoming shows, the future of WordPress and Clip so we're looking forward to that one with Matt Mullenweg so that's coming up
Starting point is 01:30:10 soon don't know exactly we got the date pinned down but don't know what show number it's going to be and we also have potentially for show number 200 for us 20 years of Ruby with Matt Matt himself so we're excited about that show
Starting point is 01:30:26 if you haven't yet this is your first time listening to the changelog go to changelog.com and find the subscribe button, it's really hard to find but subscribe to the podcast, we're on iTunes open up a podcast app, subscribe there follow the emails we send out, changelog.com slash weekly
Starting point is 01:30:42 changelog.com slash nightly. Those are two awesome emails. And follow us on Twitter. And, yeah, that's the best way to kind of tail up one of the shows. We're excited about those shows. And, Betsy, we're thankful so much for all of your effort towards Free Code Camp. We highly encourage the fight you're fighting. And whatever we can do to support you in the future, we want to do that for you.
Starting point is 01:31:07 And to the listeners out there, we thank you for listening and to the members who support us as well. We love you and we thank you for supporting us, but that's it for this show. So let's say goodbye. Bye, everyone. Bye. Thanks, Quincy. We'll see you next time. you

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.