I write software because I like solving problems for people. It's gratifying to build clever things, but for me it has to end in making the world better somehow. Even if it's just one person, which has happened when I'm building in-house tools.
But there's so much out there that isn't about actually getting things done. E.g., the project that is touted as using the hot technology (e.g., ML) because people want to be seen as on the leading edge; actual results would be a hindrance to bragging. Or the executive who wants to respond to public criticism and so launches an initiative that will show a lot of motion and be something they can point to, but will not actually make a difference. Or the big-talking boss who gets promoted based on the size of his project and how tough he looks, so he drastically overstaffs something, causes a lot of chaos, and then makes everybody work stupid hours in crunch mode to hit an entirely artificial deadline. And so on, and so on.
These sorts of bullshit projects are way harder on me than actual hard work, because I experience constant dissonance between my goals (make things! help people!) and the day-to-day of the project.
And I think it's even worse for others, because it's easy to learn the lesson that the important thing at work is just to shut up and play pretend with whatever the bosses want. That's a lesson I absolutely refuse to learn. But many apparently do, and that can ruin a person for their whole career.
It’s hard to solve for these problems because that tone comes from the top, but trusting people and removing toxic personalities is a good start. Every successful team I’ve been on had a focus on the customer and the end goal and didn’t let politics get in the way of solutions.
The positive side is that I can now recognize the good signs too. And I'm much better at diagnosing and fixing issues. If the people with power want things fixed, which is definitely not a given.
After hanging up the towel officially, my mind is boggled by how much the constant pushing against a wall was weighing on me.
The same applies to any sustained pursuit, be it a hobby, work, relationship (romantic or otherwise), family relations, etc.
If you constantly bash your head against a wall and factors outside of your control conspire to mean that you make no or little progress and receive no or little reward then you need to stop.
Burnout is your body's way of forcing you if you persist.
I signed up to work on a microservice where we were supposed to be a small startup within a big company. We supposedly can make decisions which are good for our customers and work on interesting challenges.
Except security and compliance is top priority, and it doesn't matter how those security and compliance requirements fit our service. We need to get a checkmark. Everyone from security and compliance team is unable to have a technical discussion but they continue make technical decisions for us.
And in order to stay relevant, they change their checkmark requirements every few months. So we spend all our time, trying to keep our service compliant and don't really get anytime to work on real issues.
I get the feeling my job's main function is to keep these security and compliance people happy. They have no skin in our service, my manager doesn't want to bring up issues with her higher up.
All this leave me feeling extremely unsatisfied and burned out at the end of the day.
I doubt more than a quarter of it ever had an overall positive effect—monetary or otherwise—large enough to justify the cost of writing it.
I've spent probably a third of my career, spread out here and there, working on projects that all the ICs could tell were doomed for super-obvious reasons (clear failure to find product/market fit then doubling down, entering a market very late and with only a few percent of the investment it would take to have a realistic chance at it, that kind of thing)
Then there are vanity projects like a company's annual investor report app. JFC.
Working in tech feels like being a small part of some kind of horrible random input process that feeds the capitalist pyramid above.
The majority of my last ten years have gone toward start-ups, and the timelines toward EOL are generally even shorter - at least until we hit something out of the park. At the very least the days are exciting, the problems are interesting, and the distance between myself and the end user is very short.
"I'll do this nonsense because I need the paycheck" is a way to avoid burnout, unless you already have enough money for your needs that money can buy.
I think I'd be absolutely thrilled to be in this industry, still, if I wrote code... I dunno, 25-30 weeks per year, then did literally anything else the other weeks, including any kind of work that didn't involve staring at a screen.
It's doing the same thing almost all damn year that makes is such a grind.
I like working, actually. I hate doing the exact same work 48+ weeks per year. HATE it.
Everyone will encounter something like the following in their career
1. There is a problem that your customers and you face - but you are not allowed to solve it for "Reasons"
2. The product area will never work, but you must continue working on things that no one will ever use for "reasons". Ever write exhaustive test coverage for something that won't be used?
3. The things that you work on will never take you to where you want to go in your career. Your managers will not let you take on work that moves the needle for you personally.
4. It's the same problems day after day without any resolution. There is no support to solve them (A ticket queue with dozens of identical tickets).
I'd say the main times I've felt burnout were one of the above.