Is it me, or do most software jobs cause burnout?
Been a dev for about 10 years. I’ve had no issues advancing in my career or leveling up my skillset and I’ve generally gotten great feedback from my boss and peers.
But I’ve worked for several companies and every single one burned me out, i feel like I don’t have the capacity to grind the way my peers do. Things are usually good for a few months and then management asks for some huge delivery on a tight deadline and it completely burns me out. This has happened so many times in my career. Does anyone else struggle with this consistently?
47 comments
[ 4.7 ms ] story [ 105 ms ] threadI’ve worked in a number of industries in a number of roles for others and myself. I’ve burned out faster working for some employers than others but also while on my own projects. I absolutely prefer working for myself, but it hasn’t saved me from hitting walls now and again.
Having your own thing, and nobody else to blame, can be very stressful as well. But only if you don't know when it's time to move on.
What is the fear that makes you put so much energies and stress in work?
One of the best things I did early in my career was to save money. I don't really fear much losing a job, I can live without one for a prolonged period of time.
The only reason I would burn out would be if I had to count on every next paycheck.
For me, money never was the problem. My main reason to burnout was stress and missing time for my own things & projects.
In Italy you ain't getting a liveable or comparable wage to what I make.
1. There is a hard limit of the amount of work you can physically / mentally. Lets say the theoretical limit is like 18 hours a day, 7 days a week.
2. There is a "soft" limit where you as a worker have decided "I have 'enough' work. I will push back on any future asks until some tasks are completed or removed.
3. You more or less decide how close the soft limit is to the hard limit.
4. The closer your soft limit is to your hard limit, the faster you will burn out.
---------
I really don't why people who are susceptible to burn out don't just move their soft limit up an hour or two a day. If you wait until you are working 9-10 hours 5 days a week before speaking up that you have too much work, or the timeline is not going to happen, why not just do that same thing at 7 hours?
90% of the time, a manager has little to no idea how much effort something takes.
Because it's "office work" and it's hard to gauge how close you are to burnout. You can be well below your soft limit, and have a project just change requirements completely from underneath you and you'll speed right past that limit. Changing requirements, changing deadlines can shift your stress level dynamically (and sometimes drastically).
Not everyone realizes where their soft/hard cap is at. Maybe you can conceptualize this and write something that can help others see it in a better light.
But you don't have to be overworked to be burned out. Some other reasons that come to my mind:
- too little work. I literally had nothing to do for some time because of internal processes and it felt pointless. You'd like to go beyond and use the time productively but oh, you're burned out so there goes your willpower. Boredom can be a real killer.
- lack of perspective, the job is ok but feels you'll just keep doing same thing forever without really growing
What helped me was being realistic and honest with what you can deliver within the deadline. Do your work for the day, then disconnect and relax. Otherwise burnout will force you to. Switch teams/projects/jobs if it feels hopeless.
I think it's also difficult to hold any boundaries, if everyone around you is grinding, and working 16-hour days 6 days a week, and living at the office or working from home. But, it depends on company culture too. I've learned to get a feel for how much work-life balance will be at any given employer. And eventually you just settle into that one role that's a good fit, and doesn't ask too much, and you establish a smooth flow that's sustainable.
My current job is self-limiting, as it is part-time, and so I am not allowed to clock more than 29 hours per week. So even as a WFH gig, it's not possible for me to be workaholic; eventually at the end of the week, I need to disconnect and take a breather, and do something like a hobby or recreation. Also, my department is really laid-back, and we're not paid based on doing things quickly, so we're encouraged to be diligent and do a good job, not a rush job.
My job description is one line. One sentence, one line job description. I'm not required to go outside that description, even informally; I'm paid to do what's on the page, and I'm not paid to do anything else. Since the boundaries are crystal clear in this way, and management is so very supportive, even when I'm stressed and faltering, I have a really sustainable flow, and I won't burn out.
In my humble opinion, yes.
Unfortunately I cannot express myself accurately in English to convey the message, but my personal conclusion is apply the 80-20 rule in everything you do and you will see incredible results.
There are days where I cannot use more than 20% of my whole energy, because my mental state is over-stimulated with data and unnecessary information, that literally intervenes in my personal life and that is when it becomes unhealthy and you need to draw a line and say "that is enough; this is not normal".
I could be wrong, but I have the impression since the evolution of modern web development with all these trendy JS, CSS, back-end, front-end toys so-called frameworks, we get bombarded with bleeding-edge technological achievements that we rush ourselves to catch up...and that leads to mental exhaustion, fatigue, anxiety, and at some cases to depression for being unable to catch up so you can compete with the current market, let alone with younger people that just graduated and their brains are like sponges.
In many other lines of work, you learn a skill, then refine it through work, with a trail of things created reflecting that development. In tech so many skills are disposable, and so little of the product survives iteration. The results likewise feel worthless to me, and over time the worthlessness of the work overtakes my own feelings of self-worth.
Writing books holds it's worth, writing programs does not.
If your job is actually making a physical thing, it's very easy to see the results of your work. There are tangible objects you can see and touch. Even if you're digging ditches all day, you can see the holes. In software, you're producing something intangible, and so it's much harder for your brain to tell you accomplished anything for all your work.
On top of this, software is cheap to iterate on. This means requirements can shift on very short notice, and the thing you built yesterday may not be useful anymore, and gets thrown in the trash. Again, your brain takes this as you putting in work and not accomplishing anything.
And then when it comes to deadlines, a lot of the time they're completely arbitrary. Someone circled a date on the calendar. Or bosses often don't do a good job of conveying why the deadline was set. Or the deadline passes and other teams aren't ready, so it turns out you didn't need to work that hard. Your brain ends up wondering why you put in all the effort when you could have done it less intensely and gotten to the same outcome.
All jobs can have aspects of these things, but I think they're much more prevalent and concentrated in software. I don't think there are any magic bullets. Maybe if managers and bosses understood this and took some care to not exacerbate those types of situations that contribute to burnout. Make sure people understand what they're contributing and give them something they can point to. If something gets canned, try to give the engineer a quick "win" with a small project before putting them on something new that might also get cancelled. Make sure deadlines aren't arbitrary and ideally that they can be met without grinding.
Not a magic bullet but it helps to build your own mental defenses to this. Recognise that the deadline is arbitrary. Predict what will happen when it arrives. Adjust your effort so you are not overextended time and again.
Similarly recognise when code is likely to be thrown out, and don't pour your heart and soul into it. Make it good enough, then look for you life satisfaction elsewhere.
It's beginning to change and I can say that the biggest factor that's triggered the change: me/my mindset.
I used to go all in, every day. I was super motivated and wanted to stand out and deliver super high quality and I wouldn't quit until the job was done. Part of it was imposter syndrome, but also a big part was that I held myself to high standards.
I still hold myself to high standards and am self-motivated, but I've realized that I don't always need to be operating at 100% to be effective. It's important to build up your reserves during times when there's relatively low pressure so that you have the energy available to tap into when a big delivery comes along.
Also, I can only speak from my own experience here, and different things work for different people. I can say that in the past year or so, I've been focused on: * increasing impact while reducing effort (because really, the impact is the most important thing) * taking time for myself every day, knowing when to call it quits if I notice I'm spinning my tires * remembering that not everything has to be done today
I really care about the work that I deliver, but I also am aware that the company I work for pays me for my cognitive function, and so I focus on optimizing this.
A car that's driving at full speed runs out of gas quicker than a car that's light on the throttle.
I have been in the industry for 7 years and no burnout yet. I take breaks, I slow down, and I always go home on time. My output is still consistently higher than my coworkers who overwork themselves, because not being burnt out allows me to think clearly.
I’m just focused on learning from where I’ve gone wrong & improving my self knowledge to ensure I don’t dig myself into that hole again!
What pushed me over the edge recently is management pushing for faster velocity for a service that is utterly meaningless. No customer is waiting for it. No savings of money. No really awesome outcome. But, it must be done faaassst. Has anyone asked why?
And in that question, I found the root cause of the problem. I figured out that management wants me to finish this ASAP because it is affecting their ratings as compared to peer managers. Not because it brings any meaning to anyone. Not because it will help any customer. Not because some $$ is on the line. Certainly not because they want to promote me.
And I realized that I cannot work hard for meaningless deadlines that make some random manager look good. It's just not me.
For my next job, I am hoping to find something that serves the company, the product or some real vision. If I work for a manager's ratings, I will burn out again.
I think most programmers don't burn out. There are a lot of programmers whose jobs are undemanding 9-5 and it's all cool.
There are a lot of high stress jobs, many unnecessarily so, not just in programming. If you work in certain FAANG jobs you can have enormous stress, but there will be other parts of the company that are laid back (well, maybe not at Netflix).
And then of course there are people who will burn out in almost any job. I am one of them, so some degree. I consider it self-inflicted.
Different pacing is important on a team. Some rush ahead making a lot of mistakes. Some sit back and work on a thoughtful solution.
When I learned programming I was super motivated. I would come home after 8hrs of work and work on whatever for 4-6 hours (didn't have many other responsibilities). I learned a lot, and wasn't burned out, not really. Probably a little tired.
But now, sure. I can work on a shit project for a shit team for two hours and feel more tired than I should. I think it's the shit work and the shit people though not the software project itself, but I guess software does "lack other satisfaction" in most respects... but let's say I was doing carpentry, and I had a shit client, and he asked me to make 1000 boring boxes, sure, I can see myself getting equally burned out.
We're just throwing brains on the fire to put it out. There's no safeguards for mental suffering in the programming industry.
I don't know what I should tell you. I burned out so badly I haven't actually worked since, that's a few years ago. The good thing is our skill is valuable, it took some time but today I am self independent as good as it gets what is very fulfilling.
Except for when working at a small software company (half a dozen employees, 2 Devs), which happened to be run by a sociopath, I've not experienced high stress / burnout culture in the corporate software world in the UK. Everyone seems pretty chill.
I don't think software engineering jobs are special when it comes to burnout. I think it's just software engineers think themselves special, and few lack the reference point of another job to realize how prevalent burnout is.
At the end of the day, pretty much all jobs suck and will have you feeling worn out at one point or another. Some days are worse than others.
The solution is simple: carry on. What else can you do? The grass is always greener. You could get another job, go through a honeymoon phase, but then almost certainly end up just as miserable as you are at your software job. Except in the new job, you'll be making a lot less money. No more six figures for tapping on a keyboard in an air-conditioned room.
You don't know how good you have it. You want to experience a different flavor of burnout? Go do roofing and fall off a ladder for one tenth what your current pay is. That's burnout.
One job had us logging our time in two different places- we needed to log exactly what we were working on and for how long. For example, I would have to keep track of and report that I spent “1.5 hours on ticket 72926” or “2 hours on code review”. I left for a higher-paying job.
One job was a startup that was recently bought out, and the new ownership was tightening the belt. The culture/environment got worse and worse and I started getting pain in my mouse hand/wrist by mid afternoon. I was moved to a project working with tech I wasn’t very familiar with (management knew this) and hit with a PIP so I dragged the PIP out knowing the last guy on a PIP was on it for 6 months before he was canned. I quit on month 6, and that was right before Covid hit so I had a little sabbatical for a few months. Ended up getting a higher-paying job.
When I was at Allstate I worked with an actual sociopath who made everyone’s lives more difficult. He did that thing sociopaths do where they sabotage others and I was effectively demoted to some bullshit grunt work. He was eventually fired when management figured out he wasn’t qualified to be a software engineer. Anyway I left for a higher-paying job.
I love writing code, but loathe everything else. Especially the people. I’m all for being a team player, but that phrase doesn’t mean the same thing to everybody, and managers seem to think it means “do whatever I say”.