When you hear that anyone can learn the skills they need to become a developer, there’s one important caveat. If you’re going to learn to code, you need to be willing to work hard. Coding is an attainable skill, but it isn’t easy and there are challenges you’ll encounter along the way. We recently asked some of our students – who are now developers – what they found most challenging about learning to code. Here are 4 of the major challenges of learning to code that they shared.
1. Imposter Syndrome
When you’re new to coding or a veteran developer, you will be all too familiar with the lurking presence of Imposter Syndrome when it comes to learning to code. Lacking confidence in your skills is common when you’re new, but honestly, it’s unnecessary. Remember every expert developer was once a beginner and they know how it felt. The tech industry is a welcoming and supportive community where you can find others with more experience who are willing to collaborate or offer guidance (provided you put yourself out there to meet people in tech). As stay-at-home mom and front end developer, Priscilla Lunda, describes “For me, the greatest challenge was the fear and insecurity that held me back in the beginning… That fear and insecurity still creeps up at times and I wonder if I’m good/smart enough to be successful in this field. But then I remember that I love coding and every day is an opportunity to continue to learn.”
That fear and insecurity still creeps up at times and I wonder if I’m good/smart enough to be successful in this field. But then I remember that I love coding and every day is an opportunity to continue to learn.
We also spoke to junior software development engineer, Matt Hamil, who shared his advice for how to overcome imposter syndrome: “As a new developer, it’s easy to want to compare yourself to other developers or worry whether you’re learning the right thing. The path to learning about software isn’t linear. The key is to learn problem-solving. Once you learn how to solve problems, you can learn anything about coding.”
Don’t let yourself feel intimidated. Instead, rise to the challenge, problem-solve and back yourself. There is no single stereotype for a developer anymore, opportunities are out there waiting for you, you just need to focus your efforts on learning and sharpening your coding skill set.
The path to learning about software isn’t linear. The key is to learn problem-solving.
2. Trying to understand it all
Learning to code is like learning any new language. At first, ideas and concepts of coding can feel abstract. Then, even once you’ve begun to grasp the basics, you’ll need to start piecing those bit of knowledge into understanding. As Treehouse moderator and developer, Jennifer Nordell, describes, “There will likely come a time in your learning when you notice things becoming significantly more difficult. These tend to happen when concepts come into play. You’ve learned the basic building blocks, but now you must put them together to architect a solution to a problem. In my experience, this feels a bit like standing at the bottom of a cliff. It is here that I’ve felt the most frustration in my learning process.”
When faced with that overwhelming hurdle, remember again that every developer has been there, and overcome it. Trust that with patience and dedication to learning, you’ll begin to grasp the knowledge. Another useful tip is to use learning tactics to break down concepts into retainable chunks of information. For example, research shows that short, frequent sessions of study are more effective than long ones. (For more tips on how to learn better by studying less, check out this post.)
You’ve learned the basic building blocks, but now you must put them together to architect a solution to a problem.
With trial and error in coding, you may find yourself tinkering with your code and resolving an issue, but you’re not sure how.When that happens, try to understand why? Take the time to review your code and identify what you did to make it work. These lessons you learn along the way will help solidify your understanding and grow your skills.
3. Finding the time
Another common challenge that you’ll face when learning to code is finding the time, especially when you have to factor it in between work, life, and family. As developer, Jeffrey McKim, describes, “we’re in hard times. Rent is high, wages are low, social mobility is stagnating. There are a million distractions and a million reasons to quit.” This is when self-disciplined comes in. Set yourself learning goals and establish a schedule. Here are a few tips on how to fit learning to code into your 9-5.
There will likely be plenty of times when you don’t feel like sitting down at your computer to learn during the weekend or after a long day at work. Those days, remind yourself of the end goal and what you can achieve if you persevere. For example, when you’re lacking motivation after a bad day in the office and struggling to find the motivation to learn, remember that once you master those in-demand coding skills, you can leave that job behind.
4. The frustration
The final challenge is one that anyone who has touched code can relate to; periods of extreme frustation. Whether it’s a hidden error in your code, a new concept you’re trying to learn, or another issue you’ve encountered, the frustration can be overwhelming. When that happens, you may feel like you want to quit. As Jeffrey describes it, “I thought about quitting. I threw things and once even kicked a hole through my wall. I cried. I started at the same lines of code for hours before I realized I was missing a semicolon, or forgot to close a div. I can’t count how many times I did that.” In reality, you’ll have to confront these frustrations through your career as a developer, BUT everytime you persevere and problem-solve, you’ll learn something new which can help you to avoid similar frustations in the future. (There’s also the added bonus of the immense satisfaction when you overcome a frustrating challenge!)
These are just a few of the challenges of learning to code. Now we’d really like to hear about your experience. What challenges have you faced? How did you overcome them?