We’ve all experienced it at some point. Whether it was while learning to code, or during another task, whatever it is, it sucks. This scenario may sound familiar to you: filled with the desire to learn to code, be it for a career or a hobby, you sit down, do your research, maybe sign up to a few courses on Udemy and get stuck in.

Over the next few nights, you are reading up on concepts, getting stuck into projects and making serious progress. Then you start experiencing burnout, you’ve missed one too many trips out with your friends, you’ve been working a 9:00–5:00 every day and on top of that, housework and learning you haven’t had any time to unwind. So you take a couple of nights off, those couple of nights become a couple of weeks, then a couple of months.

If this is sounding familiar you aren’t alone, burnout and loss of motivation are a real issue, especially with something like learning a skill as in-depth as programming. The good news is, there are actionable steps that can be taken to make the whole process a little easier to handle.

#1 Set Proper Goals

No “Learn to code” doesn’t count. For a goal to be worth anything it needs three important components, and this applies to everything not just learning to code. The first is measurability, there is no use setting a goal if you can’t determine when you have achieved it. A much better goal than “Learn to code” is “Complete a course for Angular”.

By setting measurable goals you can determine when you have reached them, and then set a new one, if your goal is too vague you will never hit it. Secondly, your goals should have specific deadlines, if the goal is too open-ended it can be difficult to maintain the focus required to reach them.

If your goal is “Complete a course for Angular” you can tell yourself you’ll get to it eventually. If your goal is “Complete a course for Angular in 6 weeks” then the deadline will give you an extra push to finish the work. Finally, the goal needs to be realistically attainable. There is no use setting yourself a goal if you can’t achieve it, which leads us to…

#2 Consistency Is Key

I’m sure you’ve heard the phrase “Slow and steady wins the race”, the same rules apply here. All too often, people will decide to learn to code and stay up late into the night, and progress is fast because of it. But it doesn’t last long, this leads to the problems we talked about at the beginning of the article, namely burnout.

It is much more important to make slow but consistent progress towards your goals, the quick, but short-lived bursts. Set aside 30 minutes to an hour to do a little bit of work towards your goals every day, and with time you will see improvement.

#3 Motivation Gets You Started, Willpower Keeps You Going

Truth be told, there is no magic pill that will make it easy all the time, now trick that will make it so you're always eager to learn. There will be days you want to do nothing less, there will be times where all the effort doesn't seem worth it to reach your goals, but if you keep at it then it will be in the end, and you will achieve your goals.

#4 Get Support From Your Peers

Never underestimate the power of community spirit, and the developer community has some of the best community spirit of any I have been a part of. I have already spoken about the benefits of peer programming, and this is just one of the many ways you can take advantage of, and contribute to, the developer community. There are many resources to read, discussion to be had and courses to follow.