Learning to code is tough when you’re a beginner. There is so much information to sort through and it can feel like you’ll never learn enough to become a legitimate developer. But if you know what to expect before you start, then you’ll be prepared for these inevitable challenges. Flatiron School dean and co-founder Avi Flombaum taught himself to code, and went through the same struggles that beginner coders face today. We asked Avi to share the 4 crucial obstacles beginners face when learning to code and how you can overcome them!
As a beginner, you don't know what you don't know, and that’s hard. You need two things: a path and context.
Finding Your Path
I notice that a lot of beginners ask their developer friends where to start and that’s the worst thing to do! You’ll get a person’s opinion about themselves, not about your situation. You also can’t be motivated by a specific job in the beginning. You may hear that there are a lot of jobs for React developers, but as a beginner, you can’t start by learning React.
Putting your Learning into Context
In the beginning, learning to code is easy because you're learning simple mechanics – tools that will go in a toolbox. You learn where a hammer is, how to swing the hammer, and when to use a screwdriver. In programming you learn what an array is, how to iterate over an array, how to define a method with a variable, etc. At that level, programming is fun and it's doable. But once you try to build a house (or in programming, build Tic-Tac-Toe), you need to know how to contextualize all of the tools. This is the point where I see students give up and quit.
Contextualization is really hard and the only way you learn that is by practice. You have to break tasks down and get over that hurdle.
I was self-taught, back when there was no Stack Overflow or coding bootcamps. I read 30 programming books to teach myself to code, so my teachers were Jeffrey Zeldman and David Black. Nobody truly learns anything “alone.” Learning how to program was easily the darkest time of my life. One of the reasons I started Flatiron School is because I wanted to make it easier for people. At this point, the web and development communities are so mature – so you should be learning with other people.
Start alone, but continue with others
We definitely want students to try learning on their own before they come to Flatiron School; how do you know that you want to be a programmer if you’ve never tried programming at all? And everyone runs into walls, whether they’re learning on their own or with a group. But what do you do when you're stuck? Do you just give up or do you break the problem down and learn to ask the right questions?
The whole reason that coding bootcamps like Flatiron School exist is so that you don’t have to teach yourself everything. Most people need a structured and guided way to get through the various hurdles you're going to encounter as you're learning how to program.
Can you really get that experience of learning with others from an online course?
When we designed Learn.co, our online platform, we really wanted to capture the feeling of being in the Flatiron School campus where there's so much energy, celebration, struggle, questions, and collaboration. The more people using Learn.co – asking questions and contributing – the better the experience. Learn.co is actually interactive, and in that way, we’ve brought the community online.
For me, learning to code wasn't optional. I could either teach myself and become a developer or I would be totally screwed in life. I burned the bridges behind me, jumped off the cliff, and did what I had to do not to crash land.
You don’t necessarily need to take such drastic measures, but you should set a goal and go after it. And you should have a passion for programming because there are other ways to make money in life besides programming.
Setting a goal and jumping off the cliff is great to kickstart your learning in the beginning. But it will not keep you going. What keeps you going is the habit of programming every day until you stop questioning your learning.
I also find that beginners focus too much on how long it's going to take to become a developer. Listen – I'll let you know when I start feeling like a serious developer! This is a lifelong journey. Who cares how long it takes you to become a programmer. If you’ve set a goal and you’re passionate about programming, then it may take you 6 months or 2 years.
Beginners tend to drive towards the answer as opposed to driving towards more questions. As a developer, you will always encounter things you don’t understand, or something that doesn’t work the way you expect. Here are my tips for when you run into a roadblock:
The benefit of learning at a coding bootcamp like Flatiron School is that you’re asking questions to instructors who can see beyond your question and gauge your frustration level. Are you really tired, do you need a quick win or a lot of feedback? Are you not understanding a larger problem or concept? We can help identify those frustrations and dig deeper.
If you’re ready to start learning to code, check out Flatiron School’s free online Bootcamp Prep course, which includes 75 hours of learning and on-demand support.
Start coding at these 14 coding bootcamps!
Thinkful Design Product Manager Terry Million explains the differences, and how to get started!
Compare costs of data science bootcamps ranging from free to $20,000.