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