The one on burnout

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.

A github contribution graph that is overall fairly populated, but has several small gaps, an entire week of no entries in June, and an empty December section.

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.

A screenshot of a post made by me at the start of 2021 stating that "I think I'm creeping up on some burnout, what are some tips that you have to help?"? The post received 30 comments.

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.

David Frahm, VP of Growth at Tableneeds writes "Burnout isn't simply "working too much"?. It's an imbalance of your energy investment and the payoff. Knowing this helps find an effective long term solution. For example, adding something generally great like a hobby or exercise doesn't address the imbalance. You'll mask it for a bit, but the burnout will return soon enough."?

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 Condardo, Senior Software Engineer at MightNest, writes "Make sure you’re taking care of your mental health. Seek out a therapist and make sure you’re symptoms are “burnout” and not “depression”. Try taking a PHQ-9 and GAD-7 online, they’re standard screeners doctors offices use to suggest whether you might be having depression/anxiety symptoms. Therapy is always good though."?

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 Lanotte, Senior Software Engineer at SignalWire, writes "I don't think there are pat answers to burnout, I spent about a year and a half in a burnout state - that was with vacations. There is one thing that is fairly universal, prioritize sleep - as a got older, I couldn't hang with 5 hours a night anymore I am now an 8-hour sleeper (most days). Other than that, find what gives you energy and start making time for it and limit things that drain your energy. I used a time inventory to just see where and how I spent my time - not to get more productive but just to understand it better. For me at least, vacations and show binging do not help, it was making time for exercise, reading, and spending time with my family and friends. At work, I found that I need to have small tasks intermingled with the big ones, so I would throw little bug fixes in to give me a daily feeling of doing something. YMMV and best of luck."?

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)

No alt text provided for this image

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 ??.

要查看或添加评论,请登录

Brad Cypert的更多文章

  • Modern times call for modern languages

    Modern times call for modern languages

    Computing has only been around for roughly 70 years. While that may seem like a long time, it's actually an extremely…

  • Communicating in Code

    Communicating in Code

    Writing elegant code is an extremely difficult task. In some sense, you can think of it as writing a paper in a mix of…

    1 条评论
  • Dart all the way down

    Dart all the way down

    If you're using an app and it's built with a cross-platform framework, chances are high that it's either built with…

    1 条评论
  • Type Systems

    Type Systems

    This issue is going to deviate a tiny bit from the more theoretical format. Instead, we're going to dig into why I…

  • How to write less code without losing your mind

    How to write less code without losing your mind

    Today's issue is near and dear to my heart. As I've moved up in my career (in the "away from code" sense, not the…

  • Shortening the SDLC

    Shortening the SDLC

    One thing that has been on my mind a lot, recently, is how the SDLC is effected by modern development practices like…

    4 条评论
  • Read Only Memories: Optimizing Software

    Read Only Memories: Optimizing Software

    Hi! I wanted to give you some insight into what exactly Read Only Memories is. The goal with Read Only Memories is to…

    4 条评论
  • Boxing things in Rust

    Boxing things in Rust

    Rust's memory management can feel a bit intimidating for most developers. Rust gives you some control over whether…

  • Understanding Clojure's map and pmap

    Understanding Clojure's map and pmap

    Let's be honest - Part of the reason you're using Clojure is the higher order functions like . They're great…

  • Introduction to Asynchronous Processes in Clojure

    Introduction to Asynchronous Processes in Clojure

    I've been writing about Clojure for a while now, and after some requests, decided to write about Core.Async.

社区洞察

其他会员也浏览了