One thing that happens when you're developing projects, no matter big or small, is burnout. You work on a project for hours, days, weeks, months, or even years and you hit those points (or point if you've given up) of just feeling like it's not worth it, or that the project is too big or tedious for someone like you. Today we're going to be talking about that feeling and how to escape it, and how to stay motivated through projects, as well as learn from people in other projects how they push through it.
Motivation or "willpower" as some people call it is the ability to push through a project, doing whatever necessary to see the project's success. Sometimes in life we get to a point where it just doesn't feel worth it, the project seems too big or tedious, you get stressed out, or something else. So how do you push through it? Well, that's easier said than done. A while ago I asked Andrew Kelley (the creator of the programming language zig) how he doesn't get burnt out, let's take a look at their response and analyze it a bit.
One of the big tricks is to allow myself to bounce around to different aspects of the project at the whim of my motivation.
Another trick is that I get motivated by trying to "unblock" other people from contributing. A lot of what I do is to work on areas that unlock aspects of the project so that other people can contribute, and I get energized by seeing people use zig, whether happy, or struggling, either way it makes me want to do more.
This was really inspiring to me, and in my opinion really good advice: work on different parts of the project, and use people using your project, either struggling or not, as a form of motivation. Doing small things like this, I could certainly see how it helps. Sometimes you just need that type of convincing or "push" to keep you moving forward, and seeing people use or acknowledge your project is definitely rewarding, especially at the large scale.
I also asked someone who works at the company Discord how they don't get burnt out working on such a large scale project. This is quite larger than something like zig, with millions to billions of people using it daily. Let's go ahead and take a look at what they had to say about the question.
Ok so, to your question, how do i not burn out? The answer is, i do deal with burn out, probably more now than ever, since im a tech lead rather than just a team member.
But the truth is, i love what i do and i love working on discord. it matters a lot to people, so that does motivate me to ensure we ship good features, i know that even if i work my ass off and stress myself out over something, millions of people's lives will be impacted (hopefully for the better).
We start to see a common theme here, people are motivated by other people. They see people using their project(s), they see people happy or struggling, and they use that as a form of motivation to continue working on the project. But there's also another key factor: they love working on it. Working on a project, no matter big or small, if you do not enjoy working on it, then it's not going to be easy, or maybe even even worth your time. So what bullet points can we take from this, and how can we stay motivated during burnout and working on projects?
- Work on something you enjoy working on
- Use the fact people use your project (either struggling, or happy with it) as a "push"
- Vary what parts of a project you're working on, so it doesn't become repetitive
But there's one more bullet point I've found that works myself not mentioned in these responses: work on something you would use, don't work on something or make something purely for the fact someone else might use it. In the end, if whatever you make isn't used by others or even yourself, you will feel let down, depressed, and upset. On the other hand, if you do build something that you love and use yourself, it won't matter as much whether it's beneficial to others or not. This is a very important thing to keep in mind, Discord for example was originally made because the founders were gamers and wanted a place to chat for gamers, and It later branched out into something even greater. Zig was made because the creator saw flaws in other languages and wanted to make something they and other people could use that's robust and reliable while keeping simplicity.
So in the end? The things to take away from this are: Work on something you enjoy, use your project's community and/or userbase as a form of inspiration and motivation, vary your workloads and parts of the project to prevent things from getting boring and repetitive, and work on something you would personally use, with other potential users being a secondary motivation.