Learning to program is a long and bumpy road. At times, while learning, you feel elated at solving a tricky programming problem. At other times, you feel dejected, as if you’re making no progress at all. There are times for everyone where it’s challenging to find the motivation to learn programming. For some, the most challenging part of learning to code is keeping motivation from the beginning of the process to a successful end.
While no one can stay motivated one hundred percent of the time, keep these tips in mind to help you stay motivated throughout your journey to learn programming.
We’ve all seen movies or read books where the main character works his/her whole life to get into medical school, only to find that they don’t like practicing medicine. Inevitably, in the movie, they find their true life passion and become successful in that field. Don’t be them.
Coding is too difficult to spend your life doing it if you don’t enjoy it. You need to understand yourself enough to know if this is really what you want to do. All the promises of high salaries and available jobs won’t be enough to motivate you to learn something you don’t like. Part of the motivation to learn programming has to be that you enjoy it. If you don’t enjoy it, find something that you do.
It’s important not to confuse “I don’t enjoy this” with “This is difficult.” Learning to code is stressful for everyone who endeavors to climb that mountain. Even experienced engineers have difficulty learning new concepts. A decade ago, I used to teach Boeing engineers a development package called Flex. It was a development package, unlike any they had learned in the past. They had to grind to learn it. However, you could also tell that they were determined because they genuinely enjoyed coding and learning.
Finish a difficult lab assignment? Earn a new certification? Did you fix some broken code? Reward yourself. Pavlov’s dogs weren’t unique in responding to rewards. Take yourself out for ice cream or lunch out when you complete something. If there’s no one there to reward you, you have to pay yourself to keep motivated.
If your goal is to land your first job as a developer, but you’re just getting started, the road can seem almost interminable. It will likely take you a year or more to learn the necessary skills and build confidence in them to a level in which you’ll be employable. That’s why I recommend you break the long-term goal into many small journeys. Each course, certification, or skillset that you learn can be a unique journey along with the more extended roadmap towards your longer-term goals.
You might post the long journey on your wall, marking off the individual smaller goals that you achieve along the way. You’ll continue to feel more motivation to learn programming as you close in on the end of your journey and complete a series of small goals.
One of the most rewarding and motivating experiences of learning to program is watching your portfolio grow. It’s fun to look back and see how far you’ve come since writing your very first lines of code. Keep a collection of your work so that you can tangibly view your progress as you become a more sophisticated coder. There’s nothing like completing a project and putting it in your portfolio.
You might also use your portfolio as a way to show your progress to your non-technical family and friends. Show them completed projects. What they will think is magic is a reinforcement of your hard work. The compliments you receive will keep you motivated for the next steps.
Whether you choose to participate or not, there is a massive community of people both online and offline who are learning to code. The Reddit “learn programming” community has over 1.4 million members. As I write this, over 3,000 of them are online. Not everything you will read on Reddit is helpful, but there you will find many people like yourself who are learning to code and struggling to stay motivated.
Some have found community by taking a class at a local community college, or a free course offered in the community. Don’t be afraid to attend these even if they’re not directly related to your career goals. I’m not a game programmer. However, I have always been curious about that part of the field. Just last week, I took an online course on Unity Game Development and met several people who are now part of my broader developer community.
It’s too easy to lose touch with your learning community if you don’t make a regular effort. Perhaps put an entry on your calendar to check out what’s going on in your programming community regularly. Isolation is demotivating, so ensuring you have a community of shared experiences will help you keep moving forward, even when things get tricky.
Humans are curious creatures. We don’t want to look bad in front of others, but we’ll make all kinds of excuses for ourselves. Accountability partners can be a great help when one needs help with their motivation to learn to program. An accountability partner is someone who is taking the journey with you. You can set mutual goals with your partner and hold each other accountable for achieving them.
I’ve found having accountability partners helpful in many areas of my life. I just found an accountability partner for my health journey. We’ve pledged to check in every day and ensure both of us are eating a healthy plant-based diet, exercising, and losing weight. I’ve failed at this healthy journey many times in life. I’d start strong but lose motivation quickly. With an accountability partner, I’ll be better able to stick it out, because it’s not just about me anymore.
Some have found it useful to create a weekly study date with their accountability partner. This weekly study date allows you to set weekly goals, reach them together, and build motivation to learn programming through regular successes.
Some people feel that asking for help is some kind of failure. It’s not. Asking for help when learning to code is smart. Even experienced developers find themselves asking colleagues for support. Sometimes it’s a minor bug that you just don’t see. I can’t count how many times I was convinced that the whole internet was broken only to find a missing semicolon in my code. I’m fond of asking for a “different set of eyes” to review my code and help find a bug. All too often, my teammates and I end up laughing over a silly error that should have been obvious but takes us an hour to locate.
Asking for help is reasonable, mature, and necessary. Don’t spin your wheels (or worse yet give up) when you can’t find an error. Ask a friend or go to your community and get help. Staying “unstuck” will help you retain the motivation to learn programming for the long haul– as long as you ask for help when you need it.
Finally, I believe in the power of affirmations to change your beliefs. If your lack of motivation comes from an underlying false impression that you can’t learn, read the affirmation below each morning. It may seem hokey at first, but reading the affirmation will help put you feel positive about learning to code and will, over time, change the underlying belief that may be sabotaging your progress.
Before you go, I want to offer you the opportunity to sign up free training content.