Four tips for staying motivated while learning


Software engineering is a field that is regularly changing. Thus, developers must be continual learners to stay sharp.

However, motivating yourself to learn and creating a lasting habit can be difficult, especially if you're self-studying outside of school or work. Below are four techniques that I use to stay motivated while learning.

Quick reference

  1. Set deadlines
  2. Gamify
  3. Spice it up
  4. Identify the end goal

1. Set deadlines

Learning without structure can feel like an endless task with no end in sight; it's often nice to have a sense of progress. I've found that artificial deadlines give me something to work toward and cleanly mark progress.

Here are some examples of deadlines you could set for yourself:

  • I will study Python for 30 minutes by the end of the day
  • I will complete one module of my online JavaScript course by Friday every week
  • I will finish two projects by the end of the month

Make sure to create manageable deadlines; experiment until you find something right for you. You may want to try a large interval at first and narrow it down until you find the sweet spot.

For example, when I first started blogging, I wanted to publish bi-weekly. I quickly realized that writing and researching a quality post in two weeks wasn't possible for me, so I changed to a monthly schedule.

2. Gamify

Deadlines aren't for everyone: you might have better luck incentivizing yourself through gamification.

For instance, you could implement a basic point system in which you earn a point every day you study SQL. You can use 14 points to treat yourself to a small meal or pay yourself five dollars. Or, you could reward yourself some other way when you've done something five consecutive days.

I find the most motivation from the Seinfeld method. The idea is that every day you do something––learning in some way, in our case––you put a red X through the day on a calendar. The more days you add X's, the longer the chain of X's gets; your goal is to "not break the chain." This method is essentially point-earning and provides an incentive for showing up consistently.

3. Spice it up

I've found it helpful to vary how I study the material. I find that learning through one medium can be tiring after a while. Temporarily switching the medium motivates me to keep learning.

If I'm learning one topic, I find a preferred, primary medium for studying it––typically text. I'll then augment this material with other media such as YouTube videos and podcasts.

For example, if I'm learning about prototypes in JavaScript, I'll spend most of my time reading Mozilla documentation or other articles. When I've absorbed that material, I'll watch various YouTube videos about prototypes and then try to write code and build something that uses them.

4. Identify the end goal

Finally, learn with a clear goal in mind, and use this goal to remind yourself why you're learning.

Why are you learning? Maybe you're preparing for a career change that will boost your income. Or perhaps you're learning in public to help others and gain credibility. (Upward mobility has been a good impetus for me.)

Remind yourself of this goal frequently: write it down on a sticky note attached to your computer or set a reminder on your phone; whatever is visible to you.

Most importantly, find a goal that motivates you when you're the most unmotivated. A resilient objective can carry you through the periods when you'd rather watch Netflix or stop learning.


All of these methods might not work for you, but hopefully, you've been able to pick up something helpful. Let me know in the comments if there's a motivation technique you use that I missed!

Let's connect

Come connect with me on LinkedIn, Twitter, and GitHub!

If you found this post helpful, please consider supporting my work financially:

☕️Buy me a coffee!

Subscribe for the latest news

Sign up for my mailing list to get the latest blog posts and content from me. Unsubscribe anytime.