Whether you’re a coding novice or veteran developer, there are similar challenges we face when it comes to learning to code. Everyone has or will encounter them, and we all have the ability to overcome them. At times it’s frustrating and you’ll feel discouraged, but conquering those challenges is rewarding and worthwhile.
I took the opportunity to speak to a few of the Treehouse teachers and students – who are now accomplished developers – about the greatest and most common challenges they faced when they were beginners learning to code and to share their advice on how to overcome them.
Don’t try to do it all
“Front end development moves fast. If you tried to learn every framework, technology, and technique – or read every blog post and listen to every podcast – you’d never get anything done. Over time you have to develop intuitive sensibilities about which information sources you’re plugged into and which tools you choose to use because you can’t do it all.”
– Nick Pettit, Treehouse Teacher & Independent Game Developer
Although Nick specifically highlights front end development, the same observations and advice apply to learning to code in general. The tech industry is constantly growing and evolving, and as a result it’s important to know what’s going on and keep your skills sharp. However, you can’t learn or know it all. To become an expert developer, you need to focus and specialize. Start off by finding the programming language that really interests you. From there, invest in constantly expanding your skills, identify reliable resources that will keep you up-to-date, and follow thought-leaders and influencers. There will still be more than enough to learn, but this way you’ll stay focused and relevant.
Find and maintain your motivation
“The greatest challenge I faced was maintaining the motivation to learn while balancing work/life at the same time. I overcame this by keeping my desire to learn alive through reading web development blogs, following trends in the industry, and reading other people’s success stories.”
– Esteban Valdez, Freelance Web Developer
Learning to code isn’t easy. Like learning any new skill, you start with the basics and build a foundation, then grow your knowledge from there. This takes time, and not all of us have a lot of it available. Fitting learning to code into your life can be a challenge in itself, but with flexible learning you’ll find the right balance that works for you. Alongside this, keeping yourself motivated to learn is a common and recurring challenge. Esteban’s advice is a great way to keep yourself interested and immersed in the industry, but there are countless other ways you can keep yourself motivated, depending on what drives you. A recent post written by Treehouse student, Ashley Harpp, offers some other great advice for how to find and keep your motivation to code, including setting realistic goals.
“I think developing discipline is the biggest challenge for people learning on their own, especially if you’ve been away from a traditional class structure for a long time. You really have to push yourself. There’s no classroom you have to go to at a certain time.”
– Scott Cook, Developer
While learning to code online is flexible and empowering, you have to be self-disciplined if you’re going to succeed. At Treehouse we have a dynamic online community that offers support and encouragement, but the reality is that you’re the only one responsible for making sure you do the work. As Scott explains, the way to do this is to push yourself forward. It will be hardest at the beginning, but as you achieve your goals and witness the reward of progress, it’ll become a habit.
Be patient and persevere
“Not everything is going to work correctly on the first, second, or sometimes the third attempt. Trust that you will figure things out, through patience or collaboration, and you’ll learn from it. Also, nobody has everything figured out; the more you learn, the more you’ll realize just how much you have left to learn.”
– Guil Hernandez, Treehouse teacher, Front End Designer & Developer
Sometimes coding is a case of trial and error and that doesn’t just apply to when you’re learning. Even at an expert level, unexpected bugs and issues will arise and you’ll have to patiently work through your code to resolve them. From each of those experiences, you’ll learn something valuable which will come in handy in the future. Patience, perseverance and the desire to continuously learn will be a few of your most powerful traits as a developer. As Guil so perfectly summarizes, your learning is continuous.
Take a break
“When you feel like you want to quit, which we’ve all felt, take a break. Take a week or a month, but always push yourself to come back again in the future, even if it’s just for an hour. I had a four-month break… and I just picked up where I left off and got back into the swing of it. That turned out to be the final push before I found my first job.”
– Steve Brewer, Front End Developer
At one point or another, you’re going to find yourself incredibly frustrated. You may have to resist the urge to throw your computer against the wall, and quitting may seem tempting. In that moment, remember that – novice or expert – we’ve all been there and the good news is you can overcome it with Steve’s single piece of valuable advice: take a break. Clear your head and return to the challenge refreshed. Depending on your level of frustration, it might take an hour, or even longer. The most important part of your break is your return.
Some challenges might be greater for you than others. You may not have encountered them yet, but whatever your experience, hopefully this advice will ensure that you never let them hold you back. If you’re in need of more coding wisdom, check out earlier posts in the series.
Have you experienced other challenges? How did you overcome them?