
Ask HN: Programming is mentally overwhelming to me now. What to do? - tboyd47
When I was 23, I used to be totally comfortable cranking out Javascript UIs like there was no tomorrow. These days I&#x27;m approaching 33 and I can barely force myself to look at code for more than 20 seconds without mentally panicking.<p>I don&#x27;t know how I got here. I think it&#x27;s a combination of many things, such as 1) a demanding family life 2) web development getting more complex in general 3) more stressful work environment 4) physical discomfort like RSI getting worse 5) just getting older &amp; brain getting foggier.<p>I don&#x27;t think learning in my off hours is an option because my day job is so mentally draining. It takes all of my brainpower just to work from 9 to 5, and then I have nothing left over after that.<p>I am talking to my manager about reducing my responsibilities but really I&#x27;ve been feeling this way for over a year, just trying to hang in there. But it&#x27;s only getting worse as the months go by.
======
danesparza
I just turned 43. I've been doing this for about 25 years now. I remember
having a similar issue right around 30-33. Here's what helped me:

Sleep. Make sure you're getting enough. Seriously, prioritize this over many
other things in your life.

Address that fucking RSI. Go to a doctor if you have to. Experiment with
breaks, standing desks, ergonomic keyboards, better chairs. Find what works --
this is the only body you get.

Hydrate. Make sure you're drinking enough water. Dehydration can lead to brain
fog and irritability.

Change the way you take notes. I used to be able to hold large parts of a
system in my head. That changed around 30. I had to start taking better and
more structured notes. Incidentally, QA started really liking the bugs I fixed
because my documentation ended up being so good. So, good things all around
there.

Make sure you're doing fun things. These don't just have to be technology
related of course. But seriously, enjoy life. Play board games if that's your
thing. Go hiking. Take pictures. Read a book (or three). Plan in downtime to
walk during the day.

~~~
Tade0
I'm younger than the OP and currently at a turning point at which I'm
realizing that sleep is this thing that I just have to do now more often and
can't skip on it anymore.

~~~
agumonkey
Yeah it's a bit sad not to be able to push long nights of code, because
getting out of sync becomes a big no.

~~~
canyon289
Same, I'm 28 now and sometime in the last two years I just started needing to
sleep a lot.

At 25 I was out drinking multiple shots and beers in a sequential nights till
3am. Sometime between now and then If i did the same I'm basically a zombie
for a week

~~~
agumonkey
Yeah, either we find medical ideas on what's going on we need to work around
that.

Also I think a lot has to do with excitement. Maybe in another context you
stay up late and wake early because now you're too excited again.

------
pm
I would usually attribute this to burnout, but there might be other factors at
work. I was exhausted on and off for three years, had many days off and would
eventually get to the point of not being able to complete my work. I thought
it might've been sleep apnoea or chronic fatigue. Eventually at the end of
last year it got to the point where I could barely work at all, and I knew it
wasn't burnout (been there, done that, don't stress about fuck all now).

I ended up being diagnosed with cancer, and after a bout of chemoradiation, it
disappeared completely (as far as scans can tell). Let me tell you, the
difference in energy was nothing short of amazing.

I'm really not trying to frighten you, but I was lucky that it wasn't
aggressive and got caught relatively early. Chances are it's not, but it could
just as easily be another medical condition and it's worth seeing a doctor.
There might be indications of things in bloodwork or other measurements, so be
patient but firm with your doctor if they tell you to just "forget about it".

~~~
Retric
I second seeing a doctor as digestive diseases for example result in vastly
reduced energy levels. EX: "Albumin levels low" = your starving even if your
eating plenty of food.

But, I would also add getting even modest regular exercise can make a massive
difference. Even just 1 hour a week split over 3-4 days can also dramatically
change mood and energy levels.

~~~
pmoriarty
I very strongly second the suggestion of exercise.

Exercise (especially bodyweight exercise, which you can do pretty much
anywhere, without any equipment) can be a sort of free, always available
destress button. Whenever I get really stressed these days, I have the option
of just putting a lot of the wound-up, stressed-out energy in to some exercise
(like pushups) and it's amazingly effective.

I've never really realized until recently just how much of this mental stress
I've been experiencing my whole life was so intimately connected with my body
and how much physical things such as diet and exercise can affect it.

------
epalmer
First see a medical doctor and rule out an physical / medical problems. Once
you rule that out then see a therapist. Talk it out with a professional.

I don't know how old you are but getting foggy due to age should not happen
till late in life if your health is good.

Stress can make you sick. Please get help.

~~~
osteele
"First see a medical doctor and rule out an physical / medical problems. Once
you rule that out then see a therapist. Talk it out with a professional." –
this.

Reasons: (1) If there's an organic cause, it may be symptomatic of something
else; it may be amenable to medical treatment; and whether or not either of
these are true, you'll know whose experiences and advice are more likely
relevant to you. (2) At least _part_ of your issue (the panic) sounds amenable
to behavioral treatment, _whether or not_ there's any other issues going on.
(And if it's _not_ – if there's an organic cause for that _too_ – that's worth
knowing.)

You might have to iterate through several doctors and several therapists to
find one who's effective.

In parallel with this, you might want to explore whether you can work on a
different schedule. I've rarely managed to do six hours of work within a
9am-5pm slot, but I can get 12-14 hours of work done a day if I get to choose
the hours – align them with my energy level, take actual breaks when I flag,
feel a sense of ownership and autonomy.

------
ctdonath
You don't indicate your current age. Having coded for 30+ years, I'll observe:

The complexity of computing has increased to a staggering degree. People
discuss Moore's Law and variants in terms of transistor count, pixels, bytes,
etc - but _nobody_ comments on the sheer scale of library
functions/classes/objects/etc to work with. Jumping from classic custom
embedded systems to iOS opened orders of magnitude more capabilities & calls
to work with - wonderful in the flexibility & power available, overwhelming in
the options available & details expected. I come from an age where aspiring
computer engineers were expected to understand systems "sand to Skyrim" (my
current term); today the same brainpower could remain exclusively within one
development platform. To wit: there's so much to know & do I'm not surprised
at capable people burning out.

Pile on top of that your #1 comment about family. My load surely has
increased, a mentally demanding addition on top of my increased job skills &
responsibilities. Fortunately anxiety isn't a problem for me, but I certainly
understand how it could break someone.

So what to do?

Simplify.

Make clear to family you have limits, that more extracurricular activities are
beyond you and boundaries must be set. Remind them you're putting in 40-80
hours a week to provide & support, that your work/sleep/self hours are off
limits for their schedules, and you can only do so much at once.

Manage development work. Place boundaries, don't say "yes" to everything (the
more you do the more you'll be given to do).

Work environments can be changed. Change accordingly - even if that means
switching employers.

Physical discomfort...others can better address ergonomics. I'm blessed with
having typed so long it doesn't bother me.

Recognize mental changes. They're real. Organize things so they will remind &
guide. Get sleep, eat well, exercise.

And simplify. Carve out spaces of simplicity. Deny options that don't
facilitate your core activities. Better to take longer doing simple tasks than
trying to speed thru via increased complexity.

~~~
cosinetau
> aspiring computer engineers were expected to understand systems "sand to
> Skyrim"

Could you elaborate on your definition of this term?

It's my perception that many different kinds of folks, other engineers;
managers; employers; etc, in this community are expecting a very broad and
thorough level of different languages, systems, patterns, etc at all levels of
a person's development, and in spite of creating a learning environment this
bias seems to persist.

~~~
ctdonath
"sand to Skyrim" = understand the core concepts ranging across: chemistry &
physics for purifying sand into purified silicon + dopants, integrated circuit
design (hand layout), digital logic, CPU design, assembler coding, compiler
construction, high level language coding, operating system design, direct-
screen graphics, software 3d graphic rendering, 3d graphics hardware design,
3d simulations (hard & soft rendering) ... basics of all understood by the end
of a master's degree. To wit: start with a pile of sand, and eventually run
Skyrim on it.

My concern is that today, any given strata of computing is so complex that a
fruitful career may not extend very far in either direction.

~~~
danesparza
"start with a pile of sand, and eventually run Skyrim on it".

Well done. A lot of people forget where silicon comes from. :-)

------
kazinator
When I was three-and-twenty

I heard a wise man say,

"Put in your forty hours,

Don't give your soul away.

Hack the Python and the Ruby,

But keep your fancy free."

But I was twenty three

No use to talk to me.

.

When I was three-and-twenty

I heard him say again,

"The nodes out of the DOM

never do yield without pain.

'Tis paid with frameworks plenty,

Till your face turns blue."

And I am four-and-twenty,

And oh, 'tis true, 'tis true.

~~~
pmoriarty
Inspired by _One and Twenty_ ,[1] by A. E. Houseman.[2]

[1] - [https://mywordinyourear.com/2017/02/28/when-i-was-one-and-
tw...](https://mywordinyourear.com/2017/02/28/when-i-was-one-and-twenty-a-e-
housman/)

[2] -
[https://en.wikipedia.org/wiki/A_E_Houseman](https://en.wikipedia.org/wiki/A_E_Houseman)

------
bufordtwain
Sorry to hear about this. Some suggestions: take regular mental and physical
breaks if possible at work. A 10 minute break to go for a quick walk can make
a big difference. Do this at least once in the morning and afternoon (set a
reminder). Get some exercise at lunchtime also if possible. This might help
with the brain fog and stress. Consider transitioning out of fast-changing
front-end web dev to something slower-paced. For example, can you contribute
to the business logic or SQL/database? The technology there tends to be more
stable. You should try to address the RSI, are there accommodations that your
employer can help with? Consider changing employers to find a less stressful
work environment and/or cut down on commute time if that's an issue. For the
demanding family life, if you have a spouse tell them what you are dealing
with and ask for some help if possible. Consider talking to a doctor or
therapist to get their input also.

------
ups101
\- you're likely better at KISS than most. \- 90% of web development is
repetitious. if you weren't stressed you can do it. \- cut down work hours \-
stay happy. you're not sick. your family is not sick. \- learn to play an
instrument. seriously, this is a great way to enhance mental performance. \-
everyone feels the same to a degree.

------
SFJulie
Well, work conditions are worsening everywhere. Stress it our daily bread now.
Stress == non alignment between responsibilities and authorities, like a
dieselgate software engineer being ordered to make it, but s/he will end up
the only one in court.

Short anwser, \- realign your sense of responsibility with your authority. \-
ask for better work conditions, including time for your family life.

This is calling since it is a global problem for a global solution.

I know I will be downvoted for this (HN censors anything going in this
direction), but as I cared: it is calling for a union of software developers.

We all genuinely suffer what you describe and I don't think we worsen. I do
think these are our work conditions, and alone we are f*cked.

Your family matters You matter Yes work organization in IT is FUBAR and
manager don't take responsibility but they have no incentive to respect you
more than the shareholders.

Now, you can burn out like a slave or fight for your self.

~~~
mblack1968
>Well, work conditions are worsening everywhere. Stress it our daily bread
now. Stress == non alignment between responsibilities and authorities, like a
dieselgate software engineer being ordered to make it, but s/he will end up
the only one in court.

I was looking for this kind of statement and thank goodness I found it. I was
starting to think it was just me and my angry, cynical and jaded colleagues
bitching more as we get older.

Reading your statement, I am starting to digest the simple fact that our
profession has gone to the dogs. There are fewer and fewer employers that
understand what we do is part craft, part art, part engineering. We DO need a
union. We need SOMETHING.

Here's what I am finding: the misalignment of authority and responsibility
lead to being forced to do shitty work in place of long-term solid
development. This then sets us up for blame when the technical debt mounts.
Then WE are the ones struggling to deal with the eventual REAL outcome that
leads to a boat-load of stress.

edit: While typing this reply, my friend/colleague texted me to say he is
experiencing nausea and anxiety DAILY now. I know of several developers on
anti-anxiety meds that they began taking within the past two years due to work
stress.

~~~
tboyd47
How would we go about doing that? I would definitely love to form some type of
programmer's union, if not to bargain collectively, at least to just share
resources and be involved in setting industry wide standards.

~~~
SFJulie
defining what the job is.

If we are legally liable, than we must have full power on any decision that
can lead us to jail.

We have to be able to justify the stuff we do.

remember we have 200 dependencies not because we love it but because we are
forced into them. Yet when an incident occurs in production because of these
dependencies we are sacked/sued held responsible for it.

Why we have 200 dependencies in the first place?

Because someone who never coded is hired to tell us what to do (a marketer, an
«architect», a urbanist, a CTO that never coded) tell us to add these
dependencies and they are not LIABLE.

But when it fails, it is our responsibility our liability. And we are thrown
like kleenex. As hell if I do agree to be blamed for something I do oppose.

Yes there is this new generation of ninja rockstar coders, but I am fucking
boring coder: I don't want company to sink because I cannot afford it, I want
a paycheck to feed my own, I want to come back every night to see my family,
and I know why I want to be conservative: because it is proven to work.

Having a profession is :

\- having responsibility that fits your authority; \- being paid for every
hours spent to produce, including commuting for your work; \- having hygienic
work conditions that wont harm you (fuck crunches, open-spaces, poor
chairs/lighting); \- having standards in cleaning (yes cleaning is important,
stuff like nice PR, documentations...); \- LIABILITY we have to accept we are
liable for things in exchange for authority; \- ETHIC, we must have the right
to refuse to code programs that in our knowledge opposes the common laws (like
privacy, embezzlement, fiscal fraud, consumers rights to be informed...); \-
the respect of IP laws, I am bored of seeing people STEAL free/open source
software and claim it is theirs, it we take part in doing so we are negating
the value our very own work... \- having our name granted to a creation we
made...

And to make is worse, I propose that being a coder should not be related to a
diploma but an apprenticeship.

I see no justifications, no evidence sustaining the idea diploma worth a bit
in IT so let's drop this shit. There is a S in CS standing for Science. A
corporation should help either take part in better education in university or
supervise a meaningful apprenticeship based on metrics not wishful thinking.

~~~
tboyd47
I agree with all your points here but I was asking more about practical steps
rather than ideology.

~~~
SFJulie
Well good news, a profession is about agreeing on a minimum platform, and this
is either called ideology to harm it or a "manifesto" to make it look
sensible, so I beg you humbly to call it a manifesto.

Then, I think every laws are local.

It thus mean to open local unions based on the immutability of laws that grant
you power.

Than it is a classic of union: mutualize (crowfund as it is called nowadays)
the costs any legal dispute than can be won on any of these points of
agreement.

Each and every country have their preferred form of legal structure that helps
doing so.

But thanks to the power of "global internet communication" and international
convention (Bern/Geneva) regarding IP law some topics can be mutualized
internationally.

It is all about creating local sections and more global chapters. So, I would
strongly recommend starting it in your own neighborhood using logical
synergies with other confluent interest such as "consumer unions" (like EFF)
and legal expertise, public schools.

You create a section, ask money to fund lawsuit, make your adherents choose
the lawsuit they agree to pick, and go head on with corporations that pick on
coders. Eventually funding strikes.

then you can do PR, go to public school tell the truth about the work market
(no lies), help legal system have a fair access to information, take part in
benevolent action profiting your local community...

done that, been there, it is a all lot of sweat and tears. but it works.

~~~
tboyd47
This is awesome. I'm seriously considering doing something like this where I
live. Thanks!

~~~
SFJulie
Oh, and people need to know they are not alone. Meetup to speak.

People don't need an union if they are happy with the situation.

But they may need first to share their concern in a place where
confidentiality is granted (because we all have loyalty penalties made
especially to block the possibility of sharing information). You might need a
lawyer advice on how to make people able to share their mind freely.

People suffer, but they cannot talk met googlers and facebookers they were
looking like citizens of former soviet countries fearing the snitches.

You will probably want a low tech organization to ensure a strong privacy of
the meetups (word to mouth).

You may want people to sign anti-snitch agreement (that blocks leaks).

You will want to make all your possible to protect the confidentiality of the
attendant of the meeting in early stages.

------
5ilv3r
I've been dabbling in web development since dhtml was the new hotness and I
can 100% say that it is completely unreasonable to expect a human to be able
to do it at all today. You're no longer looking for technical solutions to a
challenge (Which is fun!). Now you are just looking for the component that
closest resembles your challenge so you can bolt it on and gain no
understanding of the equipment/problem/standards/funstuffs other than their
snowflake interface, and once you "master" that, you move on. It's not "hard"
the same way it once was. Now it's just "business need" ADHD at "web scale". I
can't do it anymore either.

Lower level programming is still relaxing. Ever played with an arduino? Could
be fun if you have kids that would like it.

------
gm-conspiracy
Quick question: Did you have an experience, while coding, that you considered
traumatic or negative? Laid-off? Not paid for contract work? Fight with a
coworker?

~~~
dehef
I have the same sympton since I had 2 to 3 not paid contract. I'm feeling so
shitty, I lost any hope. I feel my brain can't think little it was when I was
young (i'm also 34). It's hard to lost all hope at this point of my life, I
can't switch back

------
SamBoogieNYC
It sounds to me like you're burnt out. I think it might be helpful (if
possible) to take a break completely for yourself, in a new environment - even
if it's 3-7 days. No work, no family, just a place for you to relax and think.
If coding isn't something that you feel ready to do anymore, perhaps you can
move into a more management/biz oriented role?

As for the increasing difficulty of webdev - it's worth considering how
necessary some tools are to the project. Oftentimes things can be simplified.
It would take research, but maybe if you wrote a well thought-out and
documented assessment of how you can simplify, your company might consider it?
Good luck

------
johngalt
Mirror other comments in that you should probably get checked out by a medical
professional. If it's at the point where you are asking HN, you should
probably also be telling a Doctor.

Specific to your stated concerns:

1\. Family Commitments: No comment here, but remember that it's OK to set
boundaries even with your close family.

2\. Complexity of web dev: Narrow your focus. Often people will begin their
careers in a very general role, but have a difficult time continuing to hold
onto their entire scope as the world expands. Complexity increases faster than
human abilities increase. Let go of some areas in order to focus your
competence in others.

3\. Work Stress: Say 'no' more often. It doesn't have to sound like 'no', it
could be something along the lines of 'we will revisit this at the next
planning meeting'. Then at the meeting bring up all of those suggested items
at one time. Then it's not a question of "should we do X" but instead "what
should be stopped so that work on 'X' can begin".

4\. RSI: This should be #1. Ergo setup should be what you do _today_. Getting
your setup wrong is a certain path to poor performance.

5\. Age: 32 isn't a factor. It's ridiculous that we even have to address this.
Your brain doesn't disappear at 30.

Make sure you have the following squared away:

Sleep, Diet, Exercise, Sunlight

Whenever I'm foggy/lethargic one of these is usually missing.

~~~
tboyd47
You're technically right, but I guess I'm just getting tired of having to
organize my entire life around being prepared for work Monday - Friday. I
mean, am I a machine whose only concern is achieving optimal operating
conditions, or am I a human being with a life outside of work?

I've resisted specializing for some time because I personally don't like
working with technical people (excluding present company and our friends on HN
of course!). I actually much prefer working with non-technical people, because
I've found that they usually have a lot more common sense and are a lot less
egotistical about their work. Maybe I just haven't been exposed to the "right
crowd" but my experiences collaborating with other programmers have been very
unpleasant across my career. So I always try to position myself where I can
take a top level view of the product and not be pressured to move in a certain
technical direction. Maybe it's time to give that strategy up, though, because
it hasn't worked out very well for me.

~~~
jaredcwhite
"my experiences collaborating with other programmers have been very
unpleasant"

This might very well explain your panicky/foggy feelings when programming...if
your subconscious is associating negative emotions from past events with that
activity, it'll keep coming up and up.

~~~
tboyd47
That's a strong possibility, as I have definitely come to associate
programming with every negative emotion over the past few years.

------
mendelsd
Here's a salient study regarding RSI:

"Two hundred ninety-seven patients medically certified with a work-related
upper extremity industrial illness underwent a systematic search for
concurrent medical diseases. <snip>. One hundred nine separate atraumatic
illnesses (mainly hypothyroidism, diabetes mellitus, and various
arthropathies) capable of causing arm pain or CTS were diagnosed in a third of
all patients." [1]

Email me if you like for more info about hypothyroidism (also see my previous
comments, I may be becoming the resident thyroid crank). "Brain fog" and
anxiety would be consistent symptoms. The condition affects several percent of
the population. Getting a diagnosis can be tricky for certain manifestations
of the condition (e.g. in the UK for certain blood test results doctors won't
typically treat the condition unless patients request it).

Here's another study that may be relevant: "Our data show a significant
association between shift work and autoimmune hypothyroidism" [2], i.e. the
environmental stress placed on the body by shift work could perhaps trigger
this disease. I mention this because you mentioned a demanding family life. If
that involves a young baby that could approximate shift work.

[1]
[http://jamanetwork.com/journals/jamainternalmedicine/fullart...](http://jamanetwork.com/journals/jamainternalmedicine/fullarticle/208425)

[2]
[https://www.ncbi.nlm.nih.gov/pubmed/17291404](https://www.ncbi.nlm.nih.gov/pubmed/17291404)

------
oddsignals
Before you do anything else, if you haven't already, I'd advice you to see
your physician and explain your situation - at the very least have a basic set
of blood tests done. Vitamin B or D deficiencies, for instance, can both
adversely affect concentration.

If that's already covered, is taking an extended break a possibility? I was
having similar difficulties, and I'm much more productive again after a 2
month absence.

Good luck and best wishes.

------
rthomas6
I am 29 and am starting to struggle with this sort of thing. I realized that
part of the problem, for me, was how easy it was for me to get distracted.
When I view a problem like a vast tree and try to keep track of all of it at
once, I become overwhelmed. When I focus on one branch of a problem until it's
done, then start on the next part, I may end up doing things less "elegantly"
than if I grok the whole thing at once, but I get a hell of a lot more done
due to no overhead from context switching.

Do one thing at a time, for a long time. Rapid context switching causes
anxiety and decreases cognitive ability. Choose one part of one problem and
work it for one hour.

Write down everything from every part of your life. Everything in your brain.
It can be multiple places. The point is to not have to keep track of things in
your head, so you can focus on what's in front of you. Check out GTD if you're
so inclined. I use that methodology organized in Remember The Milk. It helps.

------
jstewartmobile
Are you sure this is an age problem and not a wisdom problem?

I'm getting close to 40 myself, and a 25-year look at the clusterfuck garbage
dump we call our industry kind of makes me lose heart. Just had to install
Visual Studio yesterday. It took hours! We have JavaScript frontends even on
the embedded stuff. I had hoped and prayed JS would be dead by now. Still
alive--but now we compile it with even more javascript!

Hell, even one of the bright spots of our industry--Clojure--runs on top of
the 256MB-for-hello-world JVM (another hot mess).

Don't even get me started on the surveillance-state nightmare of
Google/FB/Android/iOS/etc...

What if the problem isn't that your brain is slowing down? What if the problem
is that your brain is wising up?

~~~
tboyd47
What is the solution then?

~~~
jstewartmobile
I honestly do not know.

------
agarden
I have a question: do you feel like you can think okay until you sit down and
look at a screen? Sometimes, for me, it feels like the physical properties of
looking at a screen destroy my ability to think.

~~~
tboyd47
Yes. Being in front of a screen absolutely destroys my ability to think
coherently, unless I am writing something (like this post).

~~~
agarden
Interesting. I've ordered a BenQ monitor on the theory that it may be the
backlight flicker (PWM) that is the cause of that. I'll let you know if it
helps.

I have also considered trying to rig some kind of eInk device up as an
external monitor, but the bad refresh rate and lack of color are off-putting.
The Dasung PaperLike Pro looks intriguing, but so expensive.[1]

1\.
[http://dasungtech.com/english/detail/id/220](http://dasungtech.com/english/detail/id/220)

~~~
tboyd47
Yes, please leave an update!

------
relaunched
Sounds like you have a lot going on and each issue may be contributing to it.
Keep trying to work on changing one at a time, and see if anything helps.

If you aren't mentally or physically prepared to put in a full day of work,
you are starting out on the wrong foot. Here are some things I would think
about:

\- Is it time to make a change? A new job, new problem to solve, new team and
new culture might be more aligned with your success.

\- Is coaching available? A mentor / coach can help change your perspective,
hold you accountable to execute on a plan or just provide a sounding board;
all of which could be useful.

\- Setting micro goals. Wins of any kind build a sense of accomplishment and
momentum. Can you establish small goals, which beget small victories, which
can be used to change your mentality, situation, productivity, etc.

I caution people that are approaching 'f^ck it' with work to hold on. If you
aren't in a financial position to walk away, especially if you don't have a
next opportunity lined up, an emotional rage quit feels good for a second and
can set you up for a world of pain (additional pain). It's 10x harder to get a
job when you don't have one, even if you are a developer.

Good luck and I hope things turn around.

------
expertentipp
Try somehow to figure out or negotiate a more comfortable situation in your
current job (more remote working? non paid leave couple of weeks? educational
leave? standing workspace? better chair?). Watch out for advises to change the
job - ending up in professional void in this state, it might be very difficult
to recover and go back into job market. One thing - time with the closest
family (partner, children, parents) is never wasted.

------
seabird
There's not much you can do about a demanding family life (unless you want to
prioritize work over it, which I wouldn't recommend) and getting older. Your
options are limited for a stressful work environment, but you could try to
negotiate some changes to improve that situation.

Learning on off hours seems to be where you have the most leeway. Depending on
when you were 23, you may have started web development before its
transformation into its current state of an unfathomably complex abomination.
If that's the case, I would argue that you got your start in greener pastures,
but those times have since passed. You will have to buckle down and learn as
much of the "new way" as you can stomach each sitting. Compile a (what will
likely be an absurdly long) list of every tool that you're currently using or
will be using soon and try to build a working understanding of it. Your best
hope is to learn everything you can in a big push and hope that your employer
doesn't do the flavor-of-the-month bullshit.

~~~
swombat
This looks like terrible advice. It is defeatist (you can't do anything about
most of your situation - false, as other comments have pointed out) and where
it does offer some suggestion, it is to do stuff that the OP has already ruled
out _and_ which will obviously contribute to the OP getting even more
stressed. And it feels like unrealistic advice too... you can't "learn
everything", or anywhere near everything, of any deep topic like web
development. Just thinking about trying to do that seems likely to be panic
inducing to anyone who has any notion of how big a field that is.

I would recommend reading the many other helpful posts here for ideas of
better advice to offer someone in this situation. This ain't it, imho.

~~~
seabird
There's a difference between defeatism and and realism.

A demanding family life can't really change in a way that's any less than
serious and far-reaching; any recommendation in this department is hugely
personal and runs deep.

A stressful working environment is something that can be fixed, but requires
negotiating more accommodating conditions; this is neither quick nor reliable
in many cases. In an extreme case, the OP _could_ look for a place of work
that has a more fitting pace/culture, but this is an entirely non-trivial
change.

RSI is a medical circumstance that no wishful thinking can change (short of
best practice to avoid it). The same goes for aging and passage of time.

Can the OP make these entirely non-trivial, life-changing decisions and
achieve a significant improvement? Of course, and I'd encourage him to do so,
but that's personal beyond what many of us are able to help him with. Can the
OP treat the symptoms of a lifestyle/occupation that puts him under extreme
stress? Sure, but that's not actually fixing the underlying issue, and
patchwork solutions may not hold.

Of the underlying causes he mentioned, there's one he can address without
having to go all in; keeping up the best he can with his field of work and how
it is changing. Everything about web development has changed, and it's
entirely understandable that he feels out of his element when his job has
become absurdly complex almost overnight. That type of environment can make
you feel like a dullard, a slow learner, or even an imposter who is holding a
position under a false pretense. The way to beat that feeling is to prove to
yourself that it isn't true.

------
jwilliams
The advice in this thread is pretty good - Ruling out the obvious by seeing a
doctor and a therapist seems like good advice. Sounds like you're under a lot
of stress. When you're under stress even the simple things in life gets many
times harder.

Once you've cleared that. I always recommend meditation and exercise. Plus
reading. And writing. It's tough when you're under stress to see how you can
fit it in, but it makes everything run so much better.

At 33 you shouldn't really be having these raft of issues. However, if you're
anything like me, you've spent the last 10 years running 1000%, hacking till
2am regularly and generally not taking good care of yourself. Stuff that you
can push yourself to do at 18 gets harder and harder each year.

Finally. You're right. Web Development is crazy at the moment. It's one of the
fastest moving areas in tech at the moment. I don't know how anyone can keep
up. So don't overload yourself with expectations.

~~~
smanatstpete
A small correction: He said he was approaching 33.

~~~
jwilliams
Thanks!

------
rb808
I had a similar problem, one thing I've been thinking of is how experience
might be more trouble than help.

IE when I first coded I used to think about

* Does it work?

Now I also think about

* Is it always going to work

* Is it easy to read

* Is it tested properly

* Is it in a similar style to the rest of the codebase

* Is it maintainable

* Is it easy to debug

* Is it DRY

* Is it using the best possible libraries

* Is it efficient or could I have used a better algo

* Is it written in the appropriate language

* Is the tradeoff between config and code appropriate

* Is it easy to diagnose problems in production

So slowly I became a better developer, but I reached a point where it becomes
really hard to get stuff done because you're thinking about all the other
stuff and trying to make everything perfect, when for many situations it
doesn't have to be. Not only is all that work, but a small task suddenly
becomes a huge project - and its overwhelming.

Its especially difficult when you're more senior and responsible for more
stuff - which you want to do perfectly too.

I dont have a great solution yet. I guess I have to lower standards a bit but
its difficult.

So maybe its a problem you have maybe not, I thought I'd mention it anyway.

~~~
AnimalMuppet
There are pluses and minuses. There's more to think about, true. That can slow
you down. On the other hand, you don't write the bugs you used to write. You
don't create the garbage architectures you used to create. You don't write the
unreadable code you used to write. That all turns into work you don't need to
do later to fix the problems.

So maybe the question is, do you have management that looks only at how long
it takes to crank out the next feature? Or do they look at how long it takes
to get the feature reliably, solidly working?

------
agumonkey
Hi,

I don't know how you feel to open about this on HN; I find it courageous.

I had similar issues, unresolved as of now so thank you for the ability to
read others suggestions.

A few things I've experienced: some contexts are more draining to me than
others. I tolerate long imperative pages a lot less, while I can enjoy a
whiteboard with a math problem. Same goes for abstractions in programming. I
do believe with age we're less willing to run mentally but we can think higher
(which if done well, avoids previously mentionned running).

Lastly, how do you feel at this job ? do you trust management to be willing to
listen and solve some issues in order for you to work healthily ? Some times
the simple idea of "not being able to" criples me, especially when I don't
have a good relationship with the superiors. Adding burden over burden.

Good luck

~~~
tboyd47
I actually don't have anyone in my close circle of family and friends who can
relate to this sort of thing. People on here are generally programmers like me
who deal with the same types of issues.

------
mnm1
I can totally relate. I think my worsening RSI is a _huge_ factor. It could be
TMS
([http://www.tmswiki.org/ppd/An_Introduction_to_TMS](http://www.tmswiki.org/ppd/An_Introduction_to_TMS))
not just regular RSI. Fuck if I know. Additional stress doesn't help, either
at work or outside of work. The worker's comp people don't want to help. It
seems like they intentionally want to see people suffer. Honestly, I'm in the
same boat and I'm not sure what to do. I have the option of taking it easy at
work but not everyone has that. I've been taking it very easy and trying not
to work in pain but it only goes so far. I've been trying to do activities
outside of work as much as possible and build a life for myself that doesn't
involve work or computers or any of this shit. It's not easy.

Sleep, good nutrition, and exercise are vital. Sleep is, as some others here
say, the most important. But it's also the hardest to fix. The sleep doctors
are morons and it racks up incredible bills. Their suggestion, "go camping for
a weekend" to treat a lifetime of delayed sleep phase. Honestly, sometimes I
want to strangle these people. Most of them are clearly doing this only for
the money. If you're in the US, the healthcare profession will fuck you. They
will fuck you over really bad and they will enjoy fucking you over. Many
doctors and personnel revel in the cruelty and power they have over patients,
especially patients that have no alternatives (like with worker's comp
issues). Same with RSI. You're really on your own. There is very little to no
help, but there will be many bills (definitely get on worker's comp) for
useless services. Really, you're on your own. I try not to let this dissuade
me and go from moron to moron trying to get better. Sometimes I find someone
that helps. Sometimes I just have to deal with shit on my own. I suggest you
treat that and sleep ASAP. Get on the record. It'll also make it much harder
for your company to fire you because, let's face it, they are the cause of the
problems. Or if they do, you can sue them.

~~~
thereIsCon
Totally agree, sleep is most important. I was in a phase a few months ago,
where, I felt like a zombie. I fixed that, by eliminating coffee or any other
source of caffeine. I can now sleep within seconds as I lay down on my bed. I
generally tend to feel fresh after a night's sleep. And, it's crazy how deeply
I can focus during the day now.

------
MilnerRoute
It's good that you're talking about this. That's the first step towards making
things better.

Just one more stranger's opinion: These things tend to feed on themselves.
(Stress makes it hard to focus, which is in and of itself stressful...) Also,
I've heard that stress-related chemicals like cortisol stay in your body and
make it more likely that future situations will trigger stress. If that's
true, you could really benefit if you find some way to break the cycle. I've
heard vigorous exercise is supposed to help (though possibly just because it
improves your sleep).

I'm sorry to hear about your RSI. I don't want to sound glib, but is there any
way you can take another look at it? You've probably investigated all the
possible work setups and all the medical options, but I can see that
contributing to the mental overwhelm.

Not sure what exactly you mean by "demanding family life," but I had a friend
who told me his life got better when he started trying to say"no" to his
family a little more often -- both immediate family and other family members.
His thought was it's better for them _and_ him if he's not there feeling
overloaded, and then going through the rest of the week also overloaded. (My
suggestion to him was to hire a cleaning woman or a baby-sitter or someone to
lighten the load wherever he could.)

Finally, could you think about changing jobs? (And then make sure you take
some time off between the last job and the new one.) It sounds like you feel
comfortable talking to your manager about reducing responsibilities, so maybe
your employer isn't the problem. Just tossing this out there because you have
ways to change the situations and choices you can make. Sometimes knowing
that's there eases some of the angst.

If all else fails, maybe grab a little downtime anyways. Taking a break is
sometimes more productive than putting extra pressure on yourself when your
brain isn't where it usually is -- since the pressure doesn't really resolve
the situation. (I've gambled on the idea that I'll come back more productive
after time off -- and it's actually worked more than a couple times.)

~~~
tboyd47
Thanks for the kind words.

RSI is the elephant in the room, I'm afraid. I actually have constructed my
own coding chair out of couch cushions and PVC pipes (inspired by a kind
stranger's reply to another HN post of mine!), but it only makes the pain
bearable. It doesn't resolve it. Nothing resolves it - I've tried everything.

Downtime is always welcome but it doesn't make things better when I come back
to work.

------
watwut
I don't think you are too old yet. However, if your day job is mentally
draining, then it would be more effective to do mentally relaxing things in
the evening - whether sport or some game or some easy repetitive craft.

Then focus on making your job situation more bearable. If you are developer,
focus on making it possible to learn on the job, a bit by bit, until it is
pleasure again. If you are burned out as you sound, then your issue has more
to do with that then with tech or age.

------
dlo
I was there myself. It turned out to be undiagnosed sleep apnea. I agree with
everyone here who says to see a doctor as one of the first things you do.

------
akulbe
I have issues with getting more than about 6-6.5 hours of sleep before my back
is sore enough I have to get up. I try to make the most of it.

Like others have said, definitely get more sleep. Also, move more. Go for a
walk. If you don't have time, consider getting a treadmill desk, and shift
your workflow to sitting and standing. It takes some getting used to, but that
has made a world of difference for me.

------
dehef
I feel exactly the same thing. I'm 34 and I feel my brain is not working
anymore. I use not to be the most smart person but always have been the
quickest to think, in particular for code. Now I just trying to learn 1 or 2
new things (like: improving my english - I'm not native-, learning angular 2,
learning some fancy thing in CSS) I fell like I can't success in anything.

------
Tylerosaurus
Sounds like you need balance, my friend. If you have a job that is brain
draining, best not to spend lots of time on a hobby that uses loads of extra
brain power. Perhaps try spending time doing something physical or meditating
instead of adding more mental stress to your day. When your time frees up in
the future, you'll be easily able to pick up where you left off with coding.

------
jbob2000
Hey, this probably isn't good long term advice, but sugar and coffee work
wonders for kick starting my brain on foggy days. If you're just looking to
get through the day, maybe pick up some gummy bears and a small coffee.

This link was posted on HN recently,
[http://gettingthingsdone.com/fivesteps/](http://gettingthingsdone.com/fivesteps/)
. I recommend following this practice at work, it will reduce your mental
panics by getting all these thoughts out of your head and onto paper so you
aren't "holding" on to them. You don't need to do the five steps, but writing
stuff down really helps.

Also, physical discomfort can sometimes manifest in different ways. I know
this sounds dumb, but try going to the bathroom more often. I had a therapist
tell me this and it worked. I was subconsciously holding my bladder all the
time because I felt that I needed to get other stuff done before I could
excuse myself.

RSI can be helped with an ergonomic keyboard and mouse. Those were big game
changers for me. I also stopped using my laptop for long term tasks. The
monitor is too low and you end up cranking your neck and back to see what's on
the screen.

~~~
quickthrower2
The danger with sugar and coffee is they just give a temporary hit followed by
a crash. Not good if you have an 8 hr day ahead.

Drinking lots of water (which forces lots of toilet breaks to happen) might
help more.

------
hypercluster
You could also go into areas that are less code intensive. So what I mean is
for example ETL where you often use visual tools to develop data integrations.
It's still engineering but more approachable or less complex. Same with
Business Intelligence where you maybe develop reports (also tool based).

~~~
kthejoker2
As a BI professional I am both offended and secretly delighted at your post.
Don't tell everyone where the good work is!

~~~
hypercluster
Hehe didn't want to offend, BI is still a complex field but not so heavy on
the coding side. And yes if one is interested it's still surprisingly well
paid and understaffed! But I'll try not to tell everyone ;)

------
woranl
Try to BS your way to managerial position, and you will never have to write a
single line of code.

------
fm72
I am 51 and I have been doing system engineering work since early 80s. I agree
it gets harder as time goes by. I used to love to work. Now I am running out
at 6pm. BTW back stretches are really under rated. 2min of it in the morning
helps a lot all day.

------
samblr
I am 35 and I so wish if I could be half as sharp as 23 year old self:

Below are some of things that are helping to an extent.

> Notes and deliberate practice of tools or concepts.

When my father neared his retirement, he would wake up at 4.30 AM and used to
make plenty of notes/diagrams relating to his work. And he used to go through
them every day like a monk. Now I relate that method to strengthening of
neural connection/pathways by kind of deliberate practice (as in learning to
learn course from coursera) or in easy terms he was trying his best to catchup
work. Im kind of following it.

> Abstraction and analogy.

Abstract a new skill and make an analogy to what you already know. Analogy can
be made to an old skill or a new mental picture that you can create for
yourself. Google image search for understanding abstract concepts is
underestimated. Search for angular architecture or react architecture in
google images - you get straight into some good architecture diagrams. You can
save an hour of time by getting big chunks of a framework within a minute.

> Tools, tools and tools:

A geeky senior colleague gave me this good advise - as an experienced
programmer you don't learn new language/frameworks - you learn new IDE, tools,
plugins, shortcuts, templates related to it. And master every little thing
about that tool and work backwards. Language, frameworks kind of change and
become obsolete - but methods of learning tools is a very reliable way of
learning something new.

> Pick a lighter skill or work on a skill natural to your style.

Easier said than done. I used to struggle with low level hardware stuff
(drivers etc) at work since I didn't have good footing earlier in my
education/career with hardware but I was stuck being a system programmer
closely related to hardware. Moving away from low level C to C++ -> mobile
apps -> python -> node. My mental blocks are gone. I kind of feel light now
and feel excited to code.

> Exercise, meditation, fresh fruits and nuts.

We underestimate fresh fruits and nuts. It was a BBC documentary I think -
where they showcased how eating plenty of fruits and nuts kind of helped your
brain to become sharper and younger (they do balance test with eyes closed or
something). I have seen some of very fit colleagues of mine in late 40's mine
eating carrots, fruits and peanuts for lunch. (Though I got to try it
sometime)

> Little or no alcohol and more sleep.

------
1123581321
Thank you so much for posting this thread. I could have written it myself.
Sleep and drinking water help me the most, followed by eating fewer
carbohydrates (after several days) and exercise. Still, it's not easy. I wish
you the best.

------
ksenzee
Another vote for "go see a doctor." In addition to all the other conditions
people have listed, anemia can cause brain fog and anxiety. This doesn't sound
normal or age-related to me.

------
oblib
Wow... you've got a classic case of burnout.

I'll offer a few things I've learned...

First, take some time off, and really off.

Look into "Forest Bathing":
([https://en.wikipedia.org/wiki/Forest_bathing](https://en.wikipedia.org/wiki/Forest_bathing)).
It may sound silly but it works. I figured it out long before I ever heard of
that term.

When I was in my 20s I'd get to feeling like crap and would dread going to
work because that is what made me feel like crap. Sometimes I would feel so
crappy I'd not go, and generally on those days I would head outdoors and spend
the day in a park somewhere. Not a city park, but someplace with some
"wilderness", and within just a few hours I would feel much better.

At first I thought this proved my issues were psychosomatic, that I was
convincing myself I felt like crap because I didn't want to go to work. But
that didn't really make a lot of sense because I didn't really hate going to
work, and in fact I really enjoyed it.

I learned later on that I was just getting too much toxic crap in my system.
Solvents, smoke, perfumes, they all would build up to a point where I was
literally poisoned. Taking a walk in a forest for a few hours, breathing fresh
air, helped clean me up.

Now I avoid things I know will crap me out. I live in a forested area
surrounded by NFS lands and haven't felt crappy for years.

Coding: I can code like a "genius" some days, and others I feel dumb as a box
of turds and can't code "Hello World". Those dumb days always come after burst
of productivity and when they come I have to do something that takes no
thought, like mowing the lawn, sweeping the porch, washing the car, etc.,
because my brain needs the rest. This has always been the case with me.

If you're having a dumb day at work don't stress over it. Do something you
don't have to think much about, and don't be shy about telling others "I'm
just dumb today". We all have dumb days and will commiserate.

And as for work, stop worrying about having to "keep up". The truth is if they
want you to learn a new way of doing things they need to pay you to learn it
so don't stress over if you can learn it or not. Of course you can, and most
of what you already know gives you a head start.

The real trick here is realizing you only need to learn on a "need to know"
basis. For example, you don't need to become an expert in "React.js" to use
it. You just need to know where to find what you need to know to do what you
need to do.

I learned to look for answers and example code online as soon as I ran into a
bump (as opposed to banging my head against the wall for hours trying to
figure it out on my own). That was a bad habit I'd developed and it wasn't
easy to break it, but I did.

I've hit Stackoverflow at least 1000 times since I started doing those things
and have produced a ton of working code and learned a lot at a pace that made
it easy to absorb.

Go to [http://todomvc.com](http://todomvc.com) and play with some of the
frameworks they have there. Each guides you through the process of making a
"Todo" app by teaching you only what you need to know.

It's a lot easier to make stuff when you approach it on a "need to know basis"
and go search for answers as soon as need one.

As to this: "I am talking to my manager about reducing my responsibilities"
I'll say it's time to review how you've acquired them. If, over the years,
they've been added on, and on, with little or no relief of others, then it's
time to sit down and take a look at what should be moved over to someone else
there, or maybe hiring another person.

I wouldn't stress about bringing that up though. In the process I would also
focus on where I thought I'd be most productive and indicate my desire to be
doing that and how these changes would benefit the company.

Finally, do take that walk. If you can, spend a night out camping. Let
yourself be there with nothing to do for just a day or two. Let yourself
recharge.

FWIW, I'm 58 years old.

------
jason_slack
what kind of shape are you in? How is your diet?

Perhaps getting some daily exercise and ratcheting down your diet might help.

------
artur_makly
find your passion. life is short. get offline if needed

------
tboyd47
FYI - in addition to heeding these excellent suggestions here, I have had the
chance this week to do a lot of introspection (and sleep!).

It's very interesting to me that I did not immediately identify this as a
classic case of burnout. I don't think I have full-on burnout yet where I need
to quit my day job and go sailing across the Pacific or something.

One of the main catalysts (catalysts != causes) of my own case of burnout to
be the adoption of the SPA at my company. I am not going to turn this into a
rant about SPA, but instead I'm going to post a self-interrogation I did using
the "5 whys" technique to uncover the (far more interesting) root cause.

Q. "Why do you hate the SPA pattern so much?"

A. Because it throws away too many useful features of the browser for a user
experience gain that is dubious at best.

Q. "Why do you think it throws away too many useful browser features?"

A. Because employers end up realizing too late that they really need things
like links and the back button to work properly, and end up requiring us to
re-implement them in an extremely tacky way.

Q. "Why do you resent that?"

A. Because it increases the level of frustration in my life by an unhealthy
amount.

Q. "Why is the frustration unhealthy?"

A. Because in the back of my mind, I'm thinking, "I shouldn't have to write
all this last-minute crappy code."

Q. "Why do you keep thinking that?"

A. Because I want to believe that my job is to do things in the most efficient
& simplest way available.

 _Some people may have stopped here, at the fifth why, but I believe the sixth
and seventh are the most telling:_

Q. "Why do you want to believe that?"

A. Because it makes me feel smart, like I have some kind of advantage over
others. Because it means I can accomplish more with less code.

Q. "Why is that so important to you?"

A. Job security? Sense of control? Dunno.

Again, don't get distracted by my singling out of SPA. Burnout is clearly not
associated with a certain technology. I found in my research on burnout that
many people in the late 2000s felt the same way about MVC and REST (my chosen
architecture) that I do about SPA. I also found a very enlightening burnout
story by a somewhat famous open source contributor at 37 Signals, the origin
company of my tech of choice, Rails.

I have also read some other people's stories leading me to learn some general
theories about the causes of burnout. There seem to be two main causes leading
to burnout in IT: 1) unpaid overtime 2) project failure.

An oft-reposted HN comment comes to mind: _" Burnout is caused when you
repeatedly make large amounts of sacrifice and or effort into high-risk
projects that fail."_

However, when I research in other industries with burnout problems, I find
different causes. For example, in medicine, many people point to 1) over-
computerization and 2) debt, which don't really apply to IT. The common thread
there is an underlying feeling of resentment with one's job related to a
misalignment of one's self-interest with the corporate interest.

This misalignment should not come as a surprise to anyone who receives a
paycheck for what they do. But we (programmers) are continually shocked by
this. We expect for our "passions" to lead us around our 9 to 5, even when we
know better. Why?

I am going to be taking most the other advice left here by these kind souls as
well. But I wanted to leave a follow-up, before replies to the thread are
locked, in the case that someone, somewhere can benefit.

------
smegel
Try and shift sideways. Ask to work in a different team with different
languages, maybe devops or administration. Sometimes a change is as good as a
holiday.

Your brain should not be getting foggier at 33. That is not old.

Stress and poor sleep is a toxic combination. Solving them should be a
priority. Maybe quit caffeine, alcohol or any other lifestyle factors that
might be involved.

Do you get RSI from using a mouse? Try swapping hands...being uncoordinated
with your other hand is a good thing as you will use a different set of
muscles in your shoulder/upper arm to compensate that gives mercy to your
wrist and forearm.

Do you listen to music while you work? Sometimes that helps me focus, or at
least stops surrounding distractions.

And I would suggest taking a long holiday where you don't see a computer for
at month or two, although with a family that might be difficult/impossible.

