loading...

Staying motivated...😕😲

ruheni profile image Ruheni Alex ・1 min read

How does one stay motivated when working on a project or when learning a given programming concept?

I'm open to hearing your thoughts on how to improve one's resilience through this learning process😁🤔

Discussion

pic
Editor guide
 

My biggest motivational tactic is looking back at how far I’ve come. No matter what rut I’m in, I’m almost always proud of how much more knowledgeable and capable I am than myself from 6 months ago, a year, 2 years, etc.

For me it takes the exercise of sitting down and really taking stock in that in order to grasp the progress.

 

I find that a lack of motivation is a clear sign that something is going wrong. Either the results aren't worth the effort, I'm doing something The Wrong Way™, or the environment is hindering me.

Getting demotivated is an important emotion telling you to take a step back and re-evaluate your situation. One ignores it at his own peril. Sometimes the best course of action is to give up, which is one of the hardest things to do after becoming invested in something.

 

Motivation is overrated. You need to put habits in place so that you can keep pushing forward even when you're not motivated. Articles on Motivation by James Clear.

Learn to embrace boredom and expect that at some point you will get bored. It's inevitable.

Personally, I've struggled with staying motivated. In the past I'd start projects, be highly motivated in the beginning, lose motivation somewhere in the middle and fail to complete the project in the end. It's typical that we software developers have many incomplete projects laying around on our computers.

What has helped me:

  • Having a set goal for any project (learning or coding) I start and defining what it means to be done. As well as the appropriate systems in place to support my achievement of that goal. "You do not rise to the level of your goals, you fall to the level of your systems" ~ James Clear.
  • Working on it for a set number of hours per day, everyday until I'm done. I usually do it for 1 hour per day and I strive for everyday because that ensures it becomes a habit. If I have the choice to work on the project 7 hours on Sunday or 1 hour everyday I will ALWAYS choose to do it 1 hour everyday. (Why? Because it builds the right stuff in you like patience, consistency and other long-term values.)
  • And these books: The Dip by Seth Godin, Atomic Habits by James Clear and Deep Work by Cal Newport.

Ruheni Alex, may I ask what you're trying to learn and how you're approaching it?

 

Great book suggestions especially Atomic Habits by James Clear. I like the fact that he talks of small daily improvements(atoms) that make great impact. I think it is all about small daily habits and less about motivation.

Also, whenever you actually discipline yourself and do something rather than wait for motivation, you'll get much done.

 

the trick is to not rely on motivation alone but to instead focus on creating a system to get your work/learning done. focus on building habits and routines. Think about what other things does motivate you and see if you can mix it in with the work you’re doing. Also consider rewarding yourself from time to time somehow, consider gamification tactics (it works for some).

Above all make sure you’re doing the right work for you, if it’s something you hate consider a different project that’s more naturally interesting to you.

 

The Super Mario effect... gamification of the learning process👌

 

When learning new concepts, make sure you are learning something that has a clear benefit for you. For example "I want to learn HTML/CSS so that I can build a webpage for my dog sitting service", or "I want to learn Vue.js so that I can refactor that smelly front-end code that I hate dealing with at work". When you want to learn something just because it sounds cool it might keep your interest for a while, but once you hit your first obstacle it's likely that you will conclude that it's not that interesting and move onto something else.

For projects, what seems to work best for me is to be disciplined about code quality. Always do the things right way and always try to get deeper understanding of the issue, even if it takes saying 'no' to the management, or pushing a deadline. As somebody once said "Do the right thing and wait to get fired". This is the best way to learn and grow as a developer - by solving real life problems in a good way, and if you like programming this could be enough to keep you going long term.

 

Small goals are always good. Rather than saying "I'm going to learn all the things," break it down into smaller, manageable chunks:


I want to be an expert in Vue

I want to learn how to use components, I want to learn how to use directives, etc.

I want to learn how to register a component, I want to learn how to pass data into a component, etc.


Breaking things down into smaller chunks (and working though those one at a time) will give you a measuring stick. You'll be able see how far you've come just by seeing how many of those chunks you have crossed off your list.

 

I learn so that I can share it with others. Opportunity to give back to society drives me.