
100% Burnt Out - djmill
What do you define as burnout?<p>When did you first experience burn out?<p>How long before starting a new job should you start feeling the effects of burn out?<p>Were you ever burnt out after the 1st month constantly trying to play catchup?<p>Is your team so disorganized that you&#x27;re constantly playing catchup and fixing everyone else&#x27;s spaghetti code?<p>I&#x27;m curious what other people have experienced. I started experiencing burn out after 1 month at a new job. Was hired into a &#x27;Jr&#x27; role (not included in title, but still a Jr role), but I&#x27;m doing the work of a Principal engineer who left 1 month after I joined. On top of new features, I have the joy of refactoring thousands of lines of code just so I can build the new features the &#x27;right&#x27; way. I&#x27;m constantly playing catch-up, always doing patch releases within the next release&#x27;s sprint (it&#x27;s like having 2 jobs!), and I&#x27;m always the &#x27;go-to&#x27; guy for specific things that I&#x27;ve already taught to the other devs. I&#x27;ve taught others how to do things the &#x27;right&#x27; way, but things are rarely built the &#x27;right&#x27; way.<p>Playing catchup is 50% of my job.<p>Working on the current sprint is 25% of my job.<p>Fixing other people&#x27;s bugs for a release I&#x27;m not scheduled to work on is 25% of my job.<p>Mental break downs have occurred twice in the past 5 months.<p>When do I call it quits? Am I just that self-loathing that work and experience is worth more than my mental sanity? Are my expectations of the industry skewed and everyone is always this miserable?
======
saltvedt
You're not required to set yourself on fire to keep others warm.

There is such an incredibly huge gap between what is considered good software
craftmanship and what is actually happening in practice in the industry.
Nobody really talks that loudly about the ugly parts - it's embarrassing and
just reflects badly on your employer (or worse - client). But judging from my
own experience, and what my friends working at other places tell me, and how
much articles like "Programming Sucks"[0] resonate with people, you are very
likely to run into the same problem at your next job if you decide to quit.

It sounds like you're doing a good job, so instead of quitting, consider
caring less about the company, the project and your own reputation. Let
deadlines slip. Don't do patch releases. Go home at 5.

You might catch some extra flak at the start since you've been doing this
stuff so far, but at worst you will be as ineffective as your coworkers. The
company is probably better off with you working normally than quitting.

[0][http://www.stilldrinking.org/programming-
sucks](http://www.stilldrinking.org/programming-sucks)

------
kpil
> I have the joy of refactoring thousands of lines of code just so I can build
> the new features the 'right' way.

Maybe don't do that. Build what you CAN the 'right' way, accept some shitty
code, and most importantly - don't try to kill all the shitty code on your own
as a side objective.

Take a step back.

Look at what is required of you personally.

If you can make a case of rewriting the shitty parts, then do that. Presumably
if the old bugs are catching up and wastes a lot of time for you and your
team, and pisses of the customers, then it it won't be any problems to make
the case for rewriting the worst parts. That means that other things have to
be prioritized lower.

If you can't sell a refactorization, maybe because it's not worth it - as in
no economical benefits, maybe you need to adjust your expectations. Shit
happens, also in code. You are not paid to write code "the right way". You are
paid to write whatever that brings in the money.

If you can't sell it although there is a clear economical benefit, then find
another job.

Good luck.

------
MattGrommes
Sounds pretty shitty. You've been there 5 months? I'd say that's probably long
enough to see if this is just a temporary period of craziness or just the way
things are. If things are unlikely to change just by waiting, I'd say you need
to leave.

But first, I'd personally start making noise about the way things are. Maybe
the bosses think everything is fine. If you're mentally done anyway, there's
no barrier to speaking up. Start making the case that the way things are is
unsustainable. If they don't listen or you can't push through any changes,
start preparing a story you can tell your next employer and get out the door.
No, this particular job is not worth your sanity.

~~~
djmill
You make a really good point. The boss does know how shitty it is for people
and he mentioned he hopes things will change by Q1 of next year.

2 mental break downs in 5 months, I don't think I can make it to Q1 of next
year. The Principal engineer who left shortly after I joined, said the same
thing about 'hoping things would get better'. He was always waiting for it to
get less shitty, but that never happened. It feels like a bait and switch, but
with a twist of insanity haha

~~~
angersock
Get out of there.

Your mental health is far more important than some empty promise that "things
will get better".

Hint: they're not going to get better, because the problems you have are
orthogonal to how the business operates. As long as they can remain
profitable, they'll wring every last drop of productivity they can from you
and replace you as needed.

They might not state it as such, they might not even know they're doing it--
but the fact that "things will get better" date is a fiscal year should hint
where their priorities lie.

Get out--you don't owe them anything.

~~~
djmill
Exactly, I totally agree. Thanks for the advice!

------
shoo
All the other suggestions here are pretty good.

here are some from my personal experience, they probably do not all apply:

(i) establish clear boundaries as to how much time/energy you are willing to
put into your work. don't do unpaid work - this devalues your own time and
devalues the time of your coworkers. don't silently absorb the consequences of
bad decisions made by other parts of the company. push back! if you are
overloaded with work, clearly explain this, and force clear prioritisation
decisions. it is better if management rapidly feels the discomfort caused by
their own poor decisions (similar to CI!).

(ii) if there are serious problems with existing code that need refactoring
(there usually are), and it needs a substantial investment of time, make a
business case for it and get someone with authority to make a clear business
decision. people who are not getting their hands dirty with the code probably
don't have a clear idea of the reality, so you need to find a way to explain
that, and what the future consequences will be. it might be necessary to
gather metrics and make some kind of argument focusing on which parts of the
code attract the most bugs / are impossible to test / are frequently
undergoing change, and how this impacts the business.

(iii) sometimes you may be in an environment where hastily writing lower-
quality code is the best option. some organisations have found markets where
perhaps this is necessary. e.g. more consulting-ish work where much work is
client-specific and there is not enough money in it for a lot of development
effort. if you take pride in higher standards of craftsmanship you might be
far happier working somewhere else, where there are clear business reasons for
doing things at a higher level of quality.

(iv) if management's response to your concerns boils down to "after [some
duration] things will get better", they're probably just stalling, and they do
not want things to change. if they want things to get better they need to
actually start making changes for the better, perhaps small, immediately.

(v) seriously consider quitting. try to find a few people (outside of work)
who you can talk through the decision with.

(vi) make sure you have positive things happening outside of work. exercise.
eat properly. do fun things unrelated to your job. spend time with friends and
family. if you do not have that much else going on aside from work, it is easy
for work to expand to fill the void. this will not make you happy.

------
fsk
Here's what happens at my current job:

The boss assigns me 5 tasks. I ask him what is the priority (offering my
guess). He tells me the priority, and I do them in that order, and he
understands that the low-ranking stuff might not happen for a few days.

Here's what happens in a toxic environment:

My boss assigns me 5 tasks. I ask what is most important. He says they are all
equally urgent.

The 2nd example shows an ignorance of how programmers work. You do one thing,
finish it, then do the next thing. If you try to do 5 things at the same time,
it'll take much longer than doing them in order.

What you have to do is make sure your boss tells you what is the most urgent
stuff, and let the less urgent stuff slide.

