The Four Phases of Learning to Code
Maybe you're one of those people who has always had an interest in coding. You may have learned a smattering of Ruby or dabbled in Linux. When you tell people you want to learn how to code, you might receive many different recommendations that lead you down different paths.
Before you know it, you're a jack-of-all-codes, master of none. But you have high hopes. And thanks to intro courses from companies like Treehouse and Codeschool, you have a wealth of resources to master the basics of even the most challenging coding languages. You're starting to view coding as less of a chore, and more as something you actually look forward to! Even more importantly, you've surmounted the first hurdle -- getting over the perception that coding is just too hard.
For the professionals and instructors who teach real-world coding skills, this is known as:
The Hand-Holding Honeymoon
This period of time is focused on helping you build confidence. You will learn about syntax and structure and utilize those skills to develop your own websites and apps. You will have a network of support behind you to help you rack up accomplishments.
But there will be a point in your code-learning journey when you realize that you're still not anywhere close to being a full-fledged developer. You'll find that as minor challenges add up, they can start to turn into significant problems that you may not have the experience to solve. When you're on your own, these seemingly insignificant challenges can start to feel like insurmountable walls--topped with barbed wire.
We call this:
The Cliff of Confusion
This is a particularly frustrating phase, but as the saying goes: you have to learn to crawl before you can walk. The Cliff of Confusion is the reality that settles in, particularly when debugging, that you still have a ways to go to become a developer. You've essentially been pushed off a cliff and told to fly, but no one ever told you to flap your wings.
This is also, unfortunately, the point when many aspiring coders throw up their hands in frustration and resign themselves to a different path in life.
Yet some of the greatest success stories have begun during moments like this.
Although you might be discouraged, remember: It's really not your fault.
Many would-be coders assume there's something wrong with them, but nothing could be further from the truth. There are two phenomena at play here: resource density and scope of knowledge.
Google "learn to code" and you'll find over a billion results. This is resource density. There are millions of resources out there that will teach you the basics of coding. Maybe you've even used a few of them.
When you're just starting out, there's a veritable smorgasbord of resources at your fingertips. But when you move from beginner to intermediate, that's when the gaps in the available resources become a problem. That plethora of resources you have at your fingertips dwindles.
You've leaped over basic syntax and stumbled through basic building and debugging, but now you're hit with all kinds of new terms and processes like object orientation, agile deployment, modularity, frameworks...even code smells? What?
This is precisely when the scope of knowledge comes into play.
The scope of knowledge is all of the things you need to know in order to know how to code. It's not just syntax, but which tools to use, what languages to learn, how to format the code and, when you're stuck, how to ask for help.
The combination of a lack of resources beyond basic coding and the pressure of needing to know seemingly everything about everything leads to the place that we lovingly refer to as:
The Desert of Despair
Like a giant gaping maw that draws you in every direction and seemingly without end, the desert will tempt you with mirages of resources that seem perfect for what you're trying to do, yet leave you parched and struggling beneath the pressing heat.
There's a lot more to this whole coding thing than you ever anticipated. You commit to choosing a direction and you stick with it. Eventually, you will find your way out of the desert. You'll start making progress and launching projects which takes you to:
The Upswing of Awesome!
This is the point at which you truly have the understanding you thought you had during the honeymoon phase.
You're so close to being able to proudly call yourself a developer, but deep down, you still feel like a fake. Eventually though, you will have confidence in your abilities.
At this point, someone is going to see your unique collection of skills and projects (and most importantly, your potential), and they're going to pay you to keep going. Congratulations, you got the job!
Yes, learning to code is a long and arduous journey--if you go it alone. Fortunately, you don't have to. Thinkful has programs that offer 1-on-1 mentorship to help you along the way. You've already come taken the first steps by simply reading about the journey--which is more than most aspiring programmers will do. You now have a map--all you need is a mentor to guide you. Walk in the footsteps of those that have been there, and shortcut your learning process so that you get on and stay on the right track.
This is a sponsored post by Thinkful.