Quincy Larson: Why Learning To Code as an Adult Might Be Easier Than You Think
Quincy Larson (00:01):
Adults can actually learn way more efficiently and effectively than kids can, because they've got this big existing associative network. My thinking is, the older I get, the more efficient I get at learning.
Alex Booker (00:11):
Hello and welcome to the Scrimba Podcast. On this weekly show, I speak with successful developers about their advice on learning to code and getting your first junior developer job. I'm Alex, and today I'm joined by the founder of freeCodeCamp, Quincy Larson. Quincy was a school director before learning to code and founding freeCodeCamp, a nonprofit company which makes coding accessible for all. But of course, you already knew that. How does the person who made the website where everyone else learns to code, learn to code himself? In this episode, we are going to find out. As you might appreciate, new developers today have some fantastic resources available, resources like freeCodeCamp, resources like Scrimba. Fantastic, because they make sure you're learning the right things, make sure you're learning them well, and might even offer you a bit of fun and a social element, which keeps you on track with your goals for longer as well.
(01:10):
Even though Quincy learn to code in a slightly different time, many years ago, I have to say it's remarkable how much of his experience and advice as a teacher turned developer remains fundamentally relevant today. Because we're talking about a world before all these communities and Edutech platforms, we really get to the essence of what you need to know to stay on track with your coding goals, internalize what you're learning and become successful, whatever that means to you. You are in for an absolute treat in today's episode. Since Quincy is such a senior teacher, and a founder, and someone so ingrained in this space, I felt like I could ask him some really hard questions that I really wanted to know the answers to. As always, you are listening to be Scrimba Podcast, let's get into it.
Quincy Larson (01:55):
I didn't start coding until I was 31 years old, in an extremely circuitous ambiguous way. I definitely felt like I was pawing my way through fog. I was a school director and I just wanted to make our school more efficient, so I tried to learn a little bit, get dangerous enough with a few tools like Excel Macros, and this tool called AutoHotkey, where you can programmatically click on different government forms. So, I was able to figure out ways to automate a lot of the compliance aspects of running a school with international students, Visas and things like that, and free our teachers up so they could spend more time with students and less time doing back office workflows.
(02:34):
I had this friend who I met at the Santa Barbara hacker space, I was running a school in Santa Barbara at the time, and he was just hardcore Linux purist, and he turned me on to E-MAX, and having a server, and SSHing into a more powerful computer from... We would just use these cheap netbooks, and because it was Linux on both sides it wasn't that big of a transition from your command line to doing stuff on that bigger, more powerful computer. He would mine Bitcoin back in 2012, 2011.
Alex Booker (03:03):
Oh wow. That could be a rich man by now.
Quincy Larson (03:05):
Unfortunately, I don't think he hung onto much of it, because I mean, you never know when the peak is going to be. Anyway, I just learned a tremendous amount from this guy. His name is Steve, and he told me, "You should learn Python." So, I spent a ton of time doing project oiler problems using Python. Stanford had a JavaScript course that I took. I took the Stanford Relational Database course, and then I took a bunch of other courses and tutorials. I did the Michael Hartl Rails tutorial, and I got a job. My first job as a developer was doing Rails development. So, I used Python the hard way, I used that O'Reilly Head First, HTML, O'Reilly Head First Networks. I learned a ton about security just from hanging out with the old school cipher punks that have the version of Linux that wipes everything every time you shut the computer.
Alex Booker (03:52):
You can't underrate that, hanging out with other developers and the sorts of serendipitous things you run into, that might just not come up in your current curriculum, whatever that might be.
Quincy Larson (04:01):
Absolutely. I tell people to do two things when they're learning to code, and this doesn't matter what tools you're using. I mean, you could just be using library books, which I use library books too. Try to code at least a little every day, and hang out with other people who code. Hanging out with other people who code is so important, because you also feel that sense of belonging, and that affinity for other people. You know that they had to struggle through understanding how Linux flags on commands work. They had to wrap their head around how version control systems work, and all these other concepts. Hanging out with other people, so valuable. I know it's been harder since the pandemic, but if you can get into a room with other people who are learning the code, whether that's through a local computer club or going to hackathons, anything you can do to get with other people you're going to learn a lot. More importantly, you're going to feel that moral support and that motivation.
Alex Booker (04:51):
The thing that's really remarkable about tech I think, that I don't think is so true in other industries and careers per conversations with my friends and people I meet, is just this willingness to pay it forward and to help others. I think part of it comes from just being cool and wanting to help out. But also coders love to talk about the things they're excited about, and to some experienced developers there's nothing more exciting than the blank canvas who will listen to you geek out about command line flags again.
Quincy Larson (05:17):
Yeah. Absolutely. I think it goes back to the hacker ethic. There's this book, I can't remember the name, but it was written by this famous journalist who's written for The Wall Street Journal and a bunch of other publications. He wrote a book about Google. He wrote a good book about Apple. He went and hung out with all the different Linux user groups, and all the different security focused people. He just was basically a fly on the wall, and they had the Whole Earth catalog, the information wants to be free. It also wants to be expensive. That speech that comes from this book, it was memorialized in that book.
Alex Booker (05:52):
Is it called, Hackers: Heroes of the Computer Revelation by Steven Levy?
Quincy Larson (05:56):
Yes.
Alex Booker (05:56):
We'll link it in the show notes, Quincy.
Quincy Larson (05:58):
Steven Levy. Perfect. Thank you. Yes, that is an excellent book. It's 30, 40 years old. Really good though. I think that if you read that, you'll get it. Why are people so serious about free software? Code is infinitely reproducible. Why hoard the code? Why compete when the entire world is trying to push everything to the software layer, and the pie is getting so huge that you don't really have to be looking over at your neighbor and thinking, oh, this person's going to eat my lunch if I don't hustle? It's not like real estate where there's a finite amount of land or something like that. It's not an adversarial field. I mean obviously information security is adversarial in nature, but most areas you're just trying to make things more efficient, and that generates more economic activity, and ultimately more people can get into the field. So, I would attribute a lot of the collaborative nature to that ethos, the hacker ethic.
Alex Booker (06:47):
I never really thought about that to be honest, and the fact that this book is pushing 40 years old and still is relevant today, I think proves how baked into computer software things like free and open source are collaboration. I mean, everything we do as developers, we might be sitting alone writing the code, but we are always building on top of the shoulders of giants.
Quincy Larson (07:07):
That's a huge part of the humility that you need to have as a software developer. You might be writing some code, but it incorporates libraries. It incorporates frameworks. It incorporates kernels that have been written by other people. You are a princess sitting on a giant pile of mattresses, and if there's a pea somewhere down there, it's going to affect every single layer and it's going to percolate up and you're going to be like, "Ah. I need to fix this." The great news is because most of these tools are open sourced, you can jump off that pile of mattresses and you can start fishing around under it and you can find that pea and remove it. That's what open source is all about. Going back and contributing to the tools that help you get where you are.
Alex Booker (07:43):
Going back to this idea that you learned to code about freeCodeCamp a while ago, and I think you mentioned you were in your thirties, I can't help, but think there must have been more uncertainty back then. A lot of people today in their thirties are wondering, am I too old to code, or can I do it? Thankfully, hopefully they come across inspiring success stories from freeCodeCamp, Scrimba or other parts of the web, and that assures them that it can be done. Was there any assurances that you could be successful at this? Because there were surely less stories to look at and people's footsteps to follow.
Quincy Larson (08:16):
I did have a friend, she was a teacher. I think she was teaching Latin or something at a high school, and she was 55 and she just started doing Coursera. There's this big two part algorithm online course that she took through Stanford, and she took a bunch of other stuff and she was able to get through the coding interview and she got a job as a software engineer at Apple. For a 55 year old woman to get a job as a software engineer in Apple, after just teaching basically, that's pretty... Okay. I think me, as a white male, who's only 31, I don't think it's that big of a deal. People ask me all the time, it's one of the most common questions I get. It's like, "Oh, I'm 26." Or sometimes people will approach me when they're 17 or 18, and they'll be like, "Oh, all the other kids at school have been coding for years. I don't even know how to do HTML and CSS."
(09:02):
I just tell them, "Look. With a year or two of consistent effort, you can get close to where they are." It's the 80/20 rule at work. You learn approximately 20% of the stuff you need to learn out there, and you can do 80% of the stuff that people that have maybe close to 100% of the skills would be able to do. You just need to learn a few key things and that will give you what you need to get your foot in the door at a company. Then the real learning starts once you get a job and you're working on a team, and actually maintaining a large legacy code base and things like that. But I speak from a position of relative privilege. I had saved up a lot of money for a teacher and a school director.
(09:37):
I'd saved basically half of everything I'd earned for 10 years, so I had this nest egg. It was only 150,000 US dollars, but that's a lot of money. Ultimately, I was like, okay. I'm just going to use some of this while I'm learning to code. Within nine months I was able to get a job as a software developer. My wife still had benefits through her company, so there was never any real risk. Again, not everybody's in a position where they can just drop everything and go to hackathons every weekend like I did. That's one of the reasons we developed freeCodeCamp, is an acknowledgement that like, hey, I did it in nine months working full time, but for most people it's probably going to take closer to 18 months, maybe two years and they're going to be doing it 30 minutes a day, and then maybe three or four hours a day on the weekend.
(10:18):
That way they don't have to incur the risk of leaving their job. In the US, it's a very real risk that you're going to have some sort of health complication if you don't have health insurance. You want to make sure you always have health insurance just in case something happens. So, it's particularly precarious here. But everybody's situation is different. Some people are taking care of a parent who has a disability, or they've got kids, or they just themselves have some form of disability or mental health issue that prevents them from being able to sit down and just crank through tons of learning resources. So, everybody's going to take a different amount of time, which is one of the reasons freeCodeCamp is completely self-paced. We focus a lot on accessibility, making sure you can do it with a screen reader, making sure everything works offline, that you can run things locally just to adapt to people's circumstances. Because I was that 1% of people that could actually just drop their job and do that, most people are not in those situations.
Alex Booker (11:09):
I guess, as a teacher you were probably pretty well equipped to teach yourself coding.
Quincy Larson (11:14):
Yeah. Well, I knew a lot about how people learn from helping adult learners, especially specifically adults. I don't have teaching kids experience. Almost everybody I taught was engineers from Brazil, doctors, physicians from India, physicians from Saudi Arabia. Obviously India, they speak English natively so not very many of my students were from there.
Alex Booker (11:32):
By the way, when you say adults, what kind of age are you talking about?
Quincy Larson (11:35):
People in their twenties and sometimes in their thirties and forties. People who were coming over to the US and needed to get a graduate degree, and they could attend our program and do that in lieu of taking standardized tests. So, that was appealing for people that didn't want to cram for the TOEFL or the IFL course, they could take this intensive English program and then transfer into the university that way.
Alex Booker (11:56):
What were some of the study techniques and approaches that really helped adult learners that you applied when you learned to code?
Quincy Larson (12:02):
Learning by doing was the big thing. It's one thing to sit around and read English books, and there's certainly a lot of value in just reading a whole lot. There's a whole lot of value primarily in doing, and actually going and talking to native speakers in that language. For programming that means sitting down and actually trying to write programs and getting the computer to do what you want, running commands in the command line and not getting error messages. Interactivity is the most effective way to learn. In fact, I think in the future, we'll just have virtual... It'll be like the matrix where you just close your eyes and you'll spend a simulated 1,000 hours flying helicopters and things like that, and learning, oh, I've got to slow down here. I've got to come into this angle to land. All those different things you're going to learn experientially to where it's intuitive.
(12:47):
If you ever learned to juggle a soccer ball or to play a musical instrument, or to speak a world language, a lot of it is just muscle memory and you can't even necessarily articulate how you're able to do it. You can just do it. In programming, there is an intuitive aspect to it. You can learn all the theory behind it, and it's just with the learners of English. They had done all the theory in high school and they understood what [inaudible 00:13:08] was and they understood what infinitive was, and subjunctive, and all these different concepts that you might need to know to really understand the grammar of English. But here in America, we speak English with a reasonable degree of proficiency, at least those of us who grew up here. Most of us couldn't necessarily diagram a sentence. It's just intuitive. The way you develop intuition is doing it, not reading, not watching video courses necessarily. We develop a whole lot of video courses on freeCodeCamp YouTube channel, but our hope is that people will clone the GitHub repo and build the project and code along at home with the video course.
Alex Booker (13:43):
Coming up on the Scrimba Podcast, can an old dog learn new tricks?
Quincy Larson (13:49):
Absolutely.
Alex Booker (13:49):
I will return with Quincy, founder of freeCodeCamp in just a minute. But first, Jan the producer and I have a favor to ask of you, dear listener.
Jan Arsenovic (13:58):
That's right. We hope you're enjoying the show, and if you are, good news. The best way to support a podcast you like is free. All it takes is a bit of word of mouth. So, if you find this episode motivating, insightful, useful, or entertaining, we'd be really thankful if you shared it with someone, be it on socials or in person, or maybe on Discord. You can also subscribe to the podcast wherever you get your podcasts, or maybe even leave us a review on Spotify or Apple Podcasts. Here on the Scrimba Podcast we interview industry experts like Quincy, but also recently hired junior developers, so you can learn from them both. We also love stories about career change. Recently, we had quite a few. There was Theo, who used to be a teacher. There was Sylvia who worked at a pharma company. There was Stevie, who was a scientist and a writer before he pursued development. Next week on the show, we're talking to a pastor turned developer, Chris McCoy.
Chris McCoy (14:57):
I messed around with coding a little bit in high school for three or four months. I was trying to do stuff, and then I didn't touch it again until I was 33. Since I'm also a pastor, that's a part-time job, I've been doing other stuff along with it. I've done everything, worked retail, I've mowed grass. I've done lots of other things, some handyman work. Most recently, I was doing food delivery and DoorDash and Uber Eats and Instacart and that sort of thing. I just got really tired of it. I was like, there has to be something that can engage my brain. Something that can be a little better, something that's a little more fun.
Jan Arsenovic (15:34):
That is next week on the Scrimba Podcast. Now, back to the interview with Quincy.
Alex Booker (15:41):
We have this almost joker on Scrimba, that you wouldn't expect to get better at playing tennis by watching Roger Federer. You might learn a trick or two, or be inspired, but at the end of the day you need to get your hands on the racket and practice, practice, practice, racking those hours and build your muscle memory in that case. But intuition's another great word for it. I think it might be a human nature thing. Maybe it comes from school, maybe it comes from video games. We expect everything to be very linear and observable. Like you go from level one to level two, and you can feel good about that because you know you're progressing.
(16:11):
But I think coding is almost elusive in some way, because you'll certainly be making progress and you might find yourself graduating to watch the next module in Scrimba, or move on to another certificate on freeCodeCamp, you don't necessarily feel like you're internalizing everything. You don't necessarily put those skills to use right away. But over time it just clicks and you put your head up, you take your fingers off the keyboard and you're like, ah, I know what to do. There was nothing linear about it. You just find you arrive one day and for all the overthinking you might have done up until that point, wondering if you can do it, wondering whether you're on track, you just had to trust the process a little bit, right?
Quincy Larson (16:46):
Absolutely. Programming though, does offer plenty of opportunities to get humbled, even when you think like, oh, I'm well beyond having to struggle with this type of problem. But, oh actually, maybe I don't understand it as well as I thought I did. What I often tell people is programming specifically, you need to be a very humble circumspect person, because by definition you're always working on new problems that you haven't solved before, because code is infinitely reproducible. If you'd already solved a problem, you could just reuse your solution from the previous one. So, you're always pushing the frontier of your knowledge a little bit farther and having to learn new things and try new things. So, as a result, you always feel like you're learning. Being a software engineer, your core job description is not coding, its learning.
Alex Booker (17:29):
Are you of the opinion that learning by doing essentially, kinesthetic learning I guess it's called, is specifically good for adult learners?
Quincy Larson (17:36):
If you think about the adult brain, and when I say adults, I'm really thinking people that are 25, because that's when a lot of people in neuroscience, by about age 25, you're you, and your brain is fully formed. Let's say you're 25. You've probably already spent a lot of time walking. You've probably spent a lot of typing and looking at things and recognizing them, all those different faculties are probably pretty developed. You could say that you're in your prime, so to speak. I do think that at that point you can learn by doing in a way that perhaps a child wouldn't necessarily be able to do. For example, I'm teaching my son, who's four years old, I'm teaching him reading. Every night we spend about an hour reading books and practicing spelling and things like that. For him, it's really difficult to even read a book. I believe that there are some prerequisites for being able to learn programming.
(18:29):
One of them being command of at least one world language, the ability to think critically and reason and be able to hold pictures in your head and hold concepts in your head, and all these things that you develop just during the first few years of your life. So, I wouldn't go so far as to say, oh yeah, kids can learn the same way as adults, because I don't know that they necessarily can. But again, I just want to emphasize, I'm speaking way out of my area of expertise. My expertise is in adult learners.
Alex Booker (18:57):
Well, the thing is, when you are a kid, it is a pre-accepted fact for you, you absorb things like a sponge. For example, I happen to speak Welsh, but I don't ever remember learning it. I was just in school in Wales and I just ended up absorbing it essentially. I know that obviously when you're in school, you're bombarded with a bunch of different subjects. Admittedly, you might go deeper as an adult, but you tend to specialize a bit more as things go on. So, I personally think it's true that as a kid, your brain's more absorbent and malleable and that's probably true in your teenage years as well, to some extent. Simultaneously, and I think this is more subjective, as adults, and especially people 30, 40, getting to that sort of age, you start to wonder, can an old dog learn new tricks kind of thing? Is my brain as malleable as it used to be? Can you actually learn a new skill like programming? What do you think?
Quincy Larson (19:44):
Oh yeah. I look back at when I was a kid and I didn't grow up in a multilingual household or anything. I had to learn Chinese. I lived in China for six years and I went to an intensive Mandarin program. Then I did grad school in Chinese, and ran some interpreting for visiting business people, giving factory tours and stuff like that. I had to learn Chinese as an adult. I think a kid learns different ways, but adults can actually learn way more efficiently and effectively than kids can, because they've got this big existing associative network in their mind. They've spent 25 years learning various facts and learning various places and learning various faces and names, and because adults have this lived experience, they can visualize and associate like, oh, okay. This loop is like a subway and it's always going around and it's making these certain stops. If somebody gets on here, then they're going to be on until they get off.
(20:36):
Different concepts in your mind, you just have this way of thinking. As a result, I didn't have the discipline to learn to play musical instruments when I was a kid. But since the pandemic has started, I spent a great deal of time learning music theory and learning how to play several different instruments. My thinking is, the older I get, the more efficient I get at learning. I learned programming when I was 31, and I started learning Spanish maybe a few years ago, and I feel pretty confident that I can read things that people are sharing. One of the things I do every day is I go through every single Tweet that mentions freeCodeCamp, and I'll take a look at it and see what people are talking about. I have this bot that sends me a message anytime somebody mentions freeCodeCamp on Reddit. It takes maybe an hour a day, but I just go through and read what everybody's saying. Sometimes I'll be able to answer questions or help redirect people to support or just give them moral support and things like that.
Alex Booker (21:26):
That's a lot of notifications by the way.
Quincy Larson (21:27):
Yeah, it is. I mean, it's hundreds, but it's worth it because I learn so much. One of the cool things I can do is whenever I see a Tweet in Chinese, or whenever I see a Tweet in Spanish or something like that, I take that as an opportunity to read it in its native language, as opposed to just quickly doing the Google translate. So, it's fun because I can practice my foreign language skills as I'm reading through there.
Alex Booker (21:47):
Analogies are so great for teaching as well because you are attaching to some existing knowledge, but just reframing it a little bit. Like a kid wouldn't have that existing knowledge with which to understand the analogy in the first place. But the older you get, the more domains you understand, the more opportunities there are to learn that way and parlay your knowledge.
Quincy Larson (22:04):
Absolutely. Yeah. Just your brain is an associative machine. The way that it stores things and the way that it accesses things and the way that it interprets and processes the surrounding world is through association. The more books you read, the more experiences you have, the more people you meet, that all feeds into this big machine. If anything, personally, my learning has accelerated. Now, worth pointing out that I'm getting eight hours of sleep every day, and I've got a very balanced diet and exercise every day. I don't have to take any medicine. I have to take vitamin D pills because I don't go out in the sun without SPF 100, just because I'm paranoid about getting skin cancer and stuff. But other than that, I don't really have anything stopping me. I just wake up and I feel like ready to go do stuff.
(22:50):
I also get to recapitulate what I've learned every day when I hang out with my kids, and teach them about the world. So, I'm in this very privileged position again. But I definitely feel that my learning is accelerating, and I try not to shrink from any new opportunity to learn things. Whether that's learning new world languages or music, or also just different business processes, learning about accounting and finance and all those different topics that you need as a manager, and going in and learning more. Learning about geography. I use this website satara.com and I learned all 193 United Nations countries. What they look like, where they are on the map, and then I can just go through and find them on the map real quick. It takes about 17 or 18 minutes for me to do that. But I can do it. I know all the countries and then even going into the different states of India, the states of Nigeria, just learning maps and things like that.
(23:42):
It's fun. It's like a dumb human trick of if somebody mentions they're from this province and I could be, oh, okay, that's in the Southwest. Also, whenever I meet somebody and they're from a place that I haven't heard of, I read the Wikipedia article, there's this great YouTube channel called Geography Now. They've got a video on every single country in the world, and you can learn. I met someone from Senegal the other day, so I went and watched the Geography Now on Senegal. I think a big part of continuing to develop as a human being and reach your full potential, is just keeping up that momentum. Not saying, I'm just going to veg and I don't drink alcohol or anything like that. I think alcohol is one of the worst things you can do to your memory and to your learning. It puts parts of your brain to sleep. It doesn't necessarily kill brain cells.
Alex Booker (24:25):
It affects your sleep, and if you don't sleep and rest, you can't syndicate knowledge. That has a knock on effect for sure.
Quincy Larson (24:31):
Yeah. So, basically, everything I do is geared around how can I learn faster? How can I be more knowledgeable? Toward the end of my life I want to be that old elder person in the community that people can approach, and who has seen some of these patterns before and can recognize like, oh, this is likely to happen based on this.
Alex Booker (24:49):
Here's the thing, Quincy. I think it's fair to say you're a master teacher. It sounds like you're on your way to becoming a master learner as well. This is obviously something about which you're very passionate, but that is your personality, right? I think that's awesome obviously. It's actually quite similar to my personality by the way. I'm ever curious, always learning. I quite like the idea myself of being the wise elder at some point. But I also recognize, and this is something I've maybe made a mistake with in the past is, I assume people are a bit like me in that respect and they're going to approach learning with the same tenacity. When actually a lot of new developers I meet, they just don't care as much. It comes back to this idea of coding and passion, and do you have to be a passionate coder?
(25:29):
The truth is to achieve a job which pays you materially more amounts, that can change your life and maybe affect your schedule, allow you to play with your kids more, or spend more time doing the things you want, you ultimately have to solve a problem for an employer and build these practical skills. I'm curious to hear your take. I know that you are extremely passionate about learning, but what would you say to someone who's maybe listening to you thinking, oh, I don't know, Quincy, that does not sound like me at all?
Quincy Larson (25:53):
See if you can cultivate curiosity and empathy and all those other virtues that have been installed, in most cultures I think historically, but it's totally fine to just want to be able to be productive and put in good work, and get paid and go pursue your other interests. If you're really interested in travel or if you're really interested in just making sure that your kids have plenty of food to eat, or buying a home for your parents, whatever it is that your goal is, programming can be a means to an end. The main thing with programming is because it's so powerful, I do think it's important that people are ethical in that they do think about what they're doing. Nobody wants to be creating something that is a net negative for society just to get a paycheck. So, I'd say as long as you feel that you're a good person and you have good intentions, and that you do care about other people, and you're not just like some narcissistic sociopathic person that just wants to maximize their own utility to everyone else's detriment, please become a developer.
(26:51):
Those other people, you can go into law or something. But I do think that because the field is so anchored around learning, you should be a naturally curious person. I don't know if you're going to necessarily be able to hang in there if you're the kind of person that just checks out on Friday night, watches some Netflix and doesn't really do much, because again, I hope this doesn't sound harsh or dismissive or anything. But this is a field for people who do care, and who do want to wield this power that is the ability to bend machines to their will. At the end of the day, that's what you're doing. You're telling a machine what to do, and machines will do whatever you tell them to do. You can do a lot of damage if you're not a good person. So, only [inaudible 00:27:35] people please.
Alex Booker (27:35):
Do you think that anyone can learn to code and be a successful developer?
Quincy Larson (27:39):
Any sufficiently motivated person can learn to code.
Alex Booker (27:42):
I like that.
Quincy Larson (27:42):
I mean, I've seen people overcome all kinds of significant disabilities, like blindness being a very substantial one, for example. Yet there are many developers who are completely blind, who work in the field. You can overcome a lot. There are things that I don't think you can necessarily overcome. I've never met a developer, for example, who had substantial chromosomal disorders like down syndrome or anything like that. So, I don't want to pretend like, oh, it's okay that you have X, Y, Z. You can overcome that. The reality is people may just not be able to do it despite their heart being in it, their motivation. But I think that for a vast majority of people out there, who are likely to doubt their ability to become a developer, they probably could if they put in sufficient sustained energy to do so.
Alex Booker (28:24):
I also wonder about people who question their own approach to thinking. Earlier you said, for example, that someone who has good problem solving skills might make a good developer. How would you evaluate your own temperament and personality and approach the things? I'm not asking this for any gate keeping purposes, by any means, but I do think it's useful knowledge for anybody considering this path, or maybe on this path to understand a little bit about what they're in for, and what things they might have to compensate for, if they perceive it to be a weakness. Or maybe something they can double down on, if for your answer, they identify it to be a strength, for example.
Quincy Larson (28:58):
Everybody has their own innate proficiencies, I guess. Aptitudes, I think that's the word I'm looking for. Aptitude is as much perceived as it is observed. A lot of people think, oh, I'm an auditory learner, so I should learn using audio books, and it quickly becomes a self-fulfilling prophecy. Of course, you're better at learning that way because you've put in the most time learning that way. I think aptitude, unless you're talking extreme aptitude, you could argue Einstein for example had superhuman aptitude in terms of being able to think abstractly or something like that. But I think for most purposes, people are more or less the same, and a few extra percentage of effort can overcome a few percentage of aptitude. If that makes sense. So, you can probably overcome it if you're serious about it, and it may not even be a thing. For example, I had a lot of ear infections when I was a kid, and I always presumed I wasn't going to be able to do music because, oh, I can't hear very well. But it hasn't really been an issue.
(29:54):
Also, I'm functionally blind in one of my eyes, and I always thought, oh, I'm not going to be able to appreciate three-dimensional VR headsets or anything like that. But I haven't really found it to be that big of an issue. It's pretty cool that the human body is so plastic. The brain is so plastic. Learning code is more of a motivational challenge than anything. If you have the will to put in the time and energy, and it's very much a tortoise beating the hare type scenario. I meet people all the time who seem like they're kid prodigies essentially, and that they're going to be the next big developer. This kid may very well be the next [inaudible 00:30:28]. We've got this 14 year- I think he's 15 maybe, in the freeCodeCamp community, and he is creating these indepth tutorials on machine learning and stuff.
(30:35):
You can watch them on the YouTube channel. But I really, really hope that that kid doesn't burn out, because I've seen that so many times. I've seen people who are hares, who just explode out of the starting gates. Then at some point, they get distracted or they just lose motivation or they're beset with mental illness and everybody just ends up passing them. As long as you're in it for the long haul, and you pace yourself, I genuinely believe you can exploit the 80/20 rule and you can basically be a good enough programmer to be able to become a senior developer or tech lead, engineering manager, whatever it is you want to do. I am not a great engineer by any stretch of the word, but I was able to build the freeCodeCamp code base and get momentum around the project. I still have enough skills that I can help maintain the project. Although, usually I do that through open source contributors. You won't see me doing a lot of code contributions. I'm pretty rusty, frankly.
(31:26):
I'm focused on running the organization. But you'll get there, is all I'm saying. Don't let yourself get discouraged. You have a power that nobody else has, which is to completely deflate yourself and completely resign yourself to a fate. Nobody else can tell you, you're not going to make it. They can tell you that, plenty of people told me that. I remember very many people telling me, "Oh, you should stick with what you're good at. You're this school director and you're running this school and everything's great. You should just keep doing what you're doing." You know what? If I had stayed in that school that I was running, it would've gone under when COVID hit. COVID hit and the school went under. There's an illusion of security. There's an illusion of safety. It's always going to feel like, I'm so good at this. Even though I see this hill, it's higher. I'm going to have to climb down this hill if I want to climb up that bigger hill. But it's worth it, to climb down and start climbing up the bigger hill, if you want to get as high as possible.
Alex Booker (32:16):
I see it a lot more these days, I'm not sure if it's to do with where I'm looking from. Maybe I'm more active in communities or something, I see this more. But a lot of people do resign themselves to a fate based on certain criteria. For example, a lot of people wonder if they can be programmers with ADHD for example. They think it's never going to be possible. But thankfully we have enough success stories that we know that's true. There's even a whole sub Reddit dedicated to programming with ADHD. The reason I mentioned ADHD specifically is because I think the number of diagnoses and things have increased a lot in recent years, as awareness has improved, rightfully so.
(32:49):
What you find is that a lot of developers actually have ADHD, and there are some things about ADHD that cause them to levitate towards programming. But had they suspected or known they had ADHD in the first place, they could have resigned themselves to a certain fate, as you put it, and they could have counted themselves out. Another thing I've heard about in the past is athletes. They, as teenagers and young adults, they train vigorously, and it's only a few years into their career once they're already champions, that they happen to learn they're asthmatic, or they only have 80% lung capacity or something. But had they known that before they'd even started, they might have counted themselves out completely.
Quincy Larson (33:23):
Yeah. Absolutely. To some extent, I think it was a blessing to a lot of people. It was obviously a curse, but the fact that we didn't necessarily diagnose a lot of those issues because it could be that somebody took the guitar out of Elvis's hands and said, "You've got this mental illness, and you need to focus on this," or something like that. There are lots of instances of those kinds of things throughout history of famous athletes and famous musicians and artists overcoming difficulty. One thing a lot of people don't realize about JFK, for example, the American president, John F. Kennedy was, he had severe... I think it was scoliosis or something, but his back was so screwed up that he spent years of his childhood just in bed. He couldn't play with the other kids. He couldn't do anything. He couldn't even necessarily go to school.
(34:08):
But in a way that was a blessing because he read tremendously. Every day, he'd read two or three books. So, by the time he got to college and they were able to fix his back enough, I mean, it still bothered him throughout his entire life. He had this command of literature and of history and all these other things that nobody else had, because they were out playing all summer, while he was just sitting in bed reading. That's just one example. There are lots of examples of people throughout history who have found themselves in certain circumstances, and those circumstances have actually been the greatest source of strength in the sense that it forced them to deviate from a normal life.
Alex Booker (34:44):
Let's switch gears and talk a little bit about freeCodeCamp, because I mean, it was founded seven years ago. The funny thing is, there's a lot of very successful developers now, they either work at big companies or they've built personal brands of their own, who started with freeCodeCamp. They had no idea about coding. Shawn Wang, aka Swyx, comes to mind, he's been on the Scrimba Podcast. Danny Thompson as well, always raves about freeCodeCamp, which I think is a great testament. He's close to 200,000 followers on Twitter, something now, it's amazing to see him pay it forward. To you as the founder, how does it feel to see and observe the impact that freeCodeCamp is having on people's actual lives?
Quincy Larson (35:21):
Yeah. I mean, it feels good. I'm happy that people are finding freeCodeCamp helpful. I'm just one small part of the freeCodeCamp community. Now we've got a team of people in, I don't know, 20 countries around the world doing localization, creating tutorials, creating video courses, building the core curriculum. I mean, I definitely feel like it's a win, but it's a win shared across so many people in the community. I think about the 8,000 people who donate to freeCodeCamp every month. It's like 8,263 I think was the number when I last saw it.
Alex Booker (35:54):
Back in the day when you started, could you imagine the impact it's had today? It must pop up so often, just you click on someone's LinkedIn profile, just some new person you've come across, and there it is like a proud freeCodeCamp certificate. Could you imagine that at the beginning?
Quincy Larson (36:07):
No. All of my initial aspirations and goals and everything have been met 10 X over. So, I'm over the rainbow, so to speak. I've had to adapt to, okay. That worked way better than it ever had any right to do. A big part of it is just, okay. I feel extremely blessed. The stars have aligned and I've managed to help birth this community that has all this momentum. I just want to do everything I can to help keep pushing that snowball and keep supporting people and motivating people.
Alex Booker (36:36):
That's brilliant. I think by now it's clear to say freeCodeCamp is in it for the long haul, and there are many more successes to come. Quincy, I really appreciate you taking the time to talk with me and the Scrimba audience today. Thank you so much for joining me on the Scrimba Podcast.
Quincy Larson (36:49):
Absolutely, Alex. Thanks again for the opportunity to come on the podcast. I really enjoyed listen to the episodes over the past few weeks.
Jan Arsenovic (36:57):
That was Quincy Larson, a teacher, a learner, and the founder of freeCodeCamp.org. Make sure to check the show notes for all the ways you can connect with him, and also for all the resources mentioned in this episode. If you made it this far, please consider subscribing. We publish a new show every Tuesday and we haven't missed a week since April of 2021, which is a long time ago. The podcast is hosted by Alex Booker. If you want to connect with him on Twitter, his Twitter handle is also in the show notes. If you're sharing an insight you learned from the podcast, make sure to mention him. He does read it all. I'm your producer, Jan Arsenovic, and we'll see you next Tuesday.