Caleb Kelly

HomePosts

Struggling with Burnout

05/07/24

Now this post is going to sound a bit doom and gloom to start, but I promise it gets better!

I feel like I have been in a constant cycle of enjoying what I do, then getting burnt out and feeling useless, then back to enjoying my work, and so on and so forth.

I try to get out of the cycle, and sometimes I can for a while, but I always end up getting pulled back into feelings of inadequacy and feeling unsatisfied with the work I am creating.

Imposter Syndrome

I know this is a term that is thrown around a lot, but I really do believe that a lot of burn out and negative feelings I have come from a place of feeling like I am not good enough. I see these amazing feats of programming prowess, where someone on youtube is able to create their own game engine from scratch in C, while I struggle to get a window to open using the same libraries. I see people creating amazing things in the gaming industry using standard engines like godot and unity, and I see what I am working on, both professionally and in my personal projects, and feel inadequate.

The problem stems from comparison, so one of the first steps is to obviously stop comparing myself so heavily to what I see people accomplishing around me, whether that is just a very skilled coworker, or developers on youtube showcasing their skills.

That isn't to say that we should not strive to be better, but that we should have realistic expectations around getting better. That youtuber who made a game engine in C from scratch (shoutout to @jdh) didn't just wake up one day with all of that knowledge, but he spent months, or even years learning the ins and outs of that language and graphical programming, so I shouldn't expect to briefly peruse the opengl website and immediately have the same output. Give yourself grace!

Tools to prevent burnout

1. Take care of your health, mental and otherwise

I cannot emphasize enough how important it is to take care of your physical self. I spend 8 hours a day looking at a screen, I should do my best to spend the other 16 hours doing something else (hopefully sleeping for at least 8 of those!)

I have been trying to get into working out more, and I definitely can tell a difference between weeks when I allow myself to slack off and not get any exercise in, and when I actually take the time to physically exert myself.

Along these lines, I know this is basically elementary level knowledge, but while I am already explaining basic concepts, another key factor in health is getting enough sunlight. I am prone to leaving my home office in cave mode, but luckily my wife cares more about my mental health than I sometimes do, and will come in and open the curtains. After I finish hissing from the light burning my face, I realize that it actually feels pretty nice to have the sunlight peeking into the room.

Another important aspect of this is the food we eat and the supplements we take. I don't know everyone's intricate details of what is important for your own chemical makeup, but for me, I discovered that I am very low in lithium by default, which helps with a lot of things in your body. One very important function is that it helps with balancing mental states, so I guess that explains my random mood swings from happy to depressed! I also can definitely tell a difference in how I feel if I ate burger king and a frozen pizza the day before versus when I have a good homecooked meal, especially if I get to use some of my wifes sourdough bread! (She just got very into baking, and I couldn't be happier)

2. Have a purpose behind your work

When you are just head down writing code, solving problems, it can often get a bit too abstract, and we lose sight of the purpose of what we are doing in the first place. I have started to really nail down the goal of the applications I am working on, so when I feel discouraged and like what I am doing has no value because it is just digital, I can remember the real value. For example, I am not just fixing a route that is bugged, I am helping students get food so they can not be distracted by hunger. I am not just bashing my head against these calculations for no reason, but these calculations will help a farmer correctly treat their crops, so families have food on the table.

Having a more robust understanding of the purpose behind your code really helps bring a sense of satisfaction to the work you are doing

3. Have hobbies outside of programming!!!

Oftentimes we programmers can get a bit caught up in our work, we feel as though the only thing that we should be focused on is either programming for work, programming our side projects (gotta get that side money), or learning new things to help with the previous two options. But I posit that rather than spending all of our waking moments staring at a terminal / ide, we instead get our heads out of the code vortex, and peak around at the many other options in life we have to spend our time on.

While my preference for hobbies would be more analog in nature, the important thing is that you do something other than program. No matter how much you enjoy the code you are doing for your side project, if you spend your whole weekend continuing to look at code, you will not feel like you really rested by the time Monday rolls around and it is time to work on the feature branch you didn't finish Friday afternoon.

So my recommendation is to do something analog, learn an instrument, start reading, take up gardening, go hiking, start hunting bigfoot, get addicted to stamp collecting! Well maybe not that last one, but I guess whatever floats your boat!

In the end, I don't care if the best you can muster is switching from looking at code to playing a video game, so long as you let your brain rest for a bit.

Conclusion

I know this post was kind of all over the place, and I certainly don't anticipate that it would win any awards, I am really writing this in part to help get through some burn out I am currently feeling. I hope that starting to share my thoughts here on my website will lead towards feeling more fulfilled in life, just like the tools I mentioned above!