I taught myself to code. I started when I was 11 years old by hacking my own computer games to make them harder and reading every programming book I could get my hands on. On my own, I pushed myself past the hard parts and nearly gave up a few times. These days, I get to teach others how to code at Flatiron School, and I develop technology to make learning code more effective. One thing I learned along the way is that teaching yourself to code, learning solo like me, is not the best way for everyone to learn. Now, there are more free resources than ever before to help people learn to code on their own from the comfort of their homes (Flatiron’s Bootcamp Prep course is a great one to start with), and that’s a good thing. It’s also a double-edged sword: having unlimited resources means it’s especially important to chart the right path through those resources and find a way to remain motivated to press on through the hard parts. (That’s a reason we created our new online Community-Powered Bootcamp: to give people an effective but still affordable way to learn coding through collaboration.) For far too many, learning on your own is a dead end: concepts gets too hard, and people switch from one subject to another, jump between one resource to another—or give up altogether. You can take a look at how Flatiron School carefully structures our students’ coding journeys (even in our self-paced programs) with our Full Stack Web Development syllabus. I’ve heard from so many students that simply having a good roadmap through different coding concepts and languages allows them to turn their focus to learning, rather than stressing over making a learning plan.
A glance at how we organize our Full Stack Curriculum. But it’s not just about finding the right curriculum. From looking at my own experiences teaching myself to code and now teaching others, I have a good idea of what makes learning effective: if you want to progress beyond initial tinkering and really get serious with your code, here are a few reasons you shouldn’t learn alone—even if you’re learning online.
1. Teaching = Learning
The philosopher Seneca said, “While we teach, we learn.” It describes what’s known as the Protege Effect: students who teach other students tend to score higher and do better than those learning just for themselves. So if you’re further into your coding studies, test what you understand (or think you understand!) by explaining it to someone else who may be having trouble understanding. Forcing yourself to explain a concept is simply the best way to fully internalize it. (And as a bonus: you’ll feel good about helping someone else!)
2. Sometimes, we just need to ask for help.
This is the other side of my last point. Now, to learn effectively, you shouldn’t ask questions the moment you don’t get something—there’s a educational benefit to toughing it out and pushing yourself to figure something out for yourself. But there’s a point of diminishing returns when it makes sense to ask a teacher or tap a fellow student on the shoulder to help get you to that aha moment. You can’t really do that if you’re just teaching yourself.
3. Coding is a team sport.
No piece of significant software is built by just one person. So if your goal isn’t just to learn to code, but to be hired as a developer, you have to start learning how to collaborate with a team. You can learn to code alone just as you can teach yourself to play violin—but that doesn’t mean you’ll know how to play in an orchestra. That comes from playing and practicing with others. Learning to code with others doesn’t just help your learning experience—it helps the outcome.
Whether you’re learning from a book or a website, a Mac or a PC, a coding bootcamp like Flatiron or a university, whether you’re tackling front-end or back-end, Computer Science or web development—if you finish a lesson and simply can’t wait to get started on the next... you’re going to get through it.
4. Motivation doesn't always come from within.
I’ve said this a lot: learning to program is hard. I don’t know many programmers who don’t have stories of hitting a wall and nearly giving up. There are some people who can push themselves through those tough moments on their own; but for many students, it’s essential to have a support network to provide motivation and accountability. Plus, you’re much more likely to learn something if you enjoy learning it, and being surrounded by other passionate students can have a huge impact on that. Whether you’re learning from a book or a website, a Mac or a PC, a coding bootcamp like Flatiron or a university, whether you’re tackling front-end or back-end, Computer Science or web development—if you finish a lesson and simply can’t wait to get started on the next... you’re going to get through it.
5. Coding is creative; creativity comes from collaboration.
A diversity of perspectives is invaluable to programmers, both in a job and while you’re learning. A common misconception is that programming is rigid and mathematical. In reality, it’s a creative craft—there are limitless ways to solve the same programming problem, which invites your own creative approaches. And we’ve found in Flatiron School’s in-person and online programs that the best way to stoke creativity in our students is to surround them with a diversity of perspectives and backgrounds—people who may think differently than you who can expand your thinking.
6. Coding doesn’t stop on the command line; it’s a way of life.
If the end goal of your coding journey is to be a developer, that takes much more than just knowing how to code. You don’t stop being a developer when you clock out for the day; being a developer is a way of life. And a big part of that life is becoming an active part of a community of developers and technologists, all committed to learning from each other. The time to start engaging with that community is not when you finish studying… it’s right now! The two parts go hand-in-hand.
7. It’s more fun to do things together.
This one is simple: you’re much more likely to learn something if you enjoy learning it, and having people around you will have a huge impact on that. In-person coding bootcamps are one way to guarantee you’ll learn with a community, but that’s out of reach for many people for many reasons. But that doesn’t mean you have to learn alone. If you’re considering an online coding bootcamp, look for one that values community and gives you the tools to connect with other students. If you’re driving your own studies, look for local Meetups where you can connect with other aspiring programmers; start study groups; join supportive online coding communities. Flatiron School just launched a new program for those who may not be ready to invest in a full bootcamp but want to experience the benefits of social learning: our Community-Powered Bootcamp. For $149/month, this program gives students access to Flatiron’s proven Full Stack Web Development curriculum (the rigorous 800+ hour course of study used in our Web Developer Program, online and in NYC) and a passionate online community of students who want to learn online, but not alone.
Ready to start your own coding journey? Try our Bootcamp Prep course—the most efficient, effective way to prepare to enter today’s top coding bootcamps.