How do I stop burning out?
Posted by opakvostana@reddit | ExperiencedDevs | View on Reddit | 57 comments
I'm 2023 I decided to take a 6-month long career break because I was genuinely fed up with my job and it spilled into my enjoyment of the activity of programming as well. For much of those 6 months, I didn't even want to be close to a computer, I spent my time going on nature walks and hikes and just about anything else. Towards the last couple of months, I had a few ideas I wanted to do, and that got me back into it. I picked up a new language, some new libraries, developed a project or two. I genuinely felt my enjoyment come back and I felt like I was passed my burnout.
Then I got a job at the start of 2024, market was tough, but I did find one. At first I was excited, it sounded like a great opportunity, the pay was good, and it's fully remote. 2 years have passed since then, and it's not turned out the way I was hoping. I work on a dogshit project, the whole thing doesn't have more than 30-40k loc across the whole of it, and it's already utterly unmaintainable because it's written in 8-year-old Scala that nobody wants to upgrade or rewrite. The company does not care about tech debt, all it cares about is revenue. If you can't prove an activity is going to raise more money, then it's not even on the table for discussion. This is most recently compounded by rampant and unchecked use of AI in the project. We don't even have any integration or e2e tests, and others in the team are trying to rewrite the whole damn thing in Java using AI. We don't use any static analysis tool either, and the Scala code is trash to begin with, so you can guess what that means for the "rewritten" java code. It's the stuff of nightmares, and I'm being requested to review and approve the slop AI PRs with changes ranging in the thousands of lines of code.
I'm burnt out again, I can feel it. I'm disgusted when I think about spending time outside of work to work on my own projects or anything like that, even if it's in a completely unrelated tech stack or whatever. Every day I'll be met with something new at work that makes me want to run for the hills and become a potato farmer.
What do I do? Do I take another career break? Do I just switch jobs and hope for the best that the next place will be better? I won't lie, I'm not in a good mental place most days, but for now I manage by getting enough sunlight and going for regular walks. I want to be able to sit down and work on my own projects again without feeling bad or depressed.
TheOnceAndFutureDoug@reddit
Therapy and building a life outside of your job with a very, very thick firewall betwixt your job and your life outside of it.
That's how.
MiraLumen@reddit
First - never work over hours every day. You can accelerate for a couple of weeks once in a year and work 10 hours a day - but then expect to hate programming for a month. In a normal mode - 8 hours of total work a day (with meetings it will be about 5 real hours) and if project is hard and needs a lot of brain power - even 4 hours. Work on pet projects only if you feel like this. Don't even force yourself. This is slow but allows you to grind for years and years nonstop. Saying it as a 18yoe. I had massive burnouts in my first decade for the reason I wanted to be a coding machine. Nobody would honor it - it will just cheap down your labor and make youhate your life.
rcls0053@reddit
So glad we have strict labor laws in my country. Maximum work day is 10 hours, anything over needs to be agreed with the employer and paid in overtime pay. Flex hours +-40 hours, then you have to start balancing it. Work anywhere between 5-10 hours a day. Really happy with that.
opakvostana@reddit (OP)
I've never done more than 8 hours a day. That was one of the things I banned myself from ever doing again after my last burnout. The 4-5 hours a day is about right, though true focused work is probably no more than 2-3. The rest I spend on random misc things that pop up and distract.
exomyth@reddit
You have to slow down. Give yourself more space to do the things you want to change and build the code base you enjoy working in. Since you work in sprints estimate for proper solutions and not for glueing tumors into place. With every feature / fix you write, make the code slightly better than you found it in
opakvostana@reddit (OP)
Yeah, tell that to my team lead and management. Revenue growth is what's priority, everything else is secondary. It's not like I haven't tried to get them to understand in the past. My favorite feedback I got from one of those is that "we are not an engineering-led company, product always takes priority", whatever that's supposed to mean. I stopped trying a long time ago.
exomyth@reddit
You don't have to make them understand, you just do it. They don't write the code, you do. If it takes longer, it takes longer. If they ask why you tell them it has been underestimated as the current state of the code slowed you down. And if they want to increase the velocity again they should spend more time on improving the code
opakvostana@reddit (OP)
The default answer nowadays in my team to "It's taking a bit of time" is to first ask if the engineer has tried using AI, and afterwards insist they use it. I've had it happen that another engineer would insist to get on a call with me to "brainstorm a prompt" to get something done. I wish I was joking.
But when I was still fresh here, I did try doing that. I stretched out my tickets, I made improvements in addition to what the task asked for. On more than one occasion, when I did that, the reviewer brought up that there's a lot of extra code being changed in addition to what's required in the task. My team lead/manager would later bring this up in a 1/1 meeting that I need to focus more on the task itself.
Toohotz@reddit
If we’re at the point where someone insists to hop on a call to “brainstorm a prompt”, I think it’s time to start interviewing.
Brainstorming a solution is what the end goal is, brainstorming a prompt might not yield the desired outcome.
I enjoy the tooling that we have available to us but it’s sad how it has dulled the intellect of many that heavily crutch on the tooling and hope for the best, sigh.
exomyth@reddit
There are a couple things you can do
I don't know how large your code changes are doing things, if you make large changes you should split it into two PRs. First the improvements and then second one that solves your ticket
If nobody is on your side, it is always good to start looking for backups, so keep an eye out for different jobs
And you can be stubborn, but realistic. You have been hired for your expertise, if they want to ignore it that will only slow their goals down
opakvostana@reddit (OP)
If I split it into 2 PRs, the PR for the task will get reviewed, but the "extra" one won't. I have a PR from 2024 still open where I tried to introduce a code formatter for the Scala code. Nobody's even looked at it, and I spent 3 months after that PR was opened reminding people to look at it.
exomyth@reddit
Still, just do what you feel like doing. If people ignore the PRs with code improvements then let them. At some point they will stand out and something will be done with it
That being said, code formatters are quite opinionated, there may be other reasons why it has been ignored
Infamous-Hand-707@reddit
Your workplace, as you have identified yourself, is completely hostile to good practices. They are just chasing money. Why do you feel obliged to be honest with these people? I cant imagine they have any standard for code PRs, just start building your e2e tests/framework. To get the time for it just scope the time in the stories disguised as whatever you can get away with. If they are so micromanaging that you cant even do that, start looking for a new job. And make sure you put on the bare minimum of time in your job, just enough to avoid most unpleasantness for now
mmamah-bdnsm@reddit
I've been practicing on a site onsitetooffer.com for prep, they have this ai interviewer which is similar to real interviews and helps me talk and code like a real interview setting. They also have vetted company questions and active forum where people share the questions they had during their interviews.
shaileenshah@reddit
Become a potato farmer — I think most engineers have had that exact thought at least once.
What stands out here is that you've recovered before, which means recovery is possible. But the conditions matter. Six months of nature walks worked because you genuinely stepped away. A job switch into the same conditions probably won't.
The AI slop PR review situation is its own specific kind of exhausting — you're doing high-stakes quality work on low-quality input, all day. That's not sustainable for anyone who actually cares about code quality.
Hope you find a way out of this one.
AcanthisittaKooky987@reddit
realize the work you do, while interesting, is ultimately meaningless. any sense of urgency is being faked by those around you. start not giving a fuck
ImmediateFocus0@reddit
So this is true, and has helped me, but to a diminishing degree where I can barely make myself do the bare minimum. What gives? The ONLY thing keeping me going is money and it doesn’t feel great either.
Vedris_Zomfg@reddit
if it’s urgent and I see a revenue loss. I fix it, get paid and do the RCA. On in-call margins. And then back into the Scrum wheel
amaroq137@reddit
Why don’t YOU write the tests instead of complaining about them? Also figure out a way to prove to them that upkeeping the quality of the project affects their bottom line. Do they want fewer bugs? Do they want to get changes out to production faster? Those metrics are directly correlated to the quality of the codebase. Gather metrics. Paint a picture.
reddit_is_a_weapon@reddit
Are you in management? If not, you should seriously consider it. Having someone bring up burn out and recommending more work as a mitigation is giving 10/10 manager vibes.
amaroq137@reddit
When did I say do more work? OP can learn to prioritize devex improvements along with their day to day work. Another commenter explained it more elegantly than I can below: https://www.reddit.com/r/ExperiencedDevs/comments/1sghvld/comment/of58gli/?utm_source=share&utm_medium=mweb3x&utm_name=mweb3xcss&utm_term=1&utm_content=share_button
reddit_is_a_weapon@reddit
“Work smarter,” - You are M2 material!
amaroq137@reddit
What do you suggest?
reddit_is_a_weapon@reddit
OP asked some very pointed questions:
amaroq137@reddit
So you’re not going to contribute anything but poking holes in other peoples suggestions.
reddit_is_a_weapon@reddit
That’s correct.
opakvostana@reddit (OP)
I have tasks that need getting done: introducing new features, fixing bugs, etc. If I have nothing left to my name in the sprint, the default is to pull from the next sprint. We don't account for writing those kinds of tests in our estimations, just the unit tests. Personally I'm way beyond caring when it comes to this project, it can crash and burn for all I care. On the occasions when I have proposed improvements, like adding integration tests or writing e2e tests, I get told to put it in the backlog and we'll plan it. It has never gotten planned, the usual excuse being that we have higher priority items.
cestvrai@reddit
So, you’ve never thought about going rouge? Overestimate and use the remaining time to do what needs to be done.
If not for this project then something to consider for the future.
opakvostana@reddit (OP)
I don't have personal control over the estimates, we do poker planning. I can say something is larger than it is, but it's hard to defend when 6 other engineers say it isn't.
amaroq137@reddit
Man that really sucks. I’m sorry for your situation. From another comment of yours it sounds like there’s no room for the technical direction of the product to be challenged if your tech lead and manager aren’t on board with your vision. Not every team out there is hostile to improving the quality of their codebase. At this point it sounds like the best course of action is to leave and find a company whose engineering culture more closely aligns with your own values. I hope you’re able to land a better role soon!
amaroq137@reddit
So scope it into your estimates. If you don’t care then just do your bit and log off at the end of the day to manage your own mental, but if you’re complaining about it to strangers on the internet it feels like you do care.
opakvostana@reddit (OP)
I can tell you've never gotten burnt out before. Thank you for your feedback
Sunstorm84@reddit
I have been burnt out before, and in my humble opinion the only reason solution if the company doesn’t care is to stop caring yourself, while looking for another job. I would just give them the AI slop that they want and spend the time it’s busy thinking to apply elsewhere.
opakvostana@reddit (OP)
I agree, and it's not like I haven't been trying to do that. The main issue is that I really, really like WFH and I live 2 hours away from the nearest "tech-heavy" job market if you get what I mean. So if I had to go to an office, it's a choice between moving and commuting 4 hours a day. Remote positions are... tough. Really tough. Use to be much better 2-3 years ago. I've been looking at the job ads for the last 6 months, and during that time I've sent out maybe 20 resumes, with 3 of them resulting in interviews. 1 place actually gave me a job offer, but the whole company was giving me bad vibes after the interview process, so I declined. Maybe stupid, but I'd say switching jobs only to end up at a place that's as bad or even worse is stupider.
Dragon_ZA@reddit
Do you have an EM or Technical Lead on this project?
Deep_Ad1959@reddit
writing tests is good advice but the reason most people don't is the upfront cost feels enormous when you're already underwater on feature work. the trick is to start with automated smoke tests on the critical paths rather than aiming for full coverage. even 10 tests covering login, core CRUD, and payment flow will catch the worst regressions and give you the confidence to refactor without everything catching fire.
olzk@reddit
Look, I don’t want to disappoint or discourage you, but shit code quality is a norm. Unmaintained code is the consequence of broken deadlines, poor communication and all that jazz. You’re gonna need to be a little more chill about it, and look at the problem from the business perspective. Also, my strong advice is to stop treating Scala (your tool) as trash. This is one of the first things that keeps you down every day you work with it. Simply don’t. It’s just another language, has its quirks and features, it does its work well. If you could you’d change it (or the company?) for sure, but it is what it is. Right?
R2_SWE2@reddit
Burning out for me usually comes from thinking about work stuff outside hours. Even if you’re not actively working, thinking about it when you should be resting is a recipe for burnout.
One of the best pieces of advice I’ve gotten is to leave 10 minutes at the end of each day to document exactly where you want to pick up the next day. Get it all out. Then if you catch yourself thinking about work after hours, gently stop and remind yourself that the time to think about work is tomorrow morning and everything you need to think about has been documented.
opakvostana@reddit (OP)
I've been pretty good at avoiding having to think about my job outside of work hours. Didn't use to be like that, I remember in 2022/2023 I would regularly leave some unfinished business at work on friday and think about it sporadically through the weekend. Actually worked some saturdays because of that, too. Because I wanted to fix the thing or solve the problem. I didn't realize how unhealthy that was then, but now I do, and I'm happy to say that the only times I think about my job's problems are between the times of 9 and 5. Genuinely, the moment the clock strikes 5 the company may as well have disappeared off the face of the Earth for me.
But I separate the concepts of work and a job. The work is programming, problem solving. The job is my specific employer and whatever responsibilities I have with them. I love the work, I hate my job. My job nowadays burns me out so much that it's now starting to affect my enjoyment of the work. I'm starting to hate programming because of my job, and that sucks.
g0atdude@reddit
Well I stopped working, that helps
SimasNa@reddit
I found that mentoring or something similar where I'm helping other people helps me stop burnout. I burner out 5 times before I discovered this... Then I signed up to mentor students and I also coach tech leads particularly around preventing burnout. I found that this type of activity helps me offset whatever is causing me to burn out at work.
I believe I also read a study about how mentoring others helps with burnout. It may not be your thing, but it's definitely something to consider if you can find a way to do it.
ChibiCoder@reddit
The only people who have EVER given a shit about software quality are developers. Even users don't really give a fuck, so long as the jank doesn't cost them money.
I do personal programming projects as one of my hobbies because I can make them as perfect as I want to, which gives me satisfaction. At work, I do what is asked of me, even though I cringe at the long term expectations.
Outside-Storage-1523@reddit
You can't unless you are lucky. People who claimed that they never burnt out are those who are lucky to work in fields they really care about, like John Carmack, or people who are already financially free.
I'd say, just grit through, make as much $$$ as you can, reduce all costs, and retire early. Hopefully you still love programming then. Don't get a kid in the middle because it really impacts your mental and let every burn out feels 10x bad.
mq2thez@reddit
Stop coding outside of work. Stop working longer than 9-5. These things will always lead to burnout, but especially if work sucks.
As for the stuff at work: be the force of change you want to see.
_itshabib@reddit
Have a life outside work. Friends,gym,competitions,social outings,hobbies
Infamous-Hand-707@reddit
I think your biggest problem is in the mismatch between what you expect software development to be and reality at most companies. If you want to prevent from burning out, you need to accept that reality first. Case in example, your company does not care about cose stability or quality. They have told you this directly, its clear from their wow, and from what people are doing the jobs. Your attachment to principles (that do not even matter in the grand scale of things) is what is causing your burnout. Either go work at a place that is filled with people that share your values, learn to decouple your values from the place that you work, or start doinf other kind of work. Just my 2 cents
opakvostana@reddit (OP)
I think what you're saying makes sense, and I've considered that before as well. I'm attached to my work, I like being proud of what I do. I want to be able to look at what I do and say "that's a good job". I don't know how to stop doing that. To me it sounds like a completely normal thing a human being ought to do: you spend 8 hours a day doing something, you should at least feel like it was worth the effort at the end of the day.
Infamous-Hand-707@reddit
Oh I agree it is close to the ideal way to live and for society as a whole to function. But sadly ideal and reality are not the same. I would avoid working for over burocratic organisations like banks or goverment. I would also suggest not work for start ups I think, too mich corner cutting to meet deadlines. I think a medium size relatively mature tech company might be best? There will aleays be tradeoffs but I feel (not from experience to be honest) that those places will strike the best balance for you. When interviewing ask the techlead questions on quality and how they guarentee it within th company
nkondratyk93@reddit
the break thing is real but the mechanism matters. for me it wasn't distance, it was finding something to actually build that no one was asking for. like a pointless side thing. the second someone else's needs are out of the picture, something resets.
thePeacefulDev@reddit
Your project and tech sounds pretty bad. Is there an option of changing the team?
Also since you mentioned that you were fed up with your last job also, and someone who knows the importance of being out and giving yourself a break; I would also suggest that you think if there is something inside you that is not letting you settle in these jobs.
bbw_slayer@reddit
I think you should try for WFO jobs, I'm currently in a remote set up and it's not good. The upper management wants to chunk out features via claude to boost productivity. I'm sick of it. I'm currently on a vacation and I don't even want to look at the laptop. I don't even make much and I'm burnt out ffs.
After this vacation, Once I'm fired I'll look for jobs and maybe rethink about how I wanna navigate this. My options are considering a WFO job because at my last job atleast the teammates helped me get through a terrible work environment and it was bearable. For Now Sunlight and walks like are doing wonders for my mental health. I don't know if this sounded more like a rant but we can talk more about it.
opakvostana@reddit (OP)
If I had to also travel to an office for the job I'm in today, I think I would have offed myself by now. WFH is the only saving grace this place has, and I'm not going to risk that at a new job where their projects and problems might be even worse than the ones I'm dealing with. I worked from an office at my last job, and yes I liked my colleagues and they're partially the reason I spent so long there, but despite that I still got burnt out, though for different reasons. So WFO isn't the magic pill in this case imo
roodammy44@reddit
I had burnout recently and I think WFH was part of it. If you were in the office you would have been having a lot more chats about this stuff with anyone who was near you. That helps to get out the feelings. And it’s a lot easier to leave all these thoughts at work if you are physically in a separate place.
But I also think the workplace itself has a lot to do with burnout. My burnout was caused by productivity anxiety from the annual review process combined with constant layoffs. Then I got it worse at the next job which was a startup with an intense pace and an utter, flaming asshole as the CTO. I was very very careful in choosing the next place. The guy I’m taking over has worked here for 8 years and is quitting due to boredom, which sounds like a dream to me right now.
YahenP@reddit
If you don't need the money and view your work primarily as a part of your life, then take a break. I don't think the problem is with the code or the management, but rather that you don't enjoy what you do.
opakvostana@reddit (OP)
Unfortunately bills need to get paid, but I do have enough cash lying around that I could take another 6-month break if I really needed to. But I've already done that, and here I am 2 years later already on the brink of burnout again. Am I gonna keep doing this every 2 years? Need a longer term plan than that, I think.
YahenP@reddit
For me, for example, a half-year vacation every two years sounds like a dream I'll never achieve. So from my perspective, it sounds like the perfect career. But that's only my perspective. It probably doesn't look nearly as appealing to you. I know that in your current state, looking for a new job is very difficult. I won't give obvious advice like "rethink your attitude toward work" or "put less personal elements into it." If you could do that, you would have done it long ago. I'll tell you something else. There is life on the other side of burnout, too. There comes a point when work becomes just work. A place to earn money. And nothing more.
But if I had the opportunity to take regular six-month vacations, I would definitely do so. :)
ctrl2@reddit
High code quality simply isn't normal in the industry. You could switch between many jobs and you'll always see this. It doesn't generate revenue so the business doesn't care about it. I think AI code reviews are something we are all facing right now but you can't have such high expectations for the engineering quality.
I would seriously consider finding other hobbies. Spending all day in the editor is going to burn you out no matter how amazing your job is, that is just normal. After programming became my job it could no longer be my hobby.