DEV Community

Cover image for How do you keep yourself motivated and passionate about coding?
Keff
Keff

Posted on

How do you keep yourself motivated and passionate about coding?

I've been dealing with loss of motivation and passion for quite some time (almost a year ^_^'), to the point where I'm leaving my job in a week to focus on other passions and interests, though I really like coding and everything around it. I would love to get back into it in the near future after resting for a bit.

I'm interested in knowing what you do to keep on top of this. What are some of the methods and things you do to not burnout or lose motivation? How do you not get bored of the job?

Photo by Uillian Vargas on Unsplash

Top comments (6)

Collapse
 
miketalbot profile image
Mike Talbot ⭐ • Edited

I hate the "mid project blues" which can just be never ending when you are in the "constant middle" of stuff. A break is probably the best bet, doing something different, or a different part of a project has helped me before.

Passion for what you are building is key, teaching yourself how to identify it and then maintain it has taken me a long time so far, but I can still get those blues and then it's a case of hanging in there and "turning up" until it gets better. I can mostly get through stuff like that in a couple of weeks now, but only because I know myself pretty well.

I'm sure you'll find something that peaks your interest and suddenly coding will be the answer to that problem.

Collapse
 
cubiclesocial profile image
cubiclesocial

I've found that any project that exceeds 6 months in length tends to drag everyone down mentally. Past that point, the project starts to feel like it just drags on and on. There's usually no option but to press on and push it to completion because anything else is a distraction. Of course, after a lengthy project has completed, taking a long break is absolutely necessary. Since everyone burns out at different rates, there's probably no easy formula for calculating how much time off any one person needs to recover. Also, the workload over a team is likely to be unevenly divided as well.

It is always a good idea to re-evaluate scope creep potential from time to time. If something can be cut from the project and set aside for later development that shaves off a month or two of dev work, then dropping it might be disappointing but gets the project out the door sooner rather than never. The longer a project takes, the more likely it is that it will fail to ever reach completion.

It would be far easier to self-identify burnout and bring it to the attention of others if mental health was deemed as important as "the bottom line" (i.e. profits). That's not how today's society is structured though as people are largely tools to maximize profits above all else. It's an unfortunate reality of the world we live in.

Burnout happens a lot faster on projects where there's no vested personal interest in the project. That is, the developer doesn't believe the project has value or it doesn't align with their own personal goals.

Collapse
 
accreditly profile image
Accreditly

Personally, it's hobby projects.

I used to spend all day programming, but on things I would have little control over the direction of. I enjoyed it, but like many jobs, it often got monotonous, boring or frustrating, although I did enjoy it for the most part.

During that time I always had a hobby project I'd work on. Something that involved emerging tech or something I hadn't done before. Those hobby projects kept me motivated to do the other work as it gave me that dose of interesting work I needed to keep me going on the work I was less motivated to do.

Collapse
 
jeeny profile image
Scott Schwartz

Along with everything mentioned here it might be helpful to look into how you code. If you love to code then it's possible that the execution of that love is putting a damper on things.

I'm not saying you do any of the below, but in case you do this might help!

For instance, do you spend 3 hours trying to solve the same problem over and over again? Ending up down a rabbit hole where you can't remember what the code 30 lines up does? Try coding in 15 minute sections. Code for 15, break for 5, code for 15, break for 10.

This gives your brain time to relax and will let you come back to the problem with a fresh pair of eyes. You might even find out that you solved the problem while browsing r/aww.

Are you only working on tasks that don't interest you? If you keep getting assigned infrastructure tasks but want to be working on the API then make sure to ask for those tickets! If you have a good manager they will be happy to switch up your work in order to help prevent burn out.

My last tip is to leave it at the door for a while. Stop thinking about code once you "clock out". Don't read blogs, come here, or do anything else related to coding. Eventually, this should help to make it feel special again.

Good luck and know that the itch will come back eventually!

Collapse
 
apetryla profile image
Aidas Petryla

Hey, great question!

For me, coding isn't the aim, it's just a tool. Tool to realize the idea which I have. I can choose to code or to use other tools when appropriate and I don't find here anything special. Same as when building a house: my aim is not to be passionate by laying the bricks, but by building a home for myself or for others. :)

Sometimes I also do lack of passion at my job. And I find it's because of lack of meaningful goal (meaningful goal is something that I personally feel or I can relate to, feel impact of. Not that it's meaningful for the company).

I find it great that You're continue searching what You're passionate about and greatly support You in this. Keep it on!! This world is a wonderful place and You can't guess where life will lead You! :)

Collapse
 
reaminated profile image
Reaminated • Edited

I just wrote a post about, copy pasting here. Whilst it's around gamedev, I think the concepts still hold for whichever project.

I find discipline becomes easier when seeing progress so I always try to look back at what’s been achieved every few weeks, however small, and be proud of it. Not to make it sound like a feel-good wishy-washy thing but I think it’s easy to forget how much you’ve achieved relative to your skillset and resources when it’s so often compared to other people’s work (which may be further down the line).

If you still like the game idea, clearly something else is stopping you. Identify what it is. For me, as more of a programmer than an artist, testing the visual side of things seemed like a pain (setting up Unity, making sure camera is correct, finding an image to use etc..). To counter this, I’ve now created an ever-growing folder of assets I accumulate from the web and set up a prototype project for my game where I can quickly test ideas. This includes backgrounds, sprite-sheets, random images, sound effects, music etc… Therefore whenever I want to prototype anything, I can focus on the programming more than the environment setup.

Find out what your bottlenecks are during development. For me, my PC was slowing down too much and Unity would take a while to load up (didn’t take too long but when you’re not motivated enough anyway, it’s another excuse to ‘do it later’), which took me out my zone so I upgraded the RAM and installed an SSD drive. A faster machine makes so much of a difference to me when developing.

I now maintain a personal dev diary with screenshots. In order to be good at this, I customised my workflow to help take GIFs quickly without losing focus

The internet is probably the biggest distraction so I now make time at the end of the day to catch up on articles that look interesting but aren’t necessarily pertinent to what I’m doing at that time.

Play to your mood. If you’re really motivated, work on the more 'boring’ things if possible such as non-visual/backend stuff. When you’re not in the mood, work on something that can give instant feedback which I usually find has visual aspects. The latter also works for when you want to share your work with others here or on Twitter or something and get feedback. (Of course, that’s just for me, you may find the backend aspects much more rewarding)