
How I’ve Avoided Burnout During Decades as a Programmer - mrtbld
http://thecodist.com/article/how-i-ve-avoided-burnout-during-more-than-3-decades-as-a-programmer
======
pfarnsworth
I've been programming for over 2 decades and had 2 bouts of burnout. The first
was around the dotcom bust, when I thought my career was over because all the
jobs were going to go overseas, and the second after a too-long stint at a
shitty well-known enterprise software company where I felt useless and
worthless.

I didn't take a break during the first one, which took a toll and probably had
a hand in my subsequent divorce. The second time, I stuck around as long as I
could until I got health issues, so I quit for a year. That was the best thing
I've ever done and I wonder if I'll ever get a chance like that again. I spent
probably $50k in cash and lost out on $100k net income after taxes, so delta
in money was large, but worth it for my sanity and overall career. It helps
having a supportive spouse with a great job/health care and good savings.

During my break, I programmed for 8 hrs a day 5 days a week, except on things
that I loved, and it was worth it. I did things like spend 3 solid weeks
improving the accuracy of my OCR system using OpenCV/Tesseract from 90% to
98%, something I never could have done without all the freedom or time. I
regained my love for programming as well as my self-esteem, and so far so
good. Hopefully I can ride this current wave out until I retire, but if it
happens again, I have enough fuck you money saved to take more than a few
months off.

~~~
sdegutis
Interestingly, I just wrote a blog post today [1] about how larger enterprises
use different tactics to keep developers from realizing they're the ones who
hold the real power at software companies. (It was going to be a comment to
another thread on HN but it felt too long.) Your comment that you felt useless
and worthless at the well-known enterprise software company is no coincidence,
it's a very intentional and calculated cultural move.

[1]: [http://sdegutis.github.io/2016-04-10/looming-shift-in-
power/](http://sdegutis.github.io/2016-04-10/looming-shift-in-power/)

~~~
zenlikethat
I like your article. My feeling is that some of the new guard will get savvy
and parlay their power into managing other developers (I firmly believe that
only truly technical people can effectively manage other technical people,
otherwise it's easy to deceive them). Others will remain clueless and be
subservient for all their careers.

------
hyperpape
I'm not saying this to try and discredit this post. However, there's a very
interesting trilogy here:

Oct 2012: Yes I Still Want To Be Doing This At 56
[http://thecodist.com/article/yes_i_still_want_to_be_doing_th...](http://thecodist.com/article/yes_i_still_want_to_be_doing_this_at_56)

Jul 2015: How I've Avoided Burnout During More Than Three Decades As A
Programmer [this article]

April 2016: My Biggest Regret As A Programmer [is not going into management]
[http://thecodist.com/article/my-biggest-regret-as-a-
programm...](http://thecodist.com/article/my-biggest-regret-as-a-programmer)

~~~
quonn
Wow. The lesson here is perhaps to not kill certain doubts with various
defense mechanisms except as a short-term strategy for situations that will
eventually pass. Instead, facing the doubts and making necessary changes while
it's not too late may be better to avoid future regrets.

------
formula1
I really appreciate posts like these. Alot of posts that get popular on hacker
news are about the struggle between management/developers and the best
practice for success. This on the other hand is far more relatable to me. I am
a developer that gets burnt out on jobs quickly and don't have a mentor I can
look up to. A post like this gives me actions/patterns/history of someone that
is still working and still wants to work in the industry like I do. Thank you
for posting this!

~~~
CuriouslyC
I don't know if this will help you, but in my case the only times I've ever
felt like I was heading for burnout were when I was when I was writing fairly
mundane code under time constraints. If you can move into a job role where you
spend more time learning and solving problems than coding everything will get
a lot better.

~~~
formula1
I appreciate the post but I would have to argue that 'looking for a job where
I learn / solve problems' Is basically every job I'm at. I always search for a
way to do it better than before but I am almost always alone. What I
appreciated about what he was saying is that he was not always successful, nor
did he stay in the same field (which many people told me I need to
specialize). Granted he is probably leagues ahead of me, this makes me believe
that my experience is not a unique one which I appreciate.

------
wallflower
"If you don't learn anything new, eventually you not only will hate your job
you might not even have one anymore!"

This is true. I know many people who are in a job that they do not
particularly love. And they stay because of intangible benefits like flexible
work schedules or ability to work remote or sabbaticals. And I worry a little
about what will happen if they ever need to find another job with their
specialized skillset and years of the same experience, copied and pasted from
one year to another. Many of these people will stay until their kids are out
of college (or even longer). The market does not change much (stable) but
there is no growth (few companies doing the same thing, or even contracting).
However, I don't worry as much as I used to because we all live our own lives
- coding is just a part of their lives, not the main one. Family is really it.
To the 9 to 5 coders, I wish sometimes I could be more like you.

~~~
mlvljr
Dude :)

(was touching)

------
inv13
"(thankfully I'm not a Javascript programmer)"

As being a js programmer, i had to laugh at this :)

Nice article anyway, the sad part is, that i nearly had all those points at
once, at one job(unpaid overtime, the management part, and so on...). The last
3 months i spent there was only because they asked me, and i was dump enough
to say yes (they actually offered a 'bonus' to stay, but don't think anything
big).

Something i would add, which i read somewhere, is when you begin to work
somewhere, look around at the other people, how they behave and everything. If
i knew these things a little earlier, i probably would not have ended up (a
little) broken, and unemployed.

~~~
ColCh
I feel pretty good with this new stuff every year in JavaScript world.

It feels like something new. I really enjoy this feeling!

~~~
inv13
Dont get me wrong, i also like those fancy new stuff.

I actually used angularjs at the job, web and on cordova mobile app.

------
galdosdi
Good tips for preventing burnout before it happens! Anyone have any tips for
how to recover from burnout _after_ it has already happened?

~~~
dkopi
A month in south East Asia. Then another month simply learning something new.
Get excited about programming again. Make programming your hobby again, and
not just your job.

------
AndyNemmity
I went into consulting and have found the very same things. Before consulting,
I was never burned out, and loved my job a lot. I could imagine doing it
forever.

Now, I can't wait for it to end, am in a consistent state of burnt out. I have
to work infinite hours to keep up.

I didn't really understand this before I took the job, would have been good
reading as I tried to decide what was next in my career.

At the same time, I've learned a lot from consulting, and am much more
effective now. So good lessons, but not worth the overall cost.

~~~
manmal
Having been (or sometimes, still being) in the same shoes, here's some things
I can recommend avoiding the consultant blues:

\- Never work without a contract or at least a clear statement of work. Ever.
So much pain will ensue otherwise.

\- Take up front payments whenever you can. Ideally, 50% or more. Liquidity
takes a lot of weight off your shoulders. Don't let customers get in the way
of liquidity. We learned this the hard way and almost went bankrupt - never
again.

\- Trust your gut feeling regarding your customers - if your gut says no,
don't do it. Again, a lesson learned the hard way.

\- Adopt GTD or a similar methodology. The vast amounts of information you are
bombarded with (especially if juggling 5 projects at once) need organizing. If
you haven't read Getting Things Done yet, just get a free Audible trial at
Amazon and listen to the first chapters of the audiobook on your way to work.

\- Try to develop actual love for your customers, or their end customers. Or
else, you will feel empty inside, and the time spent in the office will feel
wasted. If you cannot love them because they treat you badly - talk to them
about it or leave them.

\- Tell clients to the face if you think that their reasoning or assumptions
are wrong. This feels harder than it should be, I think that's because of BS
mantras like "customer is always right".

\- Insist on your own side of things. You are your own business' only
advocate, and you must take a stand for it. No one else will. Everybody tries
to push their own agenda. So push yours.

\- Don't be a code monkey, but be an actual consultant. Code monkey
freelancers are bound tightly into their client's development process, and
only churn out whatever code is required of them. They don't get to adopt the
purpose the client creates for a project. Consultants help the client
transform their purpose (business goal) into a vision, and ultimately into a
product. Adopting the actual purpose for your work is so important for not
burning out.

I'll save this list as a reminder for myself now.

------
tootie
What I wonder about is how to be a programmer for 30 years and not become an
architect or worse.

~~~
CuriouslyC
What's wrong with being an architect?

~~~
tootie
More responsibility. I've taken it as a given that it's part of career
advancement and I take on progressively more and more responsibility and
authority to earn more money. There's nothing wrong with that, I'm just
jealous some people can code and code and code and still have a successful
career.

~~~
CuriouslyC
Well, it is true that you can't really dodge responsibility if you want career
advancement. That being said, if you love to code and you want to limit the
non-coding portion of your job, your best bet is to really hone your skills as
a high performance systems-level engineer. That track probably offers the most
advancement potential in terms of "just coding".

------
happytrails
This is the same guy who later said, " I wish I went the management route".

------
yuumei
Any advice for someone that really enjoys the work, but has been at the same
place 5 years and is underpaid?

~~~
kuhzaam
Why are you still at the same place you've been for 5 years if you are
underpaid?

I don't mean that as a dig of any kind, just trying to get an idea of what
your motivations are. Maybe you really love it there aside from feeling
underpaid, or maybe you don't feel like you have the adequate skills to make a
move?

~~~
yuumei
The job has been challenging/interesting/varied and fun basically. I have
applied elsewhere and had a raise, but another raise is out of the question
now. (Thanks for the replys btw)

------
bikamonki
I think your first point is the most relevant: endless hours stuck trying to
finish a project while struggling with a tight deadline/budget. It all boils
down to a common problem amongst developers: guesstimates.

I believe it is a shared fault between clients and consultants. The former
does not want to spend money/time preparing complete in-depth
requirements/functional descriptions, they want to start yesterday and deliver
tomorrow. On the other side, the programmer that bids on the safe side (b/c
requirements are a blurry incomplete list of wanna-haves and it's better to
over-estimate) runs the risk of not getting the contract, so he commits to a
dead-end project: underpaid and overworked.

After many weeks of coding stuff that was not on a list, naturally one burns
out. One subtlety: the burnout may not be due to the actual number of hours
worked but to the fact that one does not see an end to it, one can never call
it done (pressumably waiting to collect a payment due on delivery).

------
mentos
The burnout I'm struggle with is cognitive fatigue. I love programming but
find my mind can only handle so many hours. Answer is simple, take some time
off and exercise but easier said than done.

I always thought this is what people referred to when they spoke about
burnout?

~~~
michaelchisari
> I love programming but find my mind can only handle so many hours.

I think coders in general are useless outside of a 7 hour window of
programming. Sure, there's exceptions. Crunch time or when you're particularly
inspired.

But my experience is that any place that insists on 9+ hour days is really
just encouraging their developers to "veg out" for those hours past the
healthy 7 hours.

~~~
goda90
What I've heard is that when someone is worked overtime they always end up
working under time too, whether they are sitting at work or not.

------
anexprogrammer
Good advice. The hardest part of following the suggestion is going to be
getting past recruiters and HR, who don't want you in whatever industry unless
you have 5 yrs+ experience of it already.

------
andretti1977
I avoided burn out becoming a freelance developer. So it is true that there
are still difficulties but it really changed my work-life: always something
new to learn, new challenges and the possibility to say "no, i won't do this
job": obviously you will lose some job opportunities so you have to balance
"No" and lost incomes but it is really better then burn out or hate a job that
i truly love.

