Ten years of freeCodeCamp
At the tail end of 2019, we got together with Quincy Larson to celebrate ten years of Changelog & five years of freeCodeCamp by recording back-to-back episodes on each other’s pods. Can you believe it’s now five years later and we’re all still here doing our thing?! Let’s learn what Quincy and the amazing community at freeCodeCamp have been up to!
Matched from the episode's transcript 👇
Quincy Larson: Yeah, so I would still encourage people to start with web. And the reason why is about half of all developer jobs are web-focused… You hear about mobile app development, and really that is just a mobile app skin on top of a bunch of APIs that are running on the web, and stuff like that. You hear about a lot of machine learning, and things like that. And it’s true that machine learning is distinct from web development. I could talk about the big changes we’re making to the curriculum… But I would say that the skills that you learn, like data structures, algorithms - everything you learn while you’re learning to be a full stack web developer, virtually all of that is transferable. Almost everybody’s going to need to create some sort of website, or some sort of mobile app, or some sort of integration with an existing platform through an API, that serves whatever it is that they’re creating… Whether they’re creating data science insights. Most data scientists have to deal with data visualization. They have to figure out how to get what’s in their Jupyter Notebook or wherever it is they’re crunching the numbers, they need to figure out how to get that in a place where people who are making decisions based on those data can consume them, and understand them.
So web does touch pretty much everything, and that’s why I recommend starting with that. A lot of people would say “Start with systems engineering. Software systems engineering.” And learning how C works, because everything is built on top of C, and doing the classic computer science degree program work of building your own compiler, building your own operating system, building maybe your own search engine, maybe building your own LLM… Doing all those things. And then a lot of people would say you should just focus on machine learning, because that’s the future. Everybody’s going to be telling the machine in English what to do. And I’ve written a lot about this in my book, and I do believe that in the future programming will consist of talking in natural language, highly structured natural language, to a computer, the way that people on Star Trek talk to the computer and the computer builds things on the holodeck, and those things like that. But that still requires knowledge of the different layers of abstraction below. And in order to effectively get things done with technology, to some extent you do want to understand how that technology works. And I think a lot of people do have a decent understanding of how RAM works, how motherboards work, how hard drives work, how buses work… A lot of the actual computer engineering stuff that software is operating on top of. And we can certainly get a much more higher resolution understanding of that by looking at the underlying operating system kernel, and things like that.
I will tell you what the freeCodeCamp curriculum is doing… But in general, I do recommend – if you’re not sure where to start, start in web. And then work out from there. And don’t feel like “Oh, websites are – nobody uses websites anymore.” That’s just the tip of the iceberg of what web development is. Gaming… Any sort of field where you’re essentially writing software, there’s going to be some component that travels over the internet. And so a lot of those principles. So without belaboring that point any further, I will tell you where the freeCodeCamp curriculum is heading.