The Changelog: Software Development, Open Source - Leading a non-profit unicorn (Interview)
Episode Date: March 16, 2021This week we're talking about the future of freeCodeCamp with Quincy Larson and what it's taken to build it into the non-profit unicorn that it is. They're expanding their Python section into a full-b...lown data science curriculum and they've launched a $150,000 fundraiser to make it happen with 100% dollar-for-dollar matching up to the first $150,000 thanks to Darrell Silver. As you may know, we’re big fans of Quincy and the work being done at freeCodeCamp, so if you want to back their efforts as well, learn more and donate.
Transcript
Discussion (0)
This week on The Change Law, we're talking about the future of Free Code Camp with Quincy Larson
and what it's taken to build it into the non-profit unicorn that it is.
They're expanding their Python section into a full-blown data science curriculum
and they've launched a $150,000 fundraiser to make it happen
with 100% dollar-for-dollar matching up to the first $150,000 thanks to Daryl Silver.
As you may know, we're big fans of Quincy and the work being done at Free Code Camp,
so if you want to back their efforts as well, check for links in the show notes.
Huge thanks to our partners, Linode, Fastly, and LaunchDarkly.
Linode is our cloud of choice.
Check them out at linode.com slash changelog.
Our bandwidth is provided by Fastly.
Learn more at fastly.com.
And our feature flags are powered by LaunchDarkly.
Check them out at launchdarkly.com.
Linode is simple, affordable,
and accessible cloud computing the developers trust.
Linode is our cloud of choice.
We trust them,
and we think you should build
anything you're working on,
a fun side project,
or that next big info move at work
with Linode.
The best part,
you can get started on Linode
with $100 in free credit.
Get all the details at linode.com slash changelog
or text changelog to 474747
and get instant access to that $100 in free credit.
Again, linode.com slash changelog. Well, we're always happy to have Quincy Larson here with us.
Quincy, thanks for coming back on The Change Log.
Hey, thanks for having me, Jared.
Happy to have you.
As always, 2020, an interesting year, a challenging year, and probably a good year in terms of
Free Code Camp because many people were locked down and maybe looking for new work.
And I know that a lot of people were transitioning, just lots of shaking things up for people's
lives.
And it seems like Free Code Camp plays into that space very well.
Was it a good year for Free Code Camp?
Yeah, I mean, our community definitely grew.
We had a lot of people in the community who lost their jobs, unfortunately.
And I always tell people, hang on to your job, keep working on your job as long as you can,
because you want to be able to provide for your family while you're training and free cooking makes that possible. But if you know, your industry suffers a huge hit like hospitality did then or retail,
you know, there's not a lot you can do, but yeah,
people were mostly just hanging out at their houses,
their apartments, like learning the code with their extra time that they had.
Yeah. Did the service catch on fire? What happened?
Like it was a massive uptick
that you can share?
Yeah, yeah.
Well, during the month of May,
April and May,
when like the lockdown
really kind of came into effect
in the US and India,
we did have a lot more people
using Freecode Camp.
And then once that kind of
people started going back to work,
which, of course,
my advice to everybody is try to stay home.
And I was very vocal about that.
But at the same time, you know, some people don't have that option.
And I appreciate that.
And I also appreciate the fact that, you know, like when I ship something through the mail we were getting about twice as much usage as we were before the lockdown started.
So we definitely saw a lot of new people coming into the community to learn to code.
You mentioned in that five-year show we did, too, we did a five years of free code camp two years ago.
So hey, happy seventh year, I guess, or into the seventh year. You'd mentioned that China and India were the up-and-coming kind of areas
that were really leveraging and using the curriculum on Free Code Camp.
Yeah, Nigeria, Brazil, a lot of countries are making heavy use of Free Code Camp as well.
I think we're even the official programming tool for Liberia.
Nice.
Before we get too deep into the weeds,
I just want to thank you once again for Free Code Camp.
As a non-user, but as a person who just gets asked the question a lot,
how do I break into web development or software as a career?
I used to have to ask a bunch of follow-up questions
and give people different options depending on circumstances.
And for the last few years at least,
I just say, freecodecamp.org, go get it.
So I appreciate that.
Yeah, thanks.
It means a lot to me that you're helping raise awareness of our community.
And yeah, I feel honored and at the same time,
it's a serious responsibility taking your friends and
family who want to learn to code and making sure that they have as smooth and realistic
an on-ramp as possible. So you've had kind of the foundation of what you think was necessary for
curriculum for getting started for a while, but you're not satisfied or resting on your laurels
on that. You've been building new things. You have a brand new data science course that you're ramping up right now. Can you tell us some of the stuff
that's been new recently and then what's what's upcoming? Yeah, absolutely. So first of all,
the data science curriculum is something that I wanted to do really before I even started Free
Code Camp back when I was like experimenting with all these technology education tools, I really wanted to give people an avenue into a lot of technology careers. having a sound foundation in computer science, a sound foundation in math, and then the skill of programming and, you know, knowing how to actually hack things together and problem solving.
So what we're trying to do with the curriculum now is significantly expanded to include a lot
more mathematics and a lot more kind of traditional CS topics, a lot more data structures and
algorithms related topics and kind of problem solving
fundamentals. And then a lot of more general purpose, but very useful data related skills,
like, you know, data engineering concepts. And of course, like data analysis, approaches and
statistics, and ultimately machine learning. And so the curriculum is going to be, right now,
the curriculum is six or it's actually 10 certifications. We're expanding it to be
19 certifications. And we're taking some of the existing certifications and drilling in and really
like instead of having a single machine learning certification, we're going to have
the three big branches of machine learning represented, supervised, unsupervised,
and like neural networks and other kinds of machine learning represented supervised, unsupervised, and
like neural networks and other kinds of reinforcement learning.
So are you a big math guy?
I am not a huge math guy, but I have a huge appreciation for the role of math.
And we have already brought on a math teacher who's got like 20 years of experience teaching
math at the collegiate and at the high school
level. And I'm very much looking forward to learning from his exercises, like going through
and learning calculus proper. When I was in grad school, it's basically like, hey, here's some
magical calculus, plug this into your calculator, and then keep going. And I didn't actually
understand kind of like the foundations that I was walking. It's kind of like, if all you do is like high level scripting languages then you're not going to necessarily
appreciate you know the lower levels of abstraction that um you know c code works at or assembly
things like that that power you know ruby or javascript or python or some of these
higher level uh scripting languages so i'm looking forward to coming to appreciate math much more instead of taking it for granted and just
saying, oh, this just works. It's like thinking more like a computer scientist
rather than just thinking like an engineer.
If someone were not very familiar, which I think people know of Free Code Camp and maybe even
many have used Free Code Camp to learn, but if they're not familiar with
the organization itself, when you say bring on, so you mentioned bring on this math teacher,
help us understand the layout of the organization.
Obviously, you've got you as the founder.
Kind of give us an understanding of who's involved
and what bring on somebody like a math teacher
at that level means to the organization.
Yeah, so what we generally do is Free Code Camp
is a very small organization.
We have an outsized influence and half a million people use Free Code Camp is a very small organization. Like we have an outside influence
and, you know, half a million people use Free Code Camp every day, but it's actually only like 12
people that work full-time on Free Code Camp. And then we have a lot, like kind of a core of like
hardcore volunteers who contribute a whole lot, like people who run the forums, people who
contribute to the code base, people who write articles and create video courses and things like that. And then we have, you know,
just tons of kind of casual contributors who might, you know, put in a pull request every
few weeks. So the actual full-time team is mostly teachers. Most of us have a teaching background
or some sort of academic background.
And then some of us also have an engineering background. A good example would be Oliver,
who recently joined us. He was like a particle physicist working at the, I think he was working
at like the European equivalent of like DARPA or something like that. I can't remember what the
names of all these European agencies are, but he had a PhD
and he'd been working in particle physics
and then he learned to code
and started contributing to Free Code Camp
in his free time.
And now he works as a software engineer
at Free Code Camp.
So he kind of has walked both realms
of like the more abstract
and the more applied.
We have a lot of people like that.
Pretty much everybody on the team
wears multiple hats.
Some of us can speak foreign languages. So for example, Mia Liu, she runs the Chinese community. And then we have Rafael Hernandez, and he runs the Spanish speaking community in Latin America. And here in the US, there We're all writing articles. We're all getting involved in helping diffuse
situations with the community
or with the infrastructure late at night.
And I intentionally
try to rotate people through as many different
responsibilities as possible.
Got a good lay of the land. Do you see it's a lot of
promotion from within? I've learned from
GoCamp, so I graduate into.
You mentioned a lot of the full-timers
are teachers, but you I mean, you mentioned a lot of the full-timers are teachers,
but you mentioned Oliver who has a PhD and learned to code.
Did he learn to code through free code camp?
Or did I understand that correctly?
Yeah, every single person we brought on, to my knowledge,
has extensive contributor experience.
Like Abby, for example, who runs the publication,
and she also runs our Twitter account and our Instagram account.
She was a volunteer contributor, like writing articles and editing hundreds of articles before we had the
budget to be able to bring her on to work full-time for free groups. So essentially the reason is,
like the way I approach it is we have somebody who's already contributing a whole lot
and we get along with them and we think that they're like very friendly and capable. And we get along with them and we think that they're like very friendly and capable.
And we basically say like, hey, you're already doing so much awesome work.
If we were able to bring you on full time, do you think you could do even more of that?
Because you wouldn't have to focus on, you know, your day job.
And so that's how we've been able to grow.
And we're very conservative with how we bring people on and very responsible because we just don't want to get into a situation
where we ever have to lay anybody off.
And so far, that's never been an issue.
I've never missed a payroll or anything like that
because we try to grow very deliberately.
So one of the things that we've been doing
with this update to the curriculum
is we're doing a big fundraiser
to try to raise $300,000 that we can use
to potentially bring on some
additional instructional staff to help, you know, design these probably what's going to
be hundreds of mathematics related projects and, you know, hundreds of Jupyter notebooks
and things like that, because we don't want to jump out there and speculatively say, this
is going to be huge.
And then bring a bunch of people on, do the work and then have to lay people off.
You know,
this isn't like a video game industry studio system or a Hollywood studio
system where like,
there's the expectation that like,
Hey,
we finished the job.
Now we have to go find other jobs.
Right.
Like,
like we really do want to ramp people up and get them the skills and the
familiarity with the systems.
And also just the trust.
Like when you're trusting somebody to have access to a production database, or you're trusting somebody to have access to a production database
or you're trusting somebody to have access
to some sort of account and to use their best judgment.
Like it takes a while to find people that you can trust.
So we don't take that for granted
and we don't want to lose people.
Yeah, totally.
One of the things I've always appreciated about you, Quincy,
and the way you run FreeCodeCamp
is how transparent everything is and how you openly share budget numbers and everything. And it is
entirely donation-based, right? There's no non-free aspect of FreeCodeCamp or is there?
Everything is freely accessible. That's like a founding principle of FreeCodeCamp. I even chose
the name FreeCodeCamp so I wouldn't be able to change that later.
Yeah, you can't back out of that one, can you?
That's a good way to bake that moral in, is make it part of your name.
Yeah, Free Code Camp.
Let us show you our freemium model where you can, yeah.
Let me show you the non-free code camp.
I mean, at the end of the day, it's our defining feature,
is the fact that it doesn't matter what your socioeconomic background is.
It doesn't matter whether you can get access to a credit card,
which most people in the world are unbanked. They allow off $10 a day or less, and they don't have
the ability to pay, even if you're just putting like a $5 a month paywall up. We wanted to make
sure that was like the founding principle of our entire organization. And frankly, there are tons
of awesome resources out there that are paid. And I think that, you know, the fact that we're free is a huge advantage in terms of being able to attract people to use free code
camp when, you know, like I'll just rattle off some places there, you know, front end masters,
there's egghead, there's tree house, uh, uh, CBT nuggets, like a ton of these awesome sites.
And I'm probably leaving out a lot that, that we have like a long-term friendly relationship with.
They're doing great work too. And we want to be free so that they don't have to be free and they
don't have to feel the pressure because a lot of these people are going to be able to eventually
afford to be able to use those resources too. Yeah. What do you think it is that differentiates
then? If the differentiator seems to be based on that, simply the price, is the quality different?
Is the production level different?
I mean, sure, these are,
I know Treehouse has done a great job over the years
with video production and great with staff and whatnot,
but in your own opinion,
what do you think the differentiator is
if it's not just simply price?
Well, Free Code Camp,
we really want to focus on just a really core curriculum.
Like this is something that
if people get a chance to read the article or watch the 28 minute video where I talk about the philosophy of this big curriculum expansion.
One of the other founding principles of Free Code Camp is that it's going to be a single linear curriculum where it's kind of the shortest path first to getting a full stack developer job.
And then now with the curriculum expansion, the shortest path to getting like a basic kind of data analysis type job.
And then if you want to come back,
then you can learn even more math and even more Python.
And you can get like a full on ML, machine learning engineer type role.
So we want to keep a very clear, linear, simple progression.
And a lot of this is rooted in, you know, my belief that like
the old ways are sometimes the best ways. And if you look at the university system,
it used to be that everybody just went and got the same degree, liberal arts, unless you were
going to like medical school or something, right? Everybody got the same basic liberal arts degrees.
They studied the classics. And then once they were done with that, they would just go out and specialize on the job.
And there were some big advantages to that.
First of all, you didn't have this Cambrian explosion of electives.
You didn't have people who had, like, I have an English major, right?
I actually took a lot of like kind of quote unquote blow off classes, like cyberpunk literature
and anime and stuff like that at my university.
And they counted toward English credit.
And I had like all these friends who were like how do these count they were studying
like shakespeare they were studying uh chaucer and stuff like that and like getting really hard
into like the middle english and even the old english and stuff and i was just taking this
kind of like you know what you would consider like trash if it was like a pub quiz you know
like these topics that are guilty pleasure kind of stuff yeah yeah and and to some
extent like i wish i'd taken chaucer i wish i'd taken shakespeare like i'm probably not gonna
have a lot of time to learn those things now because i'm running free code camp uh and that
was the time when i had i mean i'm probably lying i could probably sit down and like hour through
some shakespeare but how's your anime knowledge you know a lot about anime i do yeah there you
go probably more than the people who studied chaucer yeah so it wasn't hard for nothing you know you came out with something well my point is like i do think that
like if all the academics in the world settled on like okay we want people to be literate we want
people to be numerate maybe if they worked with industry and figured out okay like sequel seems
to be a pretty good skill like pretty much everybody should learn sequel right pretty
much everybody should learn linux um even if're not a programmer, it's very beneficial to know how these systems work.
I think if we had a clear,
simple kind of best fit line as far as what skills
people actually need, then it would be simpler. So FreeCodeCamp
is kind of an answer to that. It's a callback to the old universities hundreds of years ago that
didn't have a bunch of electives. And if you go to like, there are a lot of great sites like
Codecademy or trying to think of some other sites like SoloLearn is a good one on mobile.
And you just kind of choose the topic and you learn whatever you want to learn in whatever
sequence. But when you do that, you're always kind of stuck teaching fundamentals over and over and
over again in different languages and stuff. If instead you just have a single linear path and like, okay, we're going to teach you how to do
some things in JavaScript because FreeCodeCamp focuses on JavaScript first. And then by the time
you get to using Python later in the curriculum, you're not going to have to go back and understand
those fundamental programming concepts again. We can just, you know, take a few minutes to teach
you the syntax and keep moving. Right. I feel like it's easy to get stuck in what people call tutorial purgatory or tutorial hell
because you're kind of jumping around between different beginner resources
instead of actually taking intermediate resources and building upon what you previously learned.
And so that's like a big part of Free Code Camp's design is we don't want people to get stuck in the desert of despair where there aren't any good intermediator or
upper intermediate resources.
And by having a single linear curriculum that everybody goes along,
it's like the Appalachian trail.
You can always kind of holler back like,
Hey,
look out there's,
there's an avalanche ahead.
I don't know.
Is that a thing?
I mean,
the Appalachian trail,
there was like people would pass knowledge back and forth
because everybody was kind of taking the same trail.
So they knew what to expect.
Oh, right.
Watch out, there are bears in this area, right?
Right.
Or people going backward,
but going back east because the west was too harsh.
They could say, oh, look out, up ahead, there are bandits.
I don't know.
I never took the Appalachian Trail.
I was always on the Oregon Trail.
I don't know if that's the same trail,
but I just died of dysentery. The Appalachian Trail goes to the Appalachian Mountains. I was always on the Oregon Trail. I don't know if that's the same trail, but I just died of dysentery.
The Appalachian Trail goes to the Appalachian Mountains.
Well, yeah, it's on the east side.
Isn't that true?
I hope it's true.
You've got to get there first.
If you're headed west,
you've got to start with the Appalachians, right?
Yeah.
Some people make it over to Oregon,
but other people don't.
I always died of dysentery.
The hardcore people that don't die of dysentery, yeah.
The other ones turn back.
They're like, that was actually harder than we thought.
Some people do that with JavaScript.
They get started, they're like,
ooh, this is harder than I thought.
I'm going to turn around.
So to me, it's obvious that you free as a core principle
and your foundational aspect
and picking the general foundational things.
You said you have an outsized impact.
Your human count on labor inside of RecodeCamp versus the impact is outsized.
It's huge.
You even cite some of these things in your budgetary numbers,
like how many people you're reaching
versus how much money you're spending.
Anybody who wants to give to a cause
wants that cause to be as leveraged as possible.
They want their money to be as leveraged as possible
or as effective and impactful as possible.
So when I look at your choices over the years,
like JavaScript made a lot of sense, right?
Python made a lot of sense.
Full stack web dev, in terms of the things that you're going to teach,
made a lot of sense.
Because that's going to have the biggest impact.
And now you're doing data science, or we call it a data analyst or that milieu.
I think data scientist is maybe the term,
or ML practitioner, I'm not sure what the job titles are.
I assume you've read the tea leaves
and you've seen that this is a highly
and expanding set of jobs or careers.
Did you look at it like that?
Where can we move to now
that's going to be like the next most impact
and that's data science?
Yeah, it was a combination of that
and the fact that, you know,
if you want to be a software engineer
and continue to grow in your role
and become more and more advanced,
you're probably going to want to learn
these topics anyway.
So again, a lot of it's designed
with the notion that after, you know,
a few hundred or maybe a few thousand hours worth of coursework, if you finish the first seven certifications or so, you're going to be ready to go and work as a software engineer in like a web development capacity.
Right. But you might want to come back and learn some more so you can work as a data engineer.
And so I do think that if you look at the distribution of jobs, web development is still the central thing.
And I would include mobile development and web development because so much of mobile development is essentially just working with APIs and stuff.
People try to put it in its own category.
But if you just think of the mobile app as kind of like an alternate client to the browser, you realize that a lot of the work is basically the same.
And a lot of the skills are the same once you adjust for the fact that there are slightly different tool chains.
So I would say that because like half of all jobs
are web development jobs,
it definitely makes sense to start people there.
And then probably right now,
there are tons of data science jobs,
but it pales in comparison to just the number of,
you know, the demand for web developers.
So this is a specialized thing.
I wouldn't recommend somebody try to go straight into data science anyway
because you're going to need a lot of coding.
You might as well learn the coding and potentially work on a team
as a developer before you start working as a data scientist.
So this would be kind of like an upgrade.
So are data scientist jobs generally like a pay upgrade
over a software developer job?
Or is it just out of like, my interests have changed or I'm trying to, you know, I actually
would enjoy this more, but am I actually making more money just speaking in generalities?
I think you'll make a lot more.
A lot?
I think you'll make a lot more, especially if you learn like machine learning and stuff
and then are truly balanced for practitioner.
I mean, plenty of undergraduate students could try to learn some machine learning and then
go and potentially like enter a hackathon and stuff.
But the real question is, how applicable are those models going to be once you move beyond the realm of a weekend hackathon and implementing pipelines and stuff that are going to be industrial grade?
And for that, I think there's a reason why most data scientists, I don't know if it's still most, but historically it's been most of them have PhDs.
Often they'll have like math heavy PhDs and statistics and things like that.
And it's because it is a heavily quantitative field.
Data science, in my opinion, as a non-practitioner who speaks with data scientists all day, is really three things.
It's programming, it's math, and it's kind of domain expertise, understanding like how the business works. Right. Like if you're a data scientist at, say, like Target, right, you're going to need to understand like purchasing behavior of different people and like checkout and logistics of shipping things around and all the different costs associated with things, all the different risk. And a lot of times, if you work at Target for like 10 years,
this is like a middle manager or something, and you go to night school, you might be able to learn
the resources in order to be able to become like a data scientist because you have that domain
knowledge. But again, you have to also have the programming and the math skills. So we're not
going to be able to give you domain specific things. But what I tell people generally is try to get a job as a developer
and then pivot into increasingly data-centric roles.
Because if you're at a large company,
I mean, like I was just listening the other day to the interview
with some of the people who were behind one of the biggest data sets of all,
the AmEx data set, right?
Right.
And like, you know, on a practical ML.
And I think that that's a practical AI, sorry.
And I think that that's the future right there is like being able to be on one of those teams because you have that background and you have those skills.
But I don't think that very many people come straight out of university and they get to work on giant data sets like that.
I think it's something we generally build toward. That's kind of how it is in, let's say, a lot of
careers anyways. Over time, like today,
I leverage multiple skill sets I've learned over time.
And it's the same here. Maybe you go in and you learn basic
programming, web developer skills, and one, you can
find a love for it and an appreciation for it.
And over time, you have a need to layer on more skill sets.
So maybe in the data realms of it or domain expertise.
Like that's how I think learning happens anyways, or at least good learning.
You know, you layer on your learning over time, not just simply,
let me just go into the data science free course on free co-camp and boom ml wizard you know i mean
like it just doesn't doesn't compute that way maybe for some it might but for most people it's
probably not going to make sense right maybe the one's doing the research and working on the the
creation of the models and the techniques and the advancement there but what i've learned a lot about
machine learning just from listening to and producing practical AI
is the challenges that are out there
and where there's a lot of innovation
and money to be made and jobs to be had
is kind of what Quincy's talking about
with taking these techniques into a production capacity
or applying them into a business
and using them in certain contexts.
There's challenges there.
I actually have an open tab right now
that I haven't read yet,
but the headline is,
we don't need data scientists,
we need data engineers.
And I'm assuming it's going to be
an awesome thing that I'm excited to read.
It resonated with me
because I see that there's all these challenges
where if you have software development skills
and you can merge them with
the data science side, you can sit in the middle and understand things like deployment, like
operations, like how to build things that can advance and be maintained and move on.
There's tons of opportunity there. This kind of ties in to my general argument about learning as a whole,
lifelong learning. I'm a huge believer in lifelong learning. And I would say, I frequently advocate
for people slowing down and just taking a long-term approach. People often think about
school as a four-year block or a two-year master's or something like that. But I really think that
if you get a good job and you like that job and you're willing to work there for long-term and a lot of people I see,
I think they make the mistake of hopping around on jobs a whole lot and they don't ever really,
you know, there's the, the Rolling Stone never gathers any moss. I think that's the case. I mean,
I understand like people would change jobs for like a major salary upgrade, for example,
but I do think that people should stick around and just see how they can pivot within their
existing organization and how they can grow within their existing team.
And instead of trying to be in such a rush, like, oh, I got to chase this brand new technology
that's out.
Like there's a gold rush, right?
Instead, slow down and just think about like, how can you gradually kind of taper your trajectory to head in that direction.
And a lot of learning, I feel like people go through these bursts of learning where they just study really hard or they spent the entire weekend working on this model and they learned a ton about machine learning.
But then they go back to work and they don't use it.
And a few months have passed by and they've practically forgotten everything that they learned from that experience a big part of it i think is integrating into your routine like reading for an
hour a day or working on a very specific skill uh every day and kind of getting in a rhythm of doing
that because sleep and i know i'd actually be very interested in what adam has to say about this
because i think like sleep is so important to how the brain kind of solidifies
knowledge and I found for example that like I study a lot of foreign languages like I right now
I'm I lived in China for like six years and I've been studying Chinese for like 15 years
and then I just recently started learning Spanish and a huge part of it is in my opinion like you
learn maybe like 30 minutes you go to sleep and your dreams, like you're kind of like weaving these threads together, and then you wake up and everything
seems just marginally easier the next time you approach it. And if you get that kind of loop
going, every single day you're learning something and you're revisiting something, it feels like
even though you're only studying like 30 or 40 minutes a day, over the course of a year,
you can make dramatic gains. And I feel like it's the same way with programming.
If people just slow down and kind of sprinkle learning throughout their weeks instead of
just doing like, it's learning day.
Right. This episode is brought to you by our friends at LaunchDarkly,
feature management for the modern enterprise,
power testing in production at any scale.
Here's how it works.
LaunchDarkly enables development teams
and operation teams to deploy code at any time,
even if a feature isn't ready to be released to users.
Wrapping code with feature flags
gives you the safety to test new features
and infrastructure in your production environments
without impacting the wrong end users.
When you're ready to release more widely,
update the flag status,
and the changes are made instantaneously by the real
time streaming architecture,
eliminate risk,
deliver value.
Get started for free today at launch darkly.com again,
launch darkly.com.
Do you want to open up with your, I guess I forgot you said,
I want to hear what Adam has to say about sleep because.
Yeah, I do want to hear it.
Like, Adam, if you've got thoughts on that. All I have to say is very short.
I'm not going to pontificate by any means.
I'm not going to get my soapbox.
We do have an upcoming episode of Brain Science
we're doing some research on
because I'm a huge proponent of as well.
But it is called or it might be titled Sleep is the Best Medicine.
I thought laughter was the best medicine.
Yeah, well, you know, we're taking it over.
Sleep.
I mean, really, I mean, like when you get sick, what do they say?
Get some rest.
Sleep it off.
Yeah.
Sleep it off.
It really is the best medicine in many cases.
And so many people in a go-go-go society.
Right, the rat race.
Yeah, exactly.
Over-emphasizes let me stay up all night over the weekend to learn instead of learning incrementally bit by bit over time.
Sometimes, you know, there's a couple different wars going on there.
Sometimes you've got that. Oh, it's so hard. Well, you got that side that says, you know, I can do more in these 10 hours than I could do in 20 hours stretched out because
I have all the inertia and momentum and drive right now. So there's a couple of different aspects. I
mean, you know, you could argue either side really from different angles with different perspectives
or different scenarios. Yeah. I would argue the situations where you do need to go you know full out are less frequent
than people think they are right and then if you're able to kind of judge like is this something
where i really need to plow down you know plow through this or could i potentially just knock
out a chunk of this and then wake up in the morning and be fresh and finish it you know right I do think one thing you keyed on was routine which
is habits and I'm a big uh re-believer believer of good routines good habits you know create good
rhythms there's a lot of things that you can do well because you wake up every day and you do it
right you've built a routine.
And it really sucks whenever something jumps in and breaks up that routine,
which might be why people plow in for that day or two
because they've got PTSD of like,
I created this rhythm and routine and something disrupted it
and I couldn't get back on the horse.
So anyways, that's a very left field brain science-y stuff.
Well, the danger is when you think that the plow through methodology
turns into the habit, right?
Like there's no, it's going to be, it becomes,
it's almost like when you get a raise
and our proclivity is to then like expand our lifestyle
to match that budget, right?
Like I'm just going to live up to that budget.
Then when you get a pay decrease
you're screwed it's kind of similar with sleep like if i just if i'm gonna burn it on both ends
yeah because i have this one thing i have to get done fine but then like the next thing oh i have
to also get this done or i have to you know like i slot that in and now i'm just living on five
hours of sleep and i'm just you know destroying, destroying myself. I always say things, if you're going to do that and you're going to do it with awareness,
do it in seasons or very specifically.
Like I know I'm doing this and I'm doing it for these reasons and it's very, it's uniquely
and different.
It's not because it's a norm, you know, do it for a season and be okay with it for a
season.
Like let's say traveling more often or being with your family more often.
Like that's not a norm for me.
I'm not okay with that on the norm. I'm okay with that for maybe a month or two if necessary
for certain reasons but only for those reasons and then i go back into my normal gear i was never a
pulling all-nighter kind of guy like i don't know quincy back when you were in school and trying to
like a test tomorrow were you pull would you stay up all night studying? No. But I would study more
in bursts,
like large bursts,
than I think was optimal.
Looking back, if I had school to do over again,
I think I could have done a lot better.
What I know now...
I would definitely do the procrastinate
until the end and then cram.
I was a crammer as well,
but I would always opt for...
If it was the night before a big test,
I can stay up for three more hours and cram this in,
or I can just sleep right now and I'll be more fresh
and I'll do better on the test,
because test taking is a mental capacity thing.
I used to always opt for just the sleep,
and I think that paid dividends.
I know a lot of people that would just stay up all night studying, you know.
And I was always like, gosh, I feel like you're brain dead right now.
Yeah.
Well, it's almost like you forget it in the morning.
You'll remember it then, but you'll forget it in the morning.
Tests are weird, though, because you only have to remember it for like 40 minutes,
and then you can actually forget it.
So that's not as it works.
That's the purpose of the test, which is to actually help you learn it.
And that's one of the problems with, you know, education is...
Right, well, testing's problematic.
Learning confirmation, yeah.
We just have a few tests.
We should have tests every single day of class, you know?
There should be a quiz at the beginning of every day of class
just to force you to, like, dump what's out there
and kind of create this experience
of having grappled with the knowledge
and put it on paper right now. But instead, at least when I was in school, there'd be like a midterm and then there'd be a final.
And there was no other evaluation criteria.
No feedback.
That's why I'm excited about this new book from Greg McKeown.
It's called Effortless.
And he uses this quote a lot, but it's a quote that's attributed to Abraham Lincoln.
And it goes something like this.
If you give me six hours to chop down a tree,
I'm going to spend the first four sharpening the ax.
Oh, yeah.
I've heard that one.
And it's really about like effortless work is because of great preparation,
you know, or great planning, a plan, period.
But sometimes you can over plan.
So it's not always true.
Yeah, planning can become a form of procrastination.
I know lots of people who like map out exactly,
oh, I'm going to learn this, I'm going to use this resource
and I'm going to be listening to the podcast
and I'm going to ride my bike.
And like they schedule everything
and then they ultimately can't stick with the rigors of that schedule
just because it becomes odious and they start to fear it.
I mean, same thing for me.
And I can talk about my daily rhythm if you're curious.
I have kind of like a bedtime routine where I basically,
starting at about two hours before I'm going to go to bed,
I do my languages and then I do just,
I've got like this kind of pull-up bar in my doorway or my fridge.
And I just do a bunch of pull-ups and then put it on the ground and do push-ups.
And then I do like, I'll do other things that I need to do. Like I'm doing geography quizzes
on sitterra.com. So like memorizing like all the different, you know, United Nations countries
where they are. And like, I memorized all the different States in Nigeria and the States in
India and places like that. Just, and of course the U S like the Northeast is particularly hard with the
U S. So yeah, like I'll do things like that just every day.
And even though it only takes like five or 10 minutes over time,
I've managed to like memorize huge portions of like different countries and
maps and stuff. And then after I do all of those things,
because I did all those things,
I reward myself by letting myself play video games for like 30 or 40 minutes
before I go to bed.
So there's that kind of reward there to like,
even though I'm tired and I don't want to do it and it's after a long day of work,
that reward kind of spurs me.
Well, I don't get the reward.
I don't get to play video games if I don't put in the time studying.
Yeah.
I like doing that.
I like to do scenarios like that where it's like I want to do that but I gotta do
these things first and that thing is a
reward because I did those things because they're unpleasant
or I don't really want to do them or
they're arduous or just for whatever reason it's just
like cognitively hard
in comparison to just sitting down and playing a video game
video games are so easy
they are so easy depends on which game you play
well easy to want to play I guess
I mean not easy like to do game you play well easy to want to play i guess i mean not
easy like to do but you don't have to convince yourself right like you're already convinced
they're designed to be addictive they're designed to like draw you in that's right that's right
and the future of education is video games like if we can make courses that are as addictive as
like playing doom or you know playing uh you know street fighter or something like that then like
suddenly you've got this thing that draws people in and they get really interested in and one of
my aspirations for freeco camp is that someday we can have as you know robust a fandom as like
final fantasy games or something like that right like where where people are like oh yeah like
this is like a particularly insidious challenge and it's claimed many people who flamed out at this part,
you know,
and like,
yeah,
like we want to gamify it.
We want to have like the equivalent of like,
like you walk into the room and there are a bunch of corpses and those are
people who've like failed the exam and like haven't come back to try it again.
You know,
something like that.
We want that kind of vibe and we want to have like all the kind of RPG skill
tree type elements just to make it fun.
We want to have leaderboards and anything we can make
where it's kind of cooperative instead of competitive.
Those are things we want to incorporate.
How many times can you respawn before you lose Free Code Camp?
Sorry, you lost.
Yeah, so we did actually tinker with what I was calling
arcade mode for a while, where you could basically
just sit down and like
how much time do you have? And it's like, boom, algorithm
challenge after algorithm challenge. And
they would just get increasingly difficult. And every time
you thought you got your code right and you tried to run it
and the test didn't pass, you'd
lose a life, you know. What happened with it?
I was just, we got a lot
of priorities. We're 12 people. Okay.
So you didn't actually execute on it. No, no, we built
it, but we couldn't figure out a way to like integrate it properly and there were some issues and
and you know if it's not a slam dunk like oh then make it a mode then just make it like an
alternate mode versus like the the primary path like hey you want to try a the side quest yeah
eventually side quest is is a different way you know yeah we don't want to release anything that's
not done that's not right and because we're such a small team,
like we really have to focus.
And that's the hardest thing
is like deciding which projects
to not kill, but put on ice.
I mean, like we know where the future is.
The future is making,
like learning to code feel like
you're playing like World of Warcraft
or something like that,
where you feel like you're getting involved
and you're making friends
and you're progressing toward like being you know a powerful wizard so we're gonna get there that's
one of the things why like people often are like oh i could build free code camp and you know
a weekend it's really simple it's just like this editor in the browser and like and i'm like well
yes there are certain aspects of free code camp that are relatively simple to implement
but this is just like part of the vision.
The vision is so much grander and broader than what exists today.
I set Free Code Camp up as a nonprofit, and I created this model that I wanted to optimize for sustainability and durability above all else.
We don't care about explosive growth.
We don't care about getting celebrity. We don't care about getting like celebrity endorsements or, or anything like that.
Like we really just want to gradually over a long period of time,
build up what we think is the best kind of school type environment for adult
learners who want to learn technical skills.
And I do think that that's going to eventually be like this.
Eventually free code camp will have had millions and millions of dollars
poured into its development and it'll be like a triple a video game but it's going to be
a triple a video game you know decades in the making i like that yeah so is that what the grand
vision is you said you have this big vision for it and it's this school for adult learners that
is like a video game or is as compelling as a video game? Is that what your vision is?
Yeah, as compelling where people want to go there and they get excited.
They wake up, they're like,
I can't wait to finish work
so I can jump on Free Code Camp.
And for some people, that is the case.
But not everybody gets that excited
about learning the code.
A lot of people would rather go and play video games.
You know?
Yeah, yeah.
We'll know that Free Code Camp is compelling
when people who are like hardcore gamers stop playing games completely and are just like,
I don't need games anymore.
I've got free code camp,
you know?
So that's really fascinating.
Have you found that a lot of people get started and don't finish?
Or do you track that?
Like how far people get is the rate of attrition pretty high?
Yeah.
So I think a lot of organizations, like this was a question
that like Coursera and edX and a lot of these organizations were criticized because they would
have low graduation numbers, right? Like it's free, you know, Coursera was free.
edX was free. It was not fair for like, you know, these media pundits to say, yeah, but like
only 5% of people who started a course will actually finish it. Isn't that a problem? No,
that's not a problem when you make the course free and anybody can just go and take it.
And it's fine.
Coding is not for everybody.
Like I firmly believe any sufficiently motivated person can learn to code, but not everybody is sufficiently motivated.
And that's okay.
And also people – life gets in the way.
People have – especially during a global pandemic that's causing unprecedented
levels of unemployment, people have better things to worry about than learning the code. But I do
think that it's fine. And I realize this might just sound like a big justification, but yeah,
not very many people finish free code camp. Very few people finish free code camp. Part of the
reason is because we keep expanding free code camp and it keeps getting longer and longer.
So far, according to my most recent check of LinkedIn,
like maybe a year ago, more than 40,000 people in our alumni network
who've listed Free Code Camp certifications on their LinkedIn account
have gotten a job after they listed that certification.
They were able to go out and get a developer job.
That's how we kind of define alumni.
Are you pretty rigorous with checking that and confirming that?
What's the motivation for them, for you?
What kind of processes do you have to confirm that?
Not so much that it's true, but to keep it up to date and actually allow them as alumni.
What's the process there?
Yeah, well, the Alumni Association, I mean, technically anybody can join the Alumni Association
by putting a certification on their LinkedIn.
And I assume they wouldn't lie about it because you have to link, you have to link to the actual certification on a free code camp.
And we actually have a button when you earn a certification on free code camp
and we do audit these for academic honesty and make sure people aren't
plagiarizing and stuff. When you earn the certification,
there's a button you can press and it'll kind of pull up like a pre-populated
LinkedIn wizard where you can add that certification to your, uh,
your account. And we have a lot of people in that.
The network is, I think, more than 400,000 people
or something like that.
I'm not sure how many actually have certifications on there,
but a number of them have gotten jobs as software engineers
after they've gotten the certification.
But that number is utterly dwarfed
by the sheer volume of people
who have at one point tried Free Code Camp.
And what I often tell people is like,
it's okay if you stop using Free Code Camp
and you go focus on something else for a while.
If life happens and you stop,
and a lot of people will come back three or four or five,
10 times they'll quit and then they'll restart.
And it doesn't matter if that happens to you,
like you can still restart.
A lot of what you've learned will still be in your brain.
And every time you restart, you're kind of etching it further and further in there.
And you're getting a little bit more intuitive grasp on programming.
The most important thing is that eventually you finish it.
And I think a lot of people will get like so concerned about like, oh, I've got to get a job as soon as possible out of school.
And they lose track of the fact that, like, life is long.
Like, the average American lives about 80 years.
And they could probably, you know, depending on the field,
but definitely as a software engineer,
they could probably have the capacity to work for, like, at least 40 of that.
So you have plenty of productive time.
And there's nothing that says that you have to finish this certification within the year.
So I think a lot of people create these kind of artificial goals that maybe cause them to have too much pressure, and they buckle under the pressure.
But if you're just kind of casually strolling through, oh, I'll finish when I finish, and you haven't made any major lifestyle changes that become like this forcing function, then, you know, it's fine.
Like I tell people we expect it to take years.
And we had somebody a few months ago who was like, yeah, I finally finished.
I got the sixth certification in the original six certifications.
And they'd done it after four years of going through free cocaine.
Well, it seems like you're optimizing for access,
unless not so much the completion doesn't matter.
Like obviously it does, but, you know, just by nature, we talked about this before, the name free. You're optimizing for access unless not so much the completion doesn't matter like obviously it does but you know just by nature we talked about this before the name free you're optimizing for access
i think that's what's important is is less about oh this many of this many have completed but more
like this many of this many in the actual world have access languages i know a big part of this
recent push at least around the data science push, mentioning is the different languages that Free Code Camp is translated into.
So access at a global level than just simply those who have
the financial means to access if it was a paid course, or only
spoke English, for example. This is available in many different places, in many different
languages.
Yeah, and I want to give a shout out to the many, many people who have been helping translate FreecoCamp. One of the reasons it's taken so long to get the translations live is because we just
want to have a repeatable process. We want to have FreecoCamp in French. We want to have FreecoCamp
in Brazilian Portuguese, Swahili. And we're making strides toward that. And now we have like this,
this system that we've put together where essentially people can make language contributions
and whenever those have been approved, then they get pushed in to Git.
And then once there's a critical mass of that certification
is in that language, then we publish it and we push it
out to main and ship it to production.
So we're going to be able to very rapidly
cover a lot of the major world languages
and even some of the more niche languages that just happen to have a particularly
active contributor base
so when you add new curriculum like this new data science stuff
are you adding it in all the languages
that are currently supported on the other areas of Freecode Camp
or do you just start with a couple and then build out from there
what's the game plan?
yeah so we're going to roll out first. This is a question a lot of people have. We never actually get rid of certifications. We just make them legacy certifications and
they're kind of deprecated in that sense. So people who are going through Free Code Camp's
curriculum, if don't stop, just keep going, you'll still be able to earn whatever certification
you're working on. We always roll out the certification projects first.
So there are two types of projects.
There's the practice projects, which are what you use to actually learn how to use the tool,
whether that's D3JS or whether that's NumPy or whatever.
You're going to build a project using that tool to learn how to use that tool.
And then you're going to apply those skills combined with other skills to build some of the certification projects. Each section
has five certification projects. And if you build those five certification projects, it doesn't
matter what else you've done. You don't have to actually do the practice projects. They're just
to help prepare you for those. If you've done those, then you can claim the certification.
So what we traditionally do is we always do the certification projects first, ship those, and then people can use, you know, videos that we have on our YouTube or other, you know, course sites that have, you know, exercises with that tool.
And they can get to the point where they're good enough to be able to build those projects and claim those certifications.
So we'll ship those first.
And we always ship them in English to answer your question first.
And then the community steps in and helps translate that into, you know, other major world languages. In terms of like the distribution of speakers,
Chinese and Spanish are by far the biggest languages on earth, in addition to English,
and then kind of falls from there in terms of, I guess, the install base of the language,
if you will. There are a lot of other major world languages like arabic russian and portuguese that we prioritize and then a lot of people have approached
me about like creating a vietnamese version or creating a uh you know you know like georgian
version because even though a lot of people in georgia speak russian they would rather learn in
their native language and when you're learning in another language even if it's a language you've
spoken a lot it is a lot harder.
And I say that as a non-native English speaker, or I'm sorry,
I am a native English speaker.
I'm not a Chinese, a native Chinese speaker.
And I spent, you know, several years learning in China, in Chinese.
And it's very hard.
I mean, that's gotta be difficult whenever you create videos though, too.
Right.
I mean, when the, I suppose, do you make several versions of the video?
Yes.
And you translate it or you just simply subtitle it?
We get somebody who's a native speaker from that community to create the video.
And we just published a four-hour Python video yesterday by a woman named Estefania, who is in Venezuela.
And she's just a prolific teacher.
She happens to be bilingual English and Spanish,
and she wanted to create a Spanish video on Python. So we have a separate YouTube channel
that's just focused on Spanish. And we have a separate YouTube channel that's just focused on
Mandarin Chinese. And we also, because China has the Great Firewall, we also have,
you know, the videos on a separate website called Bilibili, which is kind of like an anime-themed website, but it became the most popular video-sharing website in China.
Kind of like how Twitch is video game-themed, but it's become a more general-purpose streaming website over the years.
Yeah, interesting.
So, sort of insider baseball on this one, but I'm just curious when they create these alternate versions in different languages, do they take the original and simply just translate it or do they
sort of reteach it with new, I guess, motivation and emotion? Like how does one video when translated
compared to the other in terms of, I suppose, teach the teaching side of it? Are they taught
the same or is it simply just a copy?
Well, you know, language and culture are intertwined in like learning paradigms.
I mean, some countries have different, very different,
like a Swiss education system is very different from like the Norwegian education system.
So there are different like kind of, I guess, conventions
that a teacher might bring
with them when they teach so i just tell them my only direction is like hey teach it how you
would want to learn it like based on your growing up when you were learning this thing so every
video is kind of wholly created in in the vision of the person who created that regardless of what the original English version was and I think over time these kind of different language communities are going to start
to not look like one another very much like for example maybe it's possible
that in China there are a whole lot of Vue.js videos and in courses around Vue
because Vue is much more popular in China and it's possible that like, you know,
like right to left based languages,
maybe they have different courses on design
and things like that,
that kind of tie in those sensibilities.
So I imagine that like Free Code Camp,
one of the things I gave up a long time ago
is the sense of like trying to have
like a central theme or feel.
Yeah, I gave up control.
And one of the things that I did
that was i think very
wise accidentally i'm not saying that i'm like a sage or anything but like it was just impractical
for us to have control over all the different study groups this cambrian explosion of uh is
this the second time i've used the term cambrian explosion during this podcast i'm sorry something
of broken record you know this huge groundswell there There you go. That's a good word.
That's a good one, yeah.
This groundswell of different study groups on Facebook.
We had like 2,000 of them in every little city,
like in the United States and a whole lot of cities abroad.
And it was a fool's errand to try to control those.
And I just said, hey, here are some recommended standards.
Like, you're in control.
You figure out who the toxic people are and eject them from your group if necessary. You figure out
like what you want to do as far as like corporate sponsorship and things like that. Like we're here
in your corner. We want to help facilitate. And so that was a big thing that we did. And it was
a huge success. And of course, unfortunately, the pandemic has wiped out a lot of that. But
you know, we're going to rebuild.
Once there's a critical mass of people who are vaccinated,
we can start having in-person events again.
There are some study groups that are still going
and have just made the jump to online in the meantime.
But if I had been like a command and control type leader,
open source project leader,
I would have probably ended up with like 10 study groups
and they would
all be following this very regimented list of rules. So I think the fewer rules you have,
you want to have basic safeguards in place, but you really should let your contributors
express themselves and give them agency and give them the benefit of the doubt.
This episode of The Change Log is brought to you by Render.
Render is a unified platform to build and run all your apps and websites with free SSL, a global CDN, private networks, and auto-deploys from Git.
They handle everything from simple static sites to complex applications with dozens of microservices.
If you're a developer or a founder that's frustrated with AWS's complexity or Heroku's high costs, you owe it to yourself to use the $100 in free credits they're giving our listeners to give Render a try.
Render is built for modern applications and offers everything you need out of the box. One-click scaling, zero downtime deploys, built-in SSL, private networking,
managed databases, secrets and configuration management,
persistent block storage, and infrastructure as code.
Heroku customers running production and staging workloads
typically see cost reductions of over 50% after switching to Render.
Here's the best part.
We work closely with the team at Render
to ensure you have zero risk.
By giving you $100 in free credits,
plus they're going to assign a world-class engineer
to your account to offer guidance
and answer any questions you have.
When you're ready to transition your infrastructure,
they'll be there to help you with that too.
Automate your cloud hosting with Render
at render.com slash changelog.
Get $100 in free credits to try the Render platform,
plus a world-class engineer assigned to your account
to guide you along the way.
Just send an email to our special email,
changelog at render.com,
to get access to those free credits.
All that begins at render.com slash changelog. So you've been bringing on help to put together this curriculum because you're not, you're
a math fan, but you're not a math instructor.
And even when it comes to coding and programming, like you have working knowledge of these things, but you're not doing much of the curriculum, right?
Quincy, like you are involved in creating it and like maybe strategically doing it, but you call on aid when it comes to the details so that everything is sound.
Is that fair to say?
Absolutely.
And I think one of the big skills I've built up over the past six years of running Free Code Camp, year seven of running it, as Adam pointed out.
Yeah, it's awesome.
Is knowing my limits and knowing when I can realistically be of help and when I'm just going to get in the way trying to help.
So I wear a lot of hats.
For example, a lot of organizations have dedicated fundraisers, people on the team who are basically marketing people who go out and convince rich people to part with their money and give them money or convince, you know, to some extent, like they might run like Wikipedia, for example.
Like they figure out exactly the shade of red that they need to use on their donate $20 to Wikipedia now or we're going to go out of business, you know, banner. And I have tremendous respect for Wikipedia, but I hope that Free Code Camp never
resorts to kind of like scare tactics that a lot of these organizations do resort to because I know
they work, but it just feels intellectually dishonest to me when Free Code Camp is doing okay.
And a big part of the reason we're running this fundraiser is because we want to bring on more people, but we don't want to risk all the people we already have and all the structure we already have in place.
So it's kind of like a planned expansion.
But I wear a lot of hats, so I do all the fundraising myself.
I meet with – whenever we're trying to get a grant, I apply for the grant myself.
I talk to the grant makers myself.
And a lot of people are surprised when they have a meeting,
and it'll be like four or five people from a company, and then it'll just be me on our side.
And so it's kind of fun to be like the lone representative of free cocaine with those
calls. And some people might be like, well, that's reckless. You should have people for that.
But we have scarce donor funds, and I don't want to allocate those donor funds to
hiring a bunch of people from outside of our organization.
I want really just for people within our organization to percolate up and take different roles within the organization.
And I'm okay with learning these new things.
I write.
We don't run any of our articles by a publicist or anything like that.
I write it, and then usually Abby edits it and then
we publish it and we go with it. So as a result of doing that and just like doing the accounting
for free code camp, doing a lot of the budgeting, all that stuff without having like an outside
specialist, I found it is challenging, but wearing a lot of hats is what humans do.
Yeah.
I'm going to read a quote from Robert Heinlein, if that's cool,
because he's like this great science fiction author.
And he has this really profound quote about what he believes that all humans should be able to do.
He says, a human being should be able to change a diaper, plan an invasion, butcher a hog,
con a ship, design a building, write a write a sonnet balance accounts build a wall
set a bone comfort the dying take orders give orders cooperate act alone solve equations
analyze the new problem pitch manure program a computer cook a tasty meal fight efficiently
and die gallantly specialization is for for insects. I love that quote.
Is that right?
I've heard that one before.
As you started getting into it, I was like, you know what?
I've heard this, and especially specializations for insects.
That resonates, and I totally agree with that sentiment.
And you have all these hats on.
You have all these people helping you.
Like you said, your budget is thin.
You have managed to do what I think is an amazing
job of getting support from the community. As you said, you don't do the few large donors game. You
do the many small donors game. Like that's the game that you're playing. And you have something
like 7,000 supporters at this point who have all dedicated, five bucks a month to freeco camp.
Yeah.
7,000 monthly active donors.
Spectacular.
Yeah.
And it adds up.
I mean,
that's enough of a budget to be able to pay for servers and to have some full-time staff.
Yeah.
And it's robust,
right?
Like we're not hanging on the word of some rich donor.
Is he going to have the money to give to us this year or not?
You know,
I think that it's,
it's really healthy to have a really robust kind of grassroots support
network as opposed to just
being dependent on a few people.
And whoever's giving you money, to some extent,
they're your audience, right?
They're the ones that you're kind of
keeping in mind when you're writing
things or determining what you're going to do next.
And if you don't have a whole lot
of big patrons,
if it's mostly just your core community who
you're already trying to help, then the interests are aligned.
You get like 7,000, is that right? 7,000 monthly donators?
Yeah.
Monthly contributors?
That's correct.
Donations wise?
Yeah.
Yeah. I mean, I think what you've done on that front is very wise. And I also think it's very
wise to do a lot of the jobs
because Jared and I both believe this too.
I mean, being in the details about your business
is pretty smart, in my opinion.
And your business is free code camp.
And you could never truly hire well for that position
when it makes sense to hire for it,
unless you've done the job yourself
because you wouldn't know what qualifications were necessary or what the details were,
the gotchas.
Like you can be the Appalachian trail person calling back saying,
Hey,
don't do this or do that because that's a minefield or whatever.
But you know,
I totally believe in being in the details of your business.
That's what makes sense.
I mean,
only if you're trying to move as fast as possible,
does it make sense to hire for people only Only then. Otherwise, enjoy the journey.
Are you enjoying the journey?
Oh yeah.
You're on a podcast, you can't say no and be like, actually this is terrible.
Actually, I don't like this journey.
You know, I've worked at Taco Bell for like several years, just like taking orders and making tacos.
I worked at grocery stores, like pushing them up.
I worked as kind of like a middle manager, like, grocery stores, like pushing them up. Um, I, I worked
as kind of like a middle manager, like, you know, a larger school chain and as school director and,
and as a teacher and like, like I loved being a teacher too, but it was nothing compared to
running an open source community. Yeah. You know, the most mundane aspect of
administering a nonprofit is still much more exciting than making tacos.
There you go.
So for this new push into the world of data science
and machine learning, you are doing a fundraiser
and trying to raise $150,000 starting now.
And you have a fellow by the name of Daryl Silver
who has agreed to 100% match those donations
up to that $150,000.
So tell us that story.
I mean, where did Daryl come from
and why is he so generous with this money?
Well, Daryl, he also has run education-focused startups
and he's exited a couple times.
Most recently, he sold his company
or got acquired um by chegg which is part of a bigger kind of textbook company system i don't
know the exact like hierarchy of of who owns what but uh yeah he he has the means to support free
code campaign he believes in free code. I've known him for years.
We met in New York City at the original Codeland conference that Saron Yiparuk put on back in maybe like 2016, 2017.
It was a while back.
Yeah.
Yeah, and he just, you know, I have a lot of respect for what he did through Thinkful.
And the Odin Project is another project that Thinkful is like patrons
of that open source project as well.
And yeah, he just wanted to see us grow.
And the Odin Project uses Free Code Camp as one of its learning resources as well.
But I think he's fully focused on just doing the next thing.
So he was just like, yeah, let's do this.
We're only out to the blog post that he
wrote, but I liked the first paragraph of what he wrote. I'm going to quote him if you don't mind.
He says, Free Code Camp is a nonprofit unicorn. It delivered 1.3 billion minutes of free coding
education last year, grows 60% every year, and is sustainably run by just 12 full-time staff
and hundreds of volunteers.
That's a smaller team than when Facebook acquired Instagram for $1 billion.
That's his opening paragraph.
Well said.
Yeah.
A nonprofit unicorn.
So for the next, what is it, 30 days?
Of course, we have some production time on this.
So for the next N days, don't wait.
Go check it out right now.
This fundraiser is going to be going on.
And during this time, up to the first $150,000,
Daryl is going to match dollar for dollar, right? So every dollar you put in, it's worth $2.
So that's excellent. Where does the money go? What's it going to exactly?
Yeah. 100% of this money is going to go toward the data science curriculum. So the big cost
is usually people in any organization. And we have
already found a really good instructor who's got like 20 years of experience, you know, teaching
collegiate and high school level. So he's on and we're going to identify a few other instructors
as well who can help, at least in a part-time capacity. A lot of professors work like several
different jobs or like they're adjuncts at one place
and then they write books
and do other things on the side.
We're going to try to find a good,
solid collection of people who already know
what Free Code Camp is and have been
a part of the community.
We're not going to try to bring in
total outsider,
star math professor.
We don't really care about that.
What we care about is people who are passionate about teaching
and people who have a lot of experience teaching.
So let's assume you get the $300,000
and you put it towards the curriculum.
When's the curriculum coming out?
What can we expect?
I mean, probably there's some work ahead,
but do you have deadlines and ETAs?
Yeah, that's a great question.
Any promises you'd like to make?
We don't use deadlines internally at all, period.
And that's like kind of a radical thing that people are like,
oh, that's very contrarian of you, Quincy.
Why don't you use deadlines?
How do you get things done?
But things get done regardless of whether you put a deadline on them.
And I've found that things are generally done better
if they're not up against this time pressure that results in compromises.
Now, I can understand, certainly, the use of deadlines.
We happen to have a really motivated team who just gets things done and is very communicative of the state of those things.
So we also work in massive parallel.
I like to call ourselves the massively parallel organization in the sense that we have so many different threads and nobody's getting blocked by anybody else.
If you can take work and you can make it discreet enough and put it on its own thread, then you don't have people blocking one another and you reduce the communication overhead and like, oh, that got done over there.
Like, great.
But I wasn't waiting on it.
It's just I'm delighted that that's done.
Oh, that happened.
That happened.
That happened. but I wasn't waiting on it. It's just, I'm delighted that that's done. Oh, that happened, that happened, that happened, you know?
So that's a big part of our organizational philosophy
is trying to figure out ways that we can design the work
and spec it out to where nobody else is waiting
on this work to be done.
And then it can just chip one over.
And I suspect for the data science curriculum,
we've already done a tremendous amount of planning around that.
And you can actually browse through a lot of the sheets
that we've created that kind
of break down all the concepts that we hope to teach.
And those are going to continue to evolve.
And those are public.
Anybody can go and view in Google Docs.
So they can see like the state of those different sheets and how we're, you know, planning different
things.
And there's a form that like if you're a math professor, if you're a computer science
professor, or if you're a practitioner in machine learning or some other form of like data engineering or something like that, fill out that form.
Send us feedback on the curriculum.
We might, you know, discover a new textbook that we can look at for inspiration, something like that.
And we might be able to help us steer the curriculum more in the direction of what you would like to see taught.
But there's a very good quote about deadlines shigeru miyamoto the creator of like zelda and mario brothers super mario brothers he says
a rush game will be forever bad a delayed game will eventually be good and i think if you look
at like cyberpunk 2077 it's very much a victim of that kind of like overly ambitious deadline and the whole you know culture of crunch
that you encounter in a lot of fields of software development uh can be tied back to
unrealistic deadlines that people who don't have any business setting the deadline like i'm not a
domain expertise in data science i'm not a domain expertise an expert in math. But I understand that it's this big abstract topic
and that if I ask somebody who does have domain expertise in that,
like how long they think it will take to teach this concept
or how long they think it will take to exhaustively cover this concept
or this field of study,
they can probably come up with a reasonable estimate of that.
So I think the world would be much better if managers listened to engineers
rather than dictated downward on engineers.
Now, I'm sure there are lots of managers who do do that,
and a lot of projects are successfully shipped on deadline
or even ahead of deadline.
But I do think that having a deadline results in compromises
that are not necessary if you plan things out a little bit
better you still have those expectations for this though you have a roadmap you at least have
you've broken it down into three stages you know when the two stages will be done in roughly two
years you have at least expectation if not some variation it's not a deadline it's more like
expect it in two years maybe with the maybe part is the cool
part you know like in two years maybe maybe yeah no promises i'm optimistic that we'll be able to
ship parts of this curriculum this year in 2021 uh and the reason why is because again we're going
to start with specific deliverables that people need the most right people need to be able to
build the certification projects
in order to claim the certifications.
They can learn, you know, data science and machine learning and math
from a lot of different sources.
You know, there are excellent MOOCs out there that they can take.
There are good textbooks that they can pick up,
online courses that they can buy, YouTube channels,
and, you know, podcasts and stuff they can listen to to learn all these topics.
But in order to be able to actually earn the certifications and have that as problem sets,
that's like a huge thing that Free Code Camp gives is it gives like a standardized problem that a lot of people have to solve.
And everybody builds that same project and gets all those test suites to pass.
And then they can turn around and help one another.
And it creates a discussion, right?
That's like kind of square one for actually having a learning experience is having some sort
of evaluation criteria and by the way we have videos on most of these topics already on free
on your youtube yeah so we can slice those up into like atomic little bits and we can add some
comprehension check questions and that's basically what we did with our python curriculum so far
is just use video and And video is good.
And text is good, too.
But there's no beating interactive.
Interactive is hands down the ultimate way to ensure that people really understand the subject matter and are able to grapple with it and retain it.
Well, if we haven't given our audience an exact why yet in the show, I think we've given them, we've meandered to a possible why.
But let's end with a good why.
Why help fund this mission?
I think you've laid out the rough budget is around $300,000.
You have a benefactor giving, which we've discussed, $150,000 of match.
So what's the why?
Why should our audience care?
Why should our audience consider donating their hard dollars to this cause?
Why?
We're going to put into existence a well-structured, well-thought-out,
vertically integrated.
Okay, I'm using a lot of buzzwords.
I apologize.
I like it.
But that's an important distinction.
Like you can start at the beginning
and you can go all the way through to the end
and you'll have a very good idea.
It's not like hopping from course to course
where like, oh, they didn't talk about this in this course.
I have to go find another course to teach that.
You know, or like, oh, they already did this. Like,. I have to go find another course to teach that. Or like, oh, they already did this.
Do I have to spend 20 minutes reviewing this topic that I just finished?
That's what happens when you try to plug a bunch of incompatible courses
together into your own curriculum.
And plenty of people do that.
I did that when I was learning to code.
But I think a cohesive linear curriculum is very valuable from that perspective.
You're going to get a powerful mathematical curriculum that teaches you basically all
the math you would have learned as an undergraduate engineering student, except we're going to
teach it using primarily Python.
So instead of learning it with like a graphing calculator and pen and paper, you're just
going to be coding Python the whole time.
And by doing that, you're going to actually be doing the work the way that people in the
field do it, which is in a Jupyter notebook with the power of a scripting language instead
of just, you know, kind of the old fashioned way that it's been done for thousands of years.
Second, this is going to be completely free.
And that means that you can use it.
Your kids can use it.
Your neighbors can use it. People around the world, many of whom, as we established, don't have credit cards, 60% of whom live off less than $10 a day. They can use it. So you're kind of giving this gift to humanity. share alike. There are no Creative Commons 4.0. BYSA is the
specific license if you want to look it up.
But it's extremely permissive. There are no commercial
restrictions. You can start a school
and you can use this
curriculum as part of
your own curriculum.
There's no restrictions on that. People can
build businesses around free code camp if they want to.
And we're happy.
We're happy to provide that input we're happy to stimulate you know that that economy and hopefully uh help for
local businesses to be able to exist in that capacity we're not going to ask for anything
in return and and everything of course is also permissively licensed under the bsd3
license all the software right so as open as you can get and And yeah, so just think of it as like you're giving to a commons, essentially.
You're giving us money, and we know how to use that money to take what I consider to be a very small amount of money.
If you look at the budget of Khan Academy, which is a great organization that does great work.
But their budget's, I think, more than 100 times larger than ours.
This is like a very impactful donation that you can make and we're going to
make efficient use of it.
You know, a small amount or a nominal amount,
it doesn't have to be a tremendous amount.
You know, it doesn't have to be thousands of dollars.
For example,
it can be a very small amount to get to the $150,000 plus the 150 match to get
to your 300 K to build out this curriculum
that is going to do this great commons for the world.
You know, Quincy, we love you.
We appreciate what you do for the world.
We appreciate your nonprofit unicorn, as he had said.
We appreciate that about you.
We think you have a great heart and that's why we have you back on the show.
We love your mission.
And to our audience, we hope you love it too.
Check out what he's doing.
And thanks, Quincy.
Thank you very much, Jared, Adam, for having me.
And thanks for continuing to run the changelog.
It's awesome.
Thank you.
As you mentioned on the show, check the links for show notes to help out Quincy and the
Free Code Camp community.
We love Quincy.
We love the Free Code Camp community.
We love what they're doing for the world.
So do what you can to support them.
Again, links are in the show notes.
If you haven't heard yet, we have a membership.
It's called ChangeLog++, because, hey, why not increment things?
It is better, as they say.
You can subscribe at changelog.com slash plus plus, get closer to the metal, make the ads disappear, and, of course, support all of our podcasts.
Again, changelog.com slash plus plus.
And, of course, huge thanks to our partners Linode, Fastly, and LaunchDarkly.
Also, thanks to Breakmaster Cylinder for making all of our awesome beats.
And, of course, thanks to you for listening.
We appreciate your attention.
We appreciate you listening.
And one more step you can take is to join the community.
Changelog.com slash community. It's free to join. Come hang with us in Slack. Call this place your home. changelog.com slash community. That's it for this week. We'll see you next week. Game on.