Introduction
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
- Set deadlines
- Gamify
- Spice it up
- 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.
Conclusion
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
If you enjoyed this post, connect with me on LinkedIn, GitHub, and Twitter! You can also subscribe to my mailing list and get the latest content and news from me.
Top comments (2)
Good Post!
I'm studying software engineering in Brazil and i actually use Seinfield method to specific things like software development in a small work.
I also use learning in public because i entered in the university this year but i work as web developer in a small company, so i am helping my classmates and learning something new with them.
Sometimes is difficulty to spot the differences from each classmate, but is good to work and learn in this way.
Thanks for the recommendation! Yes, it definitely varies by person. Time blocking or the Pomodoro Technique is worth checking out for those who prefer scheduling learning.