Preparing Learners for the Blank Canvas with Quincy Larson
Quincy Larson, founder of freeCodeCamp, was in his 30's after he quit his job as a school director. After learning how to automate some of the tedious tasks that staff had to deal with, he realized how many people's lives could be improved if they learned how to solve problems with technology.
He spent the next nine months learning to code before landing his first software engineering position. He gained a ton of practical experience on the job and started to think about how to create a path to get people to this point as quickly as possible.
freeCodeCamp was the result.
freeCodeCamp, using game design as its guiding instructional design philosophy, has learners coding with rapid feedback and frequent challenges or "mini bosses". The idea being that a learner can't iterate and improve to their max potential unless the feedback that corrects and guides them is immediate. The idea of the mini boss is to strengthen a learner's problem solving and stop them from getting too overconfident in their abilities.
Coding is hard.
And don't let anyone tell you different. Unless the learner understands just how frustrating and ambiguous programming is, they're going to hit a wall once they are confronted with a blank canvas. Now what?
Iteration is critical to the platform as well. Since freeCodeCamp is well, free, they are able to make changes freely without having to worry about wasting anyone's money. This gives them the freedom to get feedback, iterate and build something truly nice
Quincy goes over all of the above and more in this episode of the Badass Courses podcast. Tune in to learn more about the business model, course design, and history of freeCodeCamp.
Links
Badass: Making Users AwesomeTwitter - Quincy LarsonfreeCodeCampLets work together on your strategy to design, produce, and sell your course online.
You're an expert with an idea for a course you'd like to sell, but don't know where to start.
You've got a full internet of options for designing and selling your course.
Narrow down your options and get on the right path to successfully selling your course.
Get direct expert feedback on your course idea by entering your email below.
There's no obligation. This isn't a sales pitch. We respect your privacy. Unsubscribe at any time.
Transcript
[00:00:00] Joel: So I want to talk to you about building free code camp and an education platform for developers. I was wondering first though, like, what's your approach when you sit down to learn something new, I know you're researching math and data science currently. And how do you given the full scope of the internet, what is your kind of approach to learning a new difficult topic?
[00:00:19] Quincy: during the pandemic, I learned a lot about music and music theory and composition and things like that. And so maybe I can walk you through how I went about doing
[00:00:29] Joel: Yeah, I'd love to hear
[00:00:31] Quincy: so fir
How Quincy learns things
[00:00:31] Quincy: st I just kinda like go to like Wikipedia, like music composition or something like that. Like some really extremely high level, broad, you know, queries.
And then I start to figure out, okay. Like I think like one of the things I like to do is trying to find somebody who actually has gone through this process before, which can often find like blog posts or you know, Blogs like day, 300 of me trying to learn this thing. And that can be really useful because often like you just go to their YouTube channel and you sort by like the most viewed video, and then you find that, and then it's usually somebody like, like everything I've learned from this process, and then you can skip a lot of the other stuff.
And you can, so the idea is you get a big picture, kind of 35,000 foot view of the thing you're trying to. In my case, it was just, you know, like how to play drums, how to play bass, how to compose, like melodies and stuff like that. And then you just zoom in on the individual things.
And as you're learning, one thing, you'll say, oh, this is related to this. And you know, it would be great if there was a cohesive, linear Curriculum for everything where you could just drop in and start at the beginning. And it was time tested and tons of people had been through it and there was a community ready to help you through there.
And I think in learning music, there are such things, but it's a little more scattered there. Wasn't like a kind of multi-disciplinary place where you could learn composition and music theory and actual playing technique and stuff like that. But yeah I just try to like, go from like big picture and figuring out how things are connected before you get mired in the minutia.
Like, like I often, when I learned to program, I made a ton of mistakes. One of the biggest mistakes I made was like not choosing a stack and sticking with it. Like the grass was always greener on the other side. So I jumped to some new tool or, and then you're basically. You can absolutely spend a thousand hours learning a hundred hours worth of stuff 10 times
Yeah.
if you're not careful.
So I would definitely try to back out and then I would make conscientious decisions to constrain your learning. And I would actually make sure you get all the way through them and don't let yourself throw caution to the wind and like start over.
[00:02:43] Joel: me, I always, I called it when I was learning to code. Particularly, and this, like, it was before stack overflow when I was trying to do it and it was books and I would always call it the chapter for a problem. I would get to like chapter four in a C plus book and stop and then move on to some other language and get to chapter four.
You know, I knew what strings and arrays and variables were pretty well, but like when it started getting into, you know, now do this at the exercise portion of chapter four, I'd be like, ah, this is not for me. I needed to move on and try something different. And I think that's true for a lot of things because your brain just gets.
So overwhelmed with new vocabulary and new, you know, just so much. One of my favorite books is bad-ass by Kathy Sierra and she talks about. This idea that you're learning at a higher resolution as you gain expertise. So you started that 35,000 foot view. And what you're actually doing is like increasing your resolution as you spiral in on a topic where it's like, here's the whole thing.
And then you're going to get down to, you know, like, like a very fine grain look and you start getting into the details of it. And I still, I love that way of thinking. The spiral approach to learning is there's really fascinating.
[00:03:49] Quincy: Awesome. Yeah, I'll check out that book. I was able to pull it up on Google books and just
[00:03:54] Joel: It's one of my favorites. We've at egghead, we sent every instructor that, that comes on board and makes the course gets, we send them equipment. And that's part of the gearbox that we send is a copy of that book. So I've sent out hundreds of copies of it. I love it. And it's one of my favorite like instructional design texts that's ever been.
[00:04:13] Quincy: Awesome.
Creating free code camp
[00:04:14] Joel: So you're sitting down and free code camp doesn't exist. What made you decide to build a platform for folks to learn how to code.
[00:04:24] Quincy: Yeah. So I was working as a school director and then I'll spare you like the long backstory of what basically. I just needed to figure out how to make it so my teachers could spend more time. With students and less time on their computers, filling out, you know, greater reports and compliance documents and stuff like that.
So I just needed to learn some basic automation stuff and keep in mind I was a 30 year. Dude in a suit, like in an office, trying to get things done on it, like an old crappy windows box from Dell, you know, like, like the kind that, like every corporation just will took a thousand that was like that. And I didn't know very much.
Technology at all. I just merely consume technology. I didn't produce technology and I didn't think I was smart enough to produce technology, but I went down, I just started Googling stuff and gradually my confidence built and I was like, oh, I can do this. I can do this. And that's when I realized like, oh, wow, like, I needed to solve these very specific problems.
And I am, you know, solving them, learning these tools and they're getting done. And like, everybody's happy at the school and things are getting done. Like how many people are there around the world that could probably benefit from learning how to solve these problems using technology. Like this was right around the time that like AWS was really becoming like widely known.
Like, Hey, I can just spin up a server in the cloud and it can just do this service and I can pay 20 or 50 bucks a month to keep it running. And, you know, I can go about my way with this tool that I can hit, or maybe people will pay to access it. And and at the same time, this was like, like the API economy was growing.
This was around 2011, I think. And I was just like, wow, like, If I could just teach people how to use this, we could dramatically increase people's free time. We could dramatically increase people's confidence with technology. So very early on in the process, I decided like I left my job and just studied full time for about nine months.
And then I got a job as a software engineer. And that's when I really started learning when I was on the job. So I was like, we should just create a path that gets people to their first job as quickly as possible. And that was the Genesis of Frigo camp and the intention of Rigo human. And I'd argue that.
Delivered on that vision, to some extent in the tens of thousands of people have gone through and have been able to get there, first of all, for jobs and are now learning on the job, really doing the hard learning. When you know, they've got a boss and they've got colleagues and they've got accountability on that.
[00:06:59] Joel: What's the like, Are tens of thousands of people. It's more than that.
I would probably say hundreds of thousands of people have come through pre-code camp and, you know, like you'll get various levels of success, but what what kind of patterns have you noticed that learners are coming to free code camp and what difference are they trying to make in their lives?
That brings them to free code camp in the first place.
Why are people going to freecodecamp?
[00:07:21] Quincy: Yeah, most people just want to provide for their families. The median user is like maybe 30 years old. Maybe they've been working in accounting. Maybe they've been driving a bus or we have a lot of people in the community who. Like in retail, like they went to college for a while something happened, they got sick, their family member got sick, any number of things, they weren't able to finish that degree.
They've just been servicing their students. And trying to get through or get like the, there's always been the expectation that this is not where their life ends, that they're going to do something else. What is that thing they're not clear, you know? And then when you tell they, they hear like, Hey, you can get a pretty good job and you can have a high quality of life.
You can have pretty interesting creative work. If you can learn how to program and, you know, start writing or maintaining software. So that I think is the. That's like a typical person that would come to Frigo campus. Somebody who has not necessarily made up their mind that they want to be a developer where like, let's get this shot.
[00:08:25] Joel: Yeah. One of my, like I the, one of the main reasons I send people to free code camp. Cause I, I love it as a service is like, you want to make a change. But how are you going to even figure out if you like this thing or something that you're interested in doing? Because it's not for everybody.
I don't think programming computers is for everybody, but if you want to like know and understand that free code camp is such a great place to start and just see and get your dip into it. And then you expand into the community and there's all sorts of good avenues. And I'd be wondering like specifically, how has free code camp.
Helping people achieve that difference, you know, like w what is the platform itself doing to facilitate
How does fcc make a difference?
[00:09:05] Quincy: Yeah. So we have the, you know, the core curriculum, which is what we steer people toward. If they're new to software development and just looking for a same place to start, you know, it's an ocean and, you know, you can try to drink that. Or you can select pockets of water to drink, you know, like you don't have to drink the whole thing.
Like nobody, like if you do a job search, like on indeed.com or LinkedIn or wherever, you're going to see like all these technologies that people think you're supposed to know and stuff. And. You probably only need to know like a few key things. Like I tell people, they probably just need to know JavaScript and Python, SQL and Linux and get, and you know, maybe some engineering, math you know, data structures, algorithms, things like that.
And somebody, she won't CSS. And if they know those things, they can probably do like 70% of the developments out there or in, or at the very least they'll have the conceptual framework upon which the. Just if you don't want a high level scripting language, you can probably go learn the other ones.
If you know, high level scripting language, you can probably go down a few layers of abstraction and learn something like Java or C plus or rust.
[00:10:14] Joel: So one of the things that I'm wondering, it's related to that. How do you make curriculum decisions when you're deciding what to teach? What. What's the process for deciding what's next or what you're actually going to demonstrate and educate people on.
Curriculum design
[00:10:28] Quincy: Yeah, a lot of the decision-making is around what are people hiring for? Because it, again, like the people who use Frigo camp a lot of them may have time. They're not necessarily like, like they probably have a job at Starbucks or they have a job at like door dash or something and they.
Th they're able to carve out some time and just learn a little bit by little over the course of nine months or 16 months or something like that. And so what we try to do is make things really granular and make sure we're only teaching things that really need to be taught, but at the same time that we aren't skipping over things.
The best place in my opinion to start is just teaching people, HTML and CSS, because there's a tight feedback loop. Like you changed something in HTML. And like the Dom immediately gets updated in the little preview window and you're like, oh, okay. I get my brain is making the connection that this causes this.
If you try to teach people, for example, Java or something where they have to like type in the code and then they had to compile the code and then run the code. And then there's like some sort of output and they have to figure out okay, like they had to put it in like, you know, debug statements and stuff like that, to be able to figure out what's actually going on with the code.
If you start people with HTML CSS, some people would say, it's easy. I take issue with the idea that CSS is easy. pretty, it can be pretty challenging and it can get as difficult
[00:11:53] Joel: got a lot of depth. That's how I like to describe it.
[00:11:56] Quincy: Absolutely. Like chess is easy. It's only eight pieces. How many moves are there? Like, yeah, but it takes, you know, an afternoon balloon chest, it takes a lifetime to master it.
And I would argue the same thing with CSS. Maybe it takes a little more than an afternoon of the learners, basic CSS, but that's a good place to start. And then, you know, JavaScript similarly. Run in the browser. JavaScript is probably like, you know, outwards law, anything that can be right written in JavaScript will eventually be written in JavaScript.
I believe that. Largely true. And yes, there are some things that like, you know, Julia or rust or some other programming language would be much better at, but JavaScript is like the good enough at pretty much any use case tool. So that's the one we start with. There are a lot of things we'd like to teach that are hard to teach interactively and hard to teach in a browser.
So we it's taken us a long time to design the curriculum. For example, it was really hard to figure out how we were gonna do. Lennox commands and bash and shell scripting and stuff like that. When, how do you do that in the browser? Like you, you would have this really slow thing. Like you might be able to find something that interprets these commands, or you might be able to fake it where, oh, type this command.
Oh, look, it worked. Here's your file system update Volvo early. Just like, you know, thinking it
Yeah. So we wanted to actually have a proper environment, which is why ultimately it took several years of development, but now we have our relational database course. You need to do it in a Docker instance and you do it inside of BS code and you do it step-by-step but you actually have an entire Lennox environment.
You actually have, you know, a file system and a command line and all that stuff.
[00:13:34] Joel: Yeah. And it's amazing because the environment's important, I think for learning. And then how do you immerse people in and give them that authenticity is really what it's about, right? If it's all simulated and all fake, when they actually hit the, you know, real environment, then a lot of times it might be tough to translate to,
Dealing with the blank canvas effect
[00:13:51] Quincy: Yeah. Another note on that people will experience like blank canvas effect when they get out of a linear kind of progression of tutorials or instructions. And suddenly they just have a big list of tests that they have to get to. We intentionally confront them with that experiences early and as gently as we can, because we don't want people to get humorous things like, oh, I'm the king of the world.
Like, you know, banging out, like, like a lot of people, the old curriculum, the way it was designed, like they wouldn't necessarily get to those projects until they were maybe like 50 or 60 hours of their curriculum. But with the updated curriculum within, you know, maybe like five hours or so of learning, you're actually confronted with, like, we call them boss battles.
[00:14:35] Joel: Oh, nice.
[00:14:35] Quincy: There's like the level one, then there's the boss battle. And the boss battle. If you're familiar with video games. Starfox you're on the rails. It's a real shooter and you're like flying around and she thinks, but the camera's moving in as a deliberate pace and everything's pretty scripted.
Like this ship is going to come out of here and you're going to shoot it. And then you're going to gather like rings and whatever. But then when you get to the boss, it opens up and you can fly anywhere. And suddenly it's like, oh my gosh, like there's so much freedom. But at the same time, there's much.
Apprehension associated like, you suddenly, you've got enough rope to hang yourself if you're not careful. So we try to get people to confront that early on, because we do want to check their ego. We don't want people to, because the longer you let someone persistently the illusion that, oh, I totally understand how this works.
The harder the comedown is going to be when they realize, oh, damn, like I really I've just scratched the surface.
[00:15:31] Joel: Yeah.
but like th they're going to crash harder, right? Like it's going feel worse because you felt so good now it's going to just feel bad and it's truly hard to, and you know, it's like, that's important to acknowledge as well. I think it's interesting because you're talking about like, Game design, essentially like the design of video games and to not gamification and the corny sense.
I think that the marketing set has used and ruined that term, but gamification and the idea that, you know, games are fun because there's some challenge and you're rewarded and you know, there's ups and downs and successes and failures, and that's what makes it interesting. And I'm curious, do you have.
An instructional design philosophy. You said you had a background as an educator, so I'm wondering, you know, does that carry over and is there like an overarching instructional design philosophy or framework that, that you've consistently used over the years? Or like now I guess.
Instructional design philosophy
[00:16:22] Quincy: Yeah. Game design informs a lot of our instructional design decisions. One concept in game design that I think is really helpful is time to first encounter, right? Like how long does it take after you pick up the blaster off the ground before you're shooting a demon with it, right? Like if that's a few seconds, that's going to really get people.
In the game quickly, if there's like tons of exposition and cutscenes and explanatory pros, they're gonna you know, so that has been one thing is like, when you start up free code camp, like yes, we do have a. Thing like, Hey, this is going to be hard. You know, we like try to set expectations and then very quickly within a minute or so people have read that and then clicked through, and then they're boom, they're in the code of the door.
So that's one thing. Another concept that's really useful for us. Feedback, how tight is the feedback loop in Tetris? If I try to move the piece to the right and I click the thing and it goes all the way to the right and it's bumping up against society, it's not going to go any farther.
And that immediately, it doesn't. That doesn't work. I need to figure out some other way. I need to rotate or something. Like Tetris is probably the most perfect game ever created in, in, in the sense that it does what it's supposed to do. And it does it very well. And it's self-explanatory, and it probably couldn't be any simpler than it is.
So after it looked like Tetris, okay. Like, like, oh, wow. I just got four lines and there's this giant. I dunno like a fanfare plate or something like that. I can't remember the term, but like a and everything flashed, you know, like, oh no, the peas are getting really high. How do I get rid of these? Oh, I got four and a line.
And that's how you get rid of them. Like, you could take somebody who never played Tetris. Like, it'd be hard to find somebody that has never played Tetris, but you could take. Who never played it. And I bet you, if you sat down and watched within two or three minutes later, they figure out how it works and they'd be progressing at least to like level two or level three.
Maybe getting 10 or 20 lines because the game is so intuitively designed. Obviously programming is a lot harder. But if you look at a lot of contemporary video games, like if you try to play like dark souls or do maternal or one of these games, like you're going to be confronted with tons of different buttons and different things you can be doing at any one time and like tons of different ways you can solve any given you know, scenario.
And I think. As games become more complicated, they get closer to resembling programming and as programming gets simpler and it's way simpler than it used to be.
Programming simplified with abstraction
[00:18:41] Quincy: We're sitting on like, you know, hundreds of mattresses of abstraction between us and the PE down there. It does become easier. And I am confident that at some point programming will be as simple as it is in star Trek, where they walk up to the computer.
Cross-reference the location with the, you know, plays are with all the flights that have come through in the past six months. And then instead it's always screen, you know, so like that,
[00:19:06] Joel: could just speak what you're thinking and it'll appear for you
[00:19:09] Quincy: Yeah. Like super-duper declarative programming. So yeah, I think that games inform the design more than anything and yes, I am a teacher I'm familiar with like pedagogy and all that stuff. And I've gone to many conferences and heard lots of talks and poured through academic papers, all this stuff.
I am convinced that video games and game development are probably the future of education. How do you make education so fun that people find intrinsic value in continuing doing it, rather than just the extrinsic value. Like, Hey, learn this, or you're going to be working in retail for the rest of your life.
Right.
Making code fun and educational
[00:19:48] Joel: Yeah, for sure. And I remember like when I was on a. TBI computers, Texas instruments, coding logo. When I was in third grade which dates me a bit, but like, I just remember that, you know, it's like this fun and just experience and, you know, up there, like Oregon trail, and they've been trying to do this for years, right?
Like this idea that video games can also be fun and educational. And I think that's really true and you see it in some, like there's even interesting coding environments like scratch and other things I think that are a good examples of. Some of the ways that this can be more fun for people and still meet educational goals.
And I honestly think that, like that idea that we can incorporate fun, like learning doesn't have to be some, somebody standing at a lectern, just, spewing facts at you for one and a half hour blocks. And that's what education is. I just don't think that's it. I don't think that's our brains really function and it's the outmoded way of doing things.
That's changing just, you know, the internet. Zoom changes like the interactive learning through websites changes. It's really fascinating to me. I also think instructional design is a underrepresented skillset in like our kind of almost like Zeit Geist in general. We don't pay teachers enough and we don't value this idea that teaching others is a cornerstone of the advance of our civilization.
[00:21:11] Quincy: Yeah thankfully in places like South Korea and places like Norway, they do pay teachers quite a bit more. And I think that. You know, in, in the us, we definitely take people with PhD seriously. And hopefully that will increasingly become so, and people, you know, everybody will be bringing on, you know, consultants who actually have like a strong background in teaching and have classroom experience as well as like.
Theoretical experience and not just classroom experience, but like experience writing a book experience, designing a course because that's in some respects harder than teaching in the classroom because there's less feedback. Like you really don't know and you don't have control.
[00:21:50] Joel: Yeah, so you sit down and you free code camp does not exist. There's plenty of different ways you could have approached it. And why did you choose to build custom versus using something that you might be able to find online?
Why a custom platform?
[00:22:07] Quincy: I didn't do a lot of like MOOCs as they were called back then. Like I did a lot of courses on annex and Coursera. And I read lots of books. And I just found that there wasn't a lot of, like, it's easy to delude yourself and to thinking you understand the subject when all you're doing is consuming and not being forced to produce.
So again, went back to that feedback problem, the moment, like, and in fact, I describe a lot of the first few months of me learning to code as me reading stuff and thinking, all right, I got this. Then I go to a hackathon and I went to hackathons almost every weekend. I took the Caltrain up and down the coast.
Cause I was living in Santa Barbara at the time and I'd like rail up to like San Francisco or rail down the same Barbara or I'd drive over to to like Las Vegas. And I do hackathons every weekend and that was great because there was feedback like the, what is the remedy for optimism is feedback like, like.
Reality checking learners
[00:22:59] Quincy: Or the remedy for hubris. I can't really the expression, but basically I'm left to your own devices. Most people will come to think like, you know, I am God in this realm if they keep like taking stuff in, but they never have their proverbial. You know, if they never get punched in the face cause right.
Like my reality is like kicking you while you're down. And you're like, oh my gosh, I'm not as strong as I thought. I think people like, like I genuinely thought, oh, I'm a developer now. Like, look at all these books I've read. And so for me, I was like I don't want people to go around.
Thinking that, you know, free code camp, because they read a bunch of articles on free code camp that they're going to be great developers and then go into an interview and get shot down, like right from the beginning. I need to make sure people understand how hard this is and how frustrating and how ambiguous it is.
And you know, like, yes, a lot of people are going to see that in and Nope, out of it, but a lot of people are going to be like, okay, like having calibrated my expectations. I now know that it's, especially when everywhere you turned, at least at the time learned to code in three weeks, you know, like there's like this company called one month, it was like one month Ruby learn all of Ruby in one month.
And like, they were like serious. They seriously thought they could teach people. Ruby like enough to be a developer or at least that's what they told people. And some people might've believed that, but yeah it's not an easy task. It's very hard to learn the program. Anybody who tells you programming is easy, is not doing you any favors.
So I immediately, I was like, we need to have. Tight feedback loop we need for people to be punched in the face by reality repeatedly. I'm sorry. I can't think of like a like a more gentle, like, I'm aware that there's a lot of violence and metaphors, like bullet points. I'm trying to use garden analogies.
Like maybe they haven't had their crops, you know, Withers
[00:24:54] Joel: Dipped in the cold water of a reality.
[00:24:58] Quincy: Yeah, There's
[00:24:59] Joel: exactly. whatever it is, like it's a shock to your system, right? Like when you, your expectations meet reality. And if they don't, aren't aligned you get a system shock and all of a sudden. You know, like, like you got to rethink and reevaluate your course of action and your previous conceptions of what reality is and kinda get pushed off the mountain top a little bit and start your climb.
[00:25:22] Quincy: Yeah. Yeah. So that was like, we needed it to be interactive. We needed it to be hard. And it started off a lot harder than it is now. Now we've got like these really gentle air, like, like hints instead of just failing test messages and error messages and stuff to try to steer people back on. But now that was one of the things is like, Yeah, it was two and university course, universities are like this too.
You can think that, you know, everything until you walk into that midterm involvement. And that like, okay, like halfway through the course, you get the feedback that you don't understand the material. Now you've got the remaining half to try to figure everything out before the final. And you won't actually know if you know it until you've taken the final, it's such course evaluation criteria that it really leaves a lot to be desired in my opinion.
So yeah. We have computers that can come, you know, run code within a few milliseconds and then give you the feedback. Why not use them?
[00:26:16] Joel: When you're building free code camp. Yes. Just a little bit, particularly in the, you know, your database and relational databases course, where it was really hard to provide that environment for them. And that was a technical hurdle. But in the early days, what were the, like the largest technical hurdles that you faced when you were building the platform?
Technical hurdles
[00:26:33] Quincy: Yeah, I would say the hardest, almost all the hard things. We're just trying to figure out ways to teach things interactive, especially if it's a conceptual thing.
Like how, if you normally, you would like condense a lecture down into like a single series of problems. But like, how do you teach on route? Like how do you get people coding? Or like a lot of times it's just a copy paste, this command. Great. Now you know how to like a rescue, like, like How do you do that in a way where you're not completely holding their hand.
[00:27:00] Joel: Where they actually having to perform the task instead of just consuming it or clipping it from one place and moving it to another, which isn't going to help them very much.
[00:27:09] Quincy: Like, it's such a easy thing to just say, oh, here's a multiple choice question. Did you understand the question? . You know, things where it is hard and we use multiple choice questions in our Python curriculum.
But yeah, it's a lot of free code camp curriculum. I'm still not particularly proud of just because I know that we can absolutely do better.
It's just a whole lot of work to actually execute on you know, you know, that whole saying what was it? It was like a Noah Iraglass. I think his name, he had this saying like, like, the worst thing is when you're just starting out, you have tastes because you consume good instructional design.
Or you played a good video game, right? Like, you know, what a good video game is, and you know, what you're producing is not a good video, but just knowing that what you've produced is not good, but that's like the first step to actually creating something that is good. You have to start with taste.
And as an instructional designer, you have to know, okay, this is like, I'm not proud of this. Or like, people are never going to get this, or this is going to be frustrating for a learner. You have to no that you're doing your best, but it's going to take many iterations to get to something that's as seamless as you know, star Trek where Catherine Ricard is, you know, talking to the computer.
[00:28:23] Joel: Yeah. The iteration and the idea that is something, you know, like, otherwise this wouldn't exist, right? Like if you do not iterate and you do not put something out into the world at all, then it doesn't exist. And how do you make anything good? And the only, like the only answer to me, it's like, how do you get good at any skill is through practice.
And that includes producing courses and curriculum, right? Like you're teaching people to get good at skills, but you also need to gain skills and gain that higher resolution on. You know, very real and tangible skills. You were learning as a platform, builder, educator, curriculum designer, you know, interactive courseware producer, right?
Like those are all skills that you and your team need to skill up on. And just in the same way that the people that you're sharing knowledge with need to skill up on, on some of the core stuff so that eventually they could look at these higher level problems like you're doing now, right? Like you have to get past HTML and CSS as a, as skills before you can.
Code your educational platform for the most part, right? That's just kinda the nature of learning. And I really think that's interesting to me is that, that, you know, you'll put it out there even though, you know, it's going to be a little bit frustrating and it's not polished and it's not, you know, it's like this doesn't taste good.
What do we need to do next? I think that's a really healthy approach.
[00:29:40] Quincy: Yeah. Yeah. Like, you know, pardon me for talking about myself rather than talking about instructional design, but like with my journey into music, I knew that I needed feedback. And I need, I needed to like, like, is this good? Is this going to work? You know, and you can think that you've got like the best music in the world, you have to put it out there and actually get feedback.
And it's the same thing with instructional design. So like, like, you know, I started putting my tracks out there and then people were like, oh, you know, this sounds janky. Or, you know, like you get all kinds of feedback and that helps guide you in the past. Is immaculate is the vision in your head and may be for where you need to go.
There are all kinds of, hidden realities that, that your platonic solid of an idea. You know, it's not going to be a platonic solid, it's going to be a crazy lumpy ball, but it will ultimately serve the purpose because it will have incorporated all this feedback. And at the same time, there's a balance that you have to strike, because if you incorporate too much feedback, then it mitigates your original vision to the extent that it's just like, you know, trying to be everything for everybody. So those are other, you know, yes, this one person had trouble with this specific challenge, but that does not mean that the challenge is bad. We have to step back and take like, you know, several million people who've done this coding challenge.
So it couldn't be broken. Like it maybe it's just misleading. And so every piece of feedback you have to know when the feedback is representative and or. Okay. If we actually wanted to address this specific piece of feedback, it would involve doing all this additional work and like, and went to be technically correct.
Or just to just to fudge things a little bit for the sake of not having to go on a massive, say, you know, side mission to explain how to do something right.
[00:31:24] Joel: does. And just listening to that, and I think this is interesting too, that the fact that it's free code. I think in some ways probably helps in allows you to iterate because you know, like I build a commercial course and if I'm charging you for that course, if you have to pay for it, there's like this expectation of quality.
But when you can fall back to like, look, it's free and we're working on and it's going to be better. If that has to remove at least some of the pressure from the overall process, I would think.
[00:31:51] Quincy: Yeah. Like on the forum for everybody, who's like, oh man, what the hell is wrong with this curriculum? It sucks. They'll be like, beggars, can't be choosers or.
[00:31:58] Joel: PRs accepted.
[00:31:59] Quincy: Yeah, exactly. We can, we're open source is like opening a get hub issue. And then all of a sudden I did, I don't do that as a snarky way of like dismissing somebody complaints.
I legitimately mean it. If I say like, Hey, could you open a gun issue or maybe would you be interested in helping create a PR to fix this? These are not like me trying to offload stuff. Like I genuinely want to get people involved in the open source contribution process, but you're absolutely right. The fact that it's free code camp, like we've never had somebody requested.
[00:32:26] Joel: Yeah, Yeah. I can't say the same. So like, like, like I see the advantages and, you know, it's like there's, we could do a whole podcast episode, I think, on the economics of free code camp and versus the commercial nature of it. But like, I think that's a pretty cool from a design perspective.
Cause you can get things out there, get feedback, iterate and build something truly nice over time without kind of the pressures of, you know, servicing pain customers which always throws with dynamic into that.
[00:32:54] Quincy: Yeah. That's one thing I've learned is like, you're going to have a lot of different customers who have a lot of different use cases and, you know, you don't want to upset them. So that's how, like a code base becomes a giant legacy code
and free code camp to be fair. What I look at, like for Coke campus is a game of go, not a game of chess.
Like you're not taking pieces off the board. You're putting pieces on the board. Once you put a piece on the board, the entire game is going to ripple out from there, right? Like if we create a certification, we cannot remove that certification. There are people who have that certification on their LinkedIn.
There are people who have that certification on their CV. We need to continue to maintain that as a legacy certification
[00:33:33] Joel: Backwards compatibility,
[00:33:34] Quincy: yeah, backward compatibility is very important and yes, a very small minority of people who use free cocaine actually donate to free code camp to give you an idea like we have about maybe like 800,000 visitors a day and you know, like about 7,500 people each month donate, it's a free code camp.
So if you do the math, it's like less than 1% of people actually support free code camp. We don't want that to be like, like, like we want to treat everybody was respectful regardless of whether they are helping support the project. Yeah, like we take all grievances very seriously.
[00:34:14] Joel: That's great Quincy. I really appreciate it. I really appreciate what you do. I see the difference that your project has made in people's lives because I'm steeped in that's community generally, and I've watched people. And the difference that your platform and your curriculum has made people's lives.
And just thank you. I think folks, if you're considering it, or did you use free code camp? You maybe want to get in on some of that sub 1% action and throw a few bucks, maybe a recurring donation to the project. Cause it's fabulous. Anything anything else you'd like to anything y'all have going on or anything that free code camp you'd like people to know about.
[00:34:47] Quincy: Yeah. Thank you very much. Joel, for that for like, if you're interested in getting involved as a contributor, we welcome it. But like for the purpose of like people who are listening to the show that are interested in creating instructional design Take a look at our updated, responsive web design certification that we just it's technically in beta.
I don't know when this is published, if it'll still be a bit but we spent like three years designing that. And I could talk for like an hour about all the design decisions that went into that, but it's extremely granular and we do things like we show people exactly what they're going to build right at the beginning.
It's no mystery as they do line by line, like build up this project, get test the pass that they're working towards something cool. And also we try to keep each step like 30 seconds to a 120 seconds in terms
just keep that manic pacing. Like if you're not running tests, like every 30 seconds, there's something wrong with the way we design that step.
Just making it really granular, having a tight feedback loop. Keeping people like rocketing forward. The curriculum that's our vision for that. And then at the other side is the relational databases certification, which currently you still have to pull down the Docker image and run locally.
But that represents like how we're going to be doing this for the backend. So we're doing the. Front end certifications before backend certifications. Then we've got the data science it's on Jupiter notebook, where you're currently using Google collaboratory for that. But those are the three sections of the curriculum.
And you can take a look at all those and get a feel for like what we've learned. And if anybody has any specific, like if you're a teacher or if you want some feedback on your instructional design, like definitely send me a DM on Twitter and I'll take a look and I'll give you some feedback, but the what passes for instruction in this world.
You know, professor standing at the front of a room lecturing you know, textbooks, things like that. Like, like we can do better and we're going to do better. And you know, I don't think any of this is beyond what typical developers or teachers could do. Like the tools are out there. They're democratized free code camp was not particularly expensive to be.
In the grand scheme of things, we're a 5 0 1 C three non-profit and we've been able to do it. Like I spent about $150,000 of my savings, bootstrapping the organization as a nonprofit and getting tax exempt status. And. I think that if you're coming with even a modest budget, if you're at an organization you want to update your onboarding or something like that.
If you can, marshal on the resource also free cocaine is free is open source. It's BSE three license. You can fork it and you can put your own content into it. Or you can repurpose our content, which is all all this stuff in the curriculum is creative commons, Fort O B Y S BYU. So yeah, I'm sorry.
You're like trying to wind down the podcast.
[00:37:36] Joel: That's awesome. No, that's really cool. Like I, I think that's that? Yeah. Like, Thank you for sharing all that because that's great information and what a resource? What a, honestly, like what a treasure on the internet. I appreciate that Quincy.
[00:37:48] Quincy: Yeah. Thank you for the opportunity to be on your podcast.