DEV Community

Cover image for Overcoming Obstacles: Proven Strategies for Learning to Code
Kemi Owoyele
Kemi Owoyele

Posted on

Overcoming Obstacles: Proven Strategies for Learning to Code

Image description

The journey of learning to code can be a bit daunting. It is very easy to start feeling like you are not smart enough for this career path or that coding is just too hard for you. Or maybe you started with a lot of enthusiasm, but a few weeks in, you start feeling stuck and find yourself lacking motivation to carry on.
For some, it is getting stuck in tutorial hell, watching several tutorials and feeling good but still unable to implement what was learned on their own. It can feel like being stuck in a wilderness with no way back or forth. These experiences are very common among coders, especially at the early stages of learning. In this article, we are going to explore some of the steps you can take to make the journey less turbulent.

1. Start with a clear goal in mind:

Image description
It is important to set goals and plan towards any important move you want to make in life. As with programming, you should have a plan. This could be to get a job within a reasonable specified time, build a project, a SAAS product, freelance or venture into some tech related entrepreneurship.
You should also decide on what aspect of programing you intend to learn. If you are not sure yet, you should do some research on the various coding related career paths and figure out which one is fitting for your goal.
You also need to set a learning plan. Are you going to take an online course, attend a boot camp, get a personal tutor, or learn on your own? How do you make out time for learning? How much time can you afford to spare, or what are you willing to give up?
You need the plan, so it can be a guide for you as you embark on the journey. Your goal might be needed as a motivation for when you face difficulty. Reminding yourself, why you started learning might help keep you on track.
It will also help to set daily/weekly goals. You should also review the goals against the results at the end of the period.
While setting goals though, try as much as possible to be realistic. If your initial goal turns out to be too unrealistic, it wouldn’t hurt to readjust the goals. Unrealistic goals could overwhelm you, and cause you to feel like a failure even if you are doing way better than most people are doing.
“Goals are the fuel for the engine of achievement”-Brian Tracy

2. Pick one programming language and stick to it.

The programming language you choose will be determined by your goal, or what you intend to achieve by learning to program. The language you need for game development, for instance, is different from the one you will need for web development or data analysis.
After deciding on the programming language, get a relevant roadmap and let it guide you as you progress. If you are learning on your own, it is very important to work with a roadmap to avoid unnecessary distractions. Do not move on to the next topic until you are comfortable with the current topic.

3. Experiment with different resources or approaches to find out which is most suitable for you.

Image description
Seek out online resources, Read documentation, watch video tutorials, read articles and books. Find out which combination is more suitable for you. If you are reading or watching videos, code along and take notes. Unless you find the material unhelpful, try not to move on to the next video or material until you are comfortable with the codes you learned from that material.

4. Learn the basics

Don’t jump this step. Get yourself well-grounded in the fundamentals of the programming language you are learning.
Learn how the programming language you are learning works behind the scenes. Don’t ignore the theoretical aspect of programming, learn the theory and practice what you learned.

5. Always Be Coding

Code like your life depends on it. It is important to code. You learn to code by coding. Every other step is hinged upon this step. In all your learning, if you do not practice by writing your own codes, you will not be able to make visible progress. After watching tutorials or reading an article or documentation, fiddle with the codes; try them out with different scenarios. Find out for yourself what will work and what will not.
It may also help to code by hand. Coding by hand might seem old school, but it will help you to strengthen your mental muscles, especially with writing syntax precisely. Coding by hand is also helpful during job interviews.

6. Learn by doing

Make a small project from each topic or concept you learn. Own the codes. Practice the code samples until they are fully imbibed in you. Break down complex concepts into smaller, manageable chunks. Write a lot of small projects, and work your way up to more complex ones.

7. Don’t do it alone

Find a community of learners to engage with. If you are in a boot camp or doing an online course, don’t take pair programming for granted. Seek help whenever you need one. Don’t hesitate to ask for help, sometimes a bug you’ve been struggling with for hours will be easier to spot for someone else with a different perspective, or who has encountered the same bug before.
Collaborate with someone more experienced. Seek out a mentor if you can find one. Mentors are more likely to make your journey easier. They will help you figure out where you may be going wrong and help you avoid the mistakes they made while they were learning. They may even give you projects to do or materials that they found most helpful. Mentors can also help get jobs or land first sets of freelance projects.
Be open to feedback. Do not take criticisms as a blow to your ego. Rather, consider it as an opportunity to learn different perspectives, and as a challenge to get better. Feedback may also help you identify your areas of weakness, areas you may need to pay some more attention to.
Don’t hoard knowledge; share what you have learned with other learners. You can do this with your peers at a boot camp or an online course platform, or by answering questions on Quora, StackOverflow, Reddit, Discord, WhatsApp groups etc. Get involved in communities attend meet-ups (both online and physically), and be an active participant.

8. Endeavor to stay motivated

Image description
Make coding a habit. Motivation is very important in learning to code, but way more important than motivation is personal discipline. There are times when you will find it hard to be motivated, especially when you are stuck on a problem for a while. This is where discipline comes in. You have to decide that irrespective of how you feel, you will stick to the plan you set for your learning. Focus on the end goal. Always remind yourself of the reason you got started in the first place.
Learn to fall in love with the process. Find a project that you are passionate about. Building a personal project on something that particularly interests you can be very good for your morale.
It may also help to celebrate your small wins. For each milestone you cross, throw yourself a mini party. Be happy for yourself. Evaluate your progress based on the things you could not do previously that you can now do with minimal effort.

9. Be a problem solver

Image description
The core purpose of programming is problem-solving. Try to solve as many problems as possible, of varying difficulty,
Also, when you choose to do a project, try as much as possible to complete that project. Especially if you find it difficult. Most of the time, these difficult situations are your best opportunities for growing. Expect to fail repeatedly, but make sure you learn from every mistake, bug or error.

10. Don’t be too anxious about your learning speed.

Image description
The anxiety could be crippling at times. Although it is also important not to be stagnant, the most important thing is not how fast you learn, but how consistently you are improving. You may have intended to learn a particular topic for two days. Don’t jump to the next topic before you are comfortable enough with the current topic just because of deadline. Be patient with yourself. You are not dull. Learning to code takes time and can be hard. Don't get discouraged if progress is slow.
It is also important to take breaks. This is more important when trying to debug an error. If after a couple of minutes the error is being persistent, take a short break and come back to it.
The entire learning process can easily become overwhelming sometimes that you might forget to take proper rest or eat well. It is important to know when to rest, and take care of yourself. Your physical and mental health is also imperative to achieving your learning goals.

11. Avoid distraction

Image description

Don’t pay attention to noise and unhealthy hot takes on the internet. This can be very confusing. Sometimes, you are just beginning your learning journey, then someone on the internet is posting something like “websites will soon be obsolete”, “AI will soon take all our jobs”, “apps are dead”, “a particular programming language is dead” etc. This could discourage you from persisting with what you are learning. The best thing is to recognize these takes for what they are. Most times, they are just click baits. People have been saying these things for years, and programming has remained a promising career path nonetheless.

Image description

Also be careful with new technologies and frameworks. Sometimes, while you are learning something, something new may pop up, and everyone is talking about it. Do not allow that to distract you, especially if you are not yet well-grounded with the fundamentals. Focus on your roadmap.

  1. You will need a lot of dedication, passion, commitment, grit.

Image description
“It doesn’t matter how many times you fail, remember you only have to succeed once.”
Mark Cuban.
That once will definitely make up for all the failures you’ve experienced.

13. You need to be consistent in learning.

Image description
One or two hours daily are better than six hours binge once in a week. It may help to participate in the #100dayofcode. Try coding every day for at least an hour. You may get more comfortable with coding that you can start coding for longer hours.
Also, set aside a particular time of the day, or learning environment to help get you in the zone. Try as much as possible to put away distraction. If for example you code by 4pm daily, try as much as possible to make the environment conducive for that time. And when learning, try not to multi-task. Just focus on learning one thing at a time.

14. Believe in yourself, be confident

Image description
You just have to believe in yourself. Others have done it, you can do it too. No matter how difficult it feels, convince yourself that you can do it. Practice positive self-talk, overcome self-doubt and imposter syndrome. Be your own cheer leader/ hype man.

Surround yourself with positivity; listen to podcasts that can help strengthen your mental resilience. Expect to fail several times, they are opportunities to grow and learn.
Self-confidence, like every other skill can be learned. You can start small and grow in confidence as you proceed in your journey. Challenge every negative thought, take calculated risks. Whenever that voice tells you that it can’t be done, prove it wrong by getting it done. With each challenge you overcome, your confidence gets better.

Conclusion

Embarking on the journey of learning to code demands a willingness to make sacrifices. It requires surrendering your comfort zone, dedicating countless hours, and persevering through obstacles. By following the steps outlined in this article, you'll be forced to confront your limits and push past them. Embrace the sacrifice, stay committed to your goals, and don't hesitate to seek guidance when needed. In return, you'll unlock your full potential and reap the rewards of success in the world of programming.
What are the strategies that have worked for you? Please, share with us in the comment section. You may also share what obstacles you may have faced, and how you are tackling those challenges.

Top comments (0)