Remember that boy or girl who picked up a computer and started to build cool things with code using nothing but intuition and logic? That person that seems to understand how the internet of things works without investing time and resources into learning the ropes?
No? You won’t be able to remember that person because he/she simply doesn’t exist. There is no such thing as an “instant coder” so let’s smash that stereotype while we still can. What does exist however, are coders who invest resources and lots of hours burning the midnight oil, in order to master the craft. In this article we look at why coding is hard and what to do about it.
Learning to Code Is Like Learning a Language
C++, Java, Python, Objective-C – these are just four languages that happen to be among the most popular programming languages in the world. There are hundreds more. And learning a coding language is like learning a foreign language – quite literally. “So where should I begin?” you may ask. Learn with an end -goal in mind. Maybe you want to build mobile apps or become a game developer. Or maybe you want to start your own website-building agency or even work for Google. Whatever your end goal is, find which languages you’ll need to learn and start there.
But to make sure you manage your expectations, let’s clear one thing up – learning to code is not a straight-forward process. And perhaps that’s why so many devs fall short at the beginning of their journeys. Too many devs compare coding to other qualifications, where for example, you learn the theory, you do some practicals, you complete an internship and you get a job. That’s not how it works for coders (generally speaking). As a coder, you’ll go through ups and downs, through rabbit holes and up worm tunnels to pave your own way to a career. In other words, you may learn a language in part, then move onto the next, then dabble in some other language only to return to the first. Be flexible – it will set you in good stead to learn what you need to in order to succeed in the long term, where it matters most.
Learning to Code is Time-Consuming
Many aspiring developers walk away from a bootcamp or tutorial proclaiming that coding is a world reserved for geniuses and the whole thing is unfair. Actually, most devs who “fail” at coding, do so because they are not prepared to put in the time and research that it takes to learn. Attending a bootcamp is great place to start, but the work does not end there. Unlike other learning programmes, coding isn’t a qualification you can get and walk straight into a job, never to learn any theory again. Coding requires ongoing learning. So in conjunction with a bootcamp, you’ll want to try tutorials, engaging with other devs on github, spending time on other forums like Quora and spending time on basic trial-and-error.
Confidence vs Competence
Source: Thinkful.com
Consider the above graph that illustrates a theory by Erik Trautman. The theory itself is quite involved, but the above graph is a snapshot of his main hypothesis, which is that “your confidence is highly correlated with your happiness and…the point where your confidence and capabilities match is the best proxy for the sweet spot when you’re officially job ready.”
In short, The Hand-Holding Honeymoon is the phase in which you are actively engaged with the learning process and being guided by a a mentor who teaches you things that “seem tricky but are totally do-able with their intensive support.” At this point, everyone that learns to code, believes they will be able to build cool stuff. The second phase (the Cliff of Confusion) is the proverbial “brick wall” you hit after your first bootcamp or tutorial. You try building a product only to realise that you don’t yet have all the knowledge you need. Googling it doesn’t help much because how do you describe a problem you can’t diagnose? Frustration ensues. The Desert of Despair is the emotional and mental slump that many aspiring devs fall into when resources are hard to find and moving forward seems like a slog. Many will venture no further when they hit this point. But wait, there is hope. The Upswing of Awesome happens when devs learn how to educate and empower themselves. Devs who reach this stage do so because they’ve tapped into global communities, used their mentors and poured hours and hours into trial and error. Keep pushing forward and eventually you’ll be job-ready and prepared to put in the legwork to build a viable career.
For some, building a career in coding takes months, while for others it takes years. What it comes down to is experience and hardcore grit. As an aspiring developer, you need to be prepared to experience moments of confusion, frustration and general hair-pulling craziness. But on the other side of those feelings, are feelings of satisfaction and the kind of “Eureka” moments that make it all seem worthwhile. Our tip? Start with the basics and put in extra hours – time is your most valuable commodity.
HyperionDev offers a mentor-led coding bootcamp. Start today with a free bootcamp trial including sample content and mentor support.