The one on burnout
I really, really enjoy writing code. It's both my hobby and my career, and in that sense I am extremely fortunate to be able to do what I love for fun and for profit. I've been writing code for both reasons for the past eleven years, and there was a time where I was writing code every day. In fact, I can recall seeing my contributions every day of the year between Github, Gitlab, and Bitbucket. I wasn't trying to code everyday, but it was a daily action for me, like reading or working out may be for others. That means that on days like my birthday, Christmas, my significant other's birthday, and other important days, I was still coding.
When I look back on this, I am absolutely shocked that I was able to do this for years before experiencing burn out. But the truth is just that, I did burn out (and unfortunately, its now easier than ever for me to do so). My attitude towards this wasn't always great. When friends told me they were feeling burnt out, I often thought that they didn't have the chops that I did and when I finally burnt out, I began to doubt that I even had the chops that I thought I did. Imposter syndrome crept in, I freaked out (hard), and quit one of the best jobs that I've ever had. To be fair, it wasn't just the burn out but that was undoubtedly the biggest factor.
Things have changed a lot in the past eight years. My employer has changed (a couple of times), my role has changed (a lot) and I've adjusted in ways to help combat burnout. One of the best ways to do this is to simply take a break. In the contribution graph above, there's an entire week off in June. This was a complete and total break. The only things that I opened my laptop for was reading articles and my more mundane tasks. I spent a good chunk of the week playing video games, taking walks, playing with my dogs and hanging out with my wife.
If you're not sure how to read that graph, no worries. The important things are that green shows days of activity while grey show inactive days. Almost all of my work this year has been captured on Github, so this is indicative of all of my coding this year. You'll also notice that most activity is clustered around the center of the graph. The topmost square in each column is a Sunday, where the bottom-most square is a Saturday. I've made more time for other opportunities on the weekends.
At the start of 2021, I felt burnout creeping up again. I was all to familiar with the feeling and was able to identify it before it became debilitating. Taking a break was enough for me this time around (in fact, you can probably identify that break with some sleuthing of my github graph from earlier), but I received so many different tips from so many different people. I've bookmarked that post so that I can refer to it later (and you can too), in case I need any of the other tips provided by others, but I want to share a few that stood out to me here.
Burnout hits people differently, but if you lose motivation for doing things that you normally enjoy, that's a pretty common sign. David's insights on "an imbalance of your energy investment and payoff" was interesting to me. I had never thought of burnout like that before, but I can definitely see how burnout can take shape through that. But how do we solve this issue? Depending on your role, there are possibly several options.
You can delegate tasks to those who may find that work energizing -- a great example of this is a linting related task at TeamSnap. We had a repository that wasn't following a linter and this type of work brings me to my knees, despite being fully aware of the value it provides. Another engineer on our team is really passionate about linters and tooling and happily jumped on the work. If I had done this work, the energy investment would not match the pay off. I want a linter, but I don't care about the specifics enough to want to invest a lot of time or energy there, as long as we end up with something.
Another option is to talk to your manager about the work that you've been doing and see if you can make time for things that feel more rewarding to you. Even if you end up only being able to allocate 5% of your time to something like this, consider it worth it. There are strategies you can take around increasing the visibility of that work and surfacing the impact that can allow you to focus on that type of work full time (how to do this will likely be a future newsletter so stay tuned!), but even if you can only allocate 5% of your time to work that is more fulfilling, it will help.
Corey points out an interesting relationship between burnout and depression. I have not taken PHQ-9 or GAD-7, but gathering more information about your mental health can help identify the root cause of any "burnout-like" symptoms and can help you find help. A large number of my friends in the software engineering space battle with depression and/or anxiety. Several of those friends have been very active in identifying where they're at in their mental health journey and have shared a lot of success both in finding out more about themselves, but also in the career and general happiness.
领英推荐
I don't have much advice in this area unfortunately, but let me know if you want help or advice in this area and I will do some interviews and research to help surface that information.
Geoff's insights have probably effected my life the most. My sleep has gotten significantly better over the past year and I've been trying to focus more on work that provides me energy. Additionally, intermingling those small tasks with big ones has been extremely helpful. One thing that provides me energy is successfully completing something that I've set my mind to. Those smaller tasks at work help me feel productive and help counter burnout generating behaviors during my day-to-day.
Burnout is difficult to deal with, but know that you're not alone. Software engineers are one of the most "burnout susceptible" fields of work there is. People are finding solutions to their burnout struggles every day and you will, too. Reach out if you'd like to talk through your struggles. Having someone to chat with can also do wonders and I'm more than happy to help.
Ice Cold Bottle of Technology (aka Learn about new tech)
Ah, frameworks. I can think of fewer love/hate relationships than me and frameworks. I write a lot of React, which is a library for building user interfaces, but I've been learning about a (kind-of-sort-of) competitor called Vue. Vue is far more opinionated than React (and solves different problems, although there is some overlap) and, while I may not agree with all of those opinions, I've seen time and time again that something is better than nothing when it comes to standards and opinions. My working with Vue has shown me that several of the pain-points that teams Ive worked with run into with React are simply issues of things not being well defined.
Charles Eames said "design depends largely on constraints," and one thing I like about Vue is that some of the constraints are provided by the framework. I saw this a lot in Angular as well, but that framework didn't vibe with me like Vue does. Don't get me wrong, Angular is still great and many large organizations use it successfully, but it's probably not the one for me.
Here's what I'd suggest. If you're using React and are regularly running into issues regarding standards (oh, that component doesnt have a container, but most do -- just an example), maybe explore Vue and see what opinions it tries to get you on board with. Some of those may help you and your team align on writing better React code. If you're starting a new project and have a team that is mostly non-senior, consider using Vue or Angular. Those opinions/standards/processes/etc help set up guard rails so new devs don't code themselves into a corner.
Shoutouts
Shoutout to everyone who contributed to my original post on burnout. I made it through and I'm sure most of it was due to the advice you all provided! ??
Shoutout to Tomito! Tomito (not sponsored, just neat tech) is a simple, clean, and elegant pomdoro timer for Mac. I'm 99% sure it's free to use so check it out: https://tomito.app/
I'm shouting myself out. I slotted thirty minutes to write this article and I'm one and a half hours in. I deserve this one ??.