
Ask HN: With ADHD, how did you become an effective software developer? - brailsafe
I started a new job a month ago, and was hesitant to do so, because I&#x27;m yet to overcome certain patterns, that may be affected by a recent realization of having attention deficit. I&#x27;m a frontend developer, but feel little real intensity in the job, little stimulation, and haven&#x27;t been that productive at picking up the codebase. This is also in an office for the first time in years, after being somewhat effective in a remote position. I&#x27;d also be interested about other people who struggled to tune their skills for productivity.
======
adhddev
Backstory: I'm a senior engineer at one of the world's top 10 tech companies.
I've had ADHD (and some kind of light Asperger's) my entire life, to the point
where I couldn't concentrate on anything the first 12 years or so of my
academic career _except_ for certain subjects that really interested me, like
math.

Some things that works well for _me_:

1) Good noise-cancelling headphones. I'm extremely sensitive to noise in the
office.

2) Repetitive, monotone music. My productivity rises by 2-5x if I listen to
hours and hours of repetitive techno sets. It's like I'm micro-dosing on LSD
or something and the code is just flying out of my fingers.

3) Not getting disturbed when the headphones are on. Communicate with your
team that headphones on = use Slack for communication, because you are in The
Flow State

4) [https://selfcontrolapp.com/](https://selfcontrolapp.com/) to help prevent
procrastination

5) Martial Arts with sparring. Could be anything like MMA, BJJ, Muay Thai,
kick boxing, boxing, wrestling, some types of Karate etc. Helped me a lot. Not
only the obvious (getting ripped/in shape, confidence boost, positive effects
on the brain from exercising) and blowing off some excess ADHD energy, but as
an introverted nerd you learn how to keep stable eye contact and you stop
being irrationally afraid of conflicts. It has made me much calmer as a
person, and I don't have any burst of rage anymore. Cannot stress enough how
much this has helped my career and at softening the symptoms of both ADHD and
Asperger's.

6) Healthy sleeping patterns & diet. Without this, I can fall asleep in
meetings (and have done it numerous times).

7) If you work at a company where you have the ability to skip meetings you
deem are unnecessary - use it! The less bored you are, the more likely you are
to be able to focus and not procrastinate, I think.

8) I like getting out of the office during lunch, just to get some
air/sunlight/short change of environment. Feels like I'm less bored when I get
back to my desk.

9) If I'm taking on a bit too big of a task, I try to break it down into
subtasks because otherwise I get bored and start to procrastinate. I need very
clearly defined units of work to work efficiently.

~~~
Ruxbin1986
Is there a specific podcast, radio or band that you listen to?

~~~
adhddev
@Ruxbin1986 There’re some great long-form (1-3 hr) techno channels on
SoundCloud that works like medicine for me.

Just to name a few:

\- Reclaim Your City \- Slam Radio \- PoleGroup \- Scopavik \- On The 5th Day
\- The Brvtalist \- HATE \- Owt \- HEX Barcelona \- KHIDI

Or these artists “guest sets”, regardless of channel they are posted on:

\- Cliche Morph \- Michal Jablonski \- IGNOTA \- Blazej Malinowski \- Perc \-
Violent \- Setaoc Mass \- Lewis Fautzi \- Amotik \- Sept \- Schlømo \- Luigi
Tozzi \- Albert van Abbe \- Oscar Mulero \- Sigha \- Randomer \- Reflec \-
Joachim Spieth \- Kwartz \- Massa \- Reggie van Oers \- Ancient Methods \-
SNTS \- Headless Horseman \- Phase Phatale \- Svarog \- TommyFourSeven

And the list goes on and on. Hope this is useful for somebody.

------
m0ther
Get a prescription for Ritalin. Headphones and Spotify. Volunteer for EVERY
nightmare project to keep you engaged.

Learn HTML5 canvas. Learn SVG. Learn to make components in whatever framework
you're on and get really good at it. Get into webgl. Make yourself the special
projects guy. Go deep where others won't.

Hyperfocus is your super power; research it, figure out what puts you in
hyperfocus, and what keeps you there. Listed above are some of the things that
do it for me (that exist in the overlap between your job and mine).

~~~
seanwilson
> figure out what puts you in hyperfocus

Can you explain how you figure this out? Any examples?

I don't have ADHD but I do notice some projects give me intense hyperfocus.
Generally it's when it's some MVP or problem I start working on where it feels
like I've happened upon an unexplored and potentially great idea - this
includes there being lots of design issue to think about where there's lots of
fruitful avenues to explore and prototype. My hyperfocus tends to end when
I've explored the design space enough that I now have to step back and make
tough tradeoffs.

That's the most I've tried to make sense of it. I know it's very common for
people to get super enthusiastic when starting projects and then they lose
steam when the fun stuff is out of the way so I don't read much into it.

~~~
brailsafe
I think that's roughly similar for me, although it's not specific to a new
project, often the opposite. Just something novel and I have some way to
reason about approaching the thing. Sometimes this can even be parsing and
contributing to legacy code. Design problems definitely fall into this, often
being more difficult than any regular programming. I think it just takes some
reflection on many different kinds of tasks, still working on it.

------
heh
I have ADHD (diagnosed from childhood, retested multiple times since). I do
DevOps/SRE type stuff. Used to do dev as work, and found it didn't work well
with my condition. moved to sysadmin, and then DevOps/SRE type roles and it is
much better for me. I have Ritalin, by prescription. It helps with the
precision, boring, routine stuff. I do not take it when I need to grok a whole
system in my head, or do creative problem solving.

As others have recommended, repetitive music helps. The prodigy, Infected
Mushroom, cowgirl, combichrist, etc are all on my work playlists.

I found keto really helped a lot for me to get sustained focus, YMMV.

If you do get flow, ride it.

------
yabadabadoes
Based on being an occasional technical mentor to a friend with ADHD, I might
suggest:

I would experiment with plenty of exercise during the work week to try to find
a mellow yet energetic state.

I would look for ways to do something you find fascinating as a way to engage
with the work. As an example, experiments with debuggers can give you a
different way to engage with code.

Don't be afraid to go back and forth between more and less code centric jobs.
You may have a significant advantage context switching for presales
engineering and roles that deal with more unexpected runtime problems, etc.

~~~
afarrell
> You may have a significant advantage context switching for presales
> engineering and roles that deal with more unexpected runtime problems, etc.

I would think the opposite: with lower working memory, context switching will
be more painful and impose greater performance problems.

~~~
m0ther
ADHD (at least in my case) makes context switching, and switching back, easy
(it's a core symptom, this is the reason we have difficulty focusing). It's
rare to hear one of us say "now where was I?".

I equate it to the threading model; instead of a single thread, we have a main
thread, and x (let's say 5) additional threads running in the background. Our
scheduler is peculiar. We can swap the main thread for a background thread
easily, but we can't stop the background threads from running, and when
unmedicated, they all fight to be the main thread, trying to tempt the
scheduler into switching over. Hyperfocus occurs when the main thread panics,
and the scheduler assigns all of the other threads to dump their workloads and
help. You’ve spent your life adapting to keeping up with expectations using
1/6th of your processing power. Now all 6 cores are working on the same
problem and you temporarily have a superpower.

From what I understand (and this is an oversimplified layperson's
understanding, so forgive me), we are unusually low on neurotransmitters and
messages have a harder time making it across long distances without unusual
effort.

It is by default difficult to maintain hyperfocus. It is a skill that needs to
be practiced and exercised; but once you get it down, you can maintain it
while switching between completely unrelated tasks.

Hyperfocus is triggered when tasks are mentally taxing. As long as everything
I am working on is difficult, I can work on 5 tasks at a time (switching
between them at interval) and complete them all quickly and effectively.
Busywork is what stops me in my tracks; as soon as I don't have to think, I am
dead in the water.

How you handle maintaining hyperfocus depends on the situation; early in my
career, when presented with a busywork task, I'd either automate it (ramping
up the complexity), or take on a difficult stretch goal and switch between
that and the busywork every x minutes so I can keep my brain awake. Now that I
can pick and choose what I work on, I just take the hard stuff and nobody
seems to have a problem with that.

Fun fact: most of the "genius" movie tropes are just exaggerated ADHD symptoms
and hyperfocus quirks.

~~~
brailsafe
To build on this, I find that an arbitrary challenge doesn't really work for
me. Deadlines, blackbox debugging, and quizzes fall into this category. I was
fired from my first front-end job because much of the work ended up being me
trying to debug opaque problems in Ember.js v1, and lack of productively
writing CSS after solving the design and layout problems. My job was building
UI, but I excelled at solving the CSS, JS, and design problems, then I'd stall
at actually productively writing it. I'll usually feel guilty about falling
behind and grind myself to sleep deprivation to slowly get it done.

------
bfieidhbrjr
Slightly off topic but YSK that exercise, the elimination diet and QEEG
neurofeedback are all statistically significant non pharmaceutical treatments.
You can find it all in google scholar and pubmed.

Also YSK that ADHD presentation is near identical to sleep apnea and mild
autism spectrum. Even if you get a ADHD diagnosis remain skeptical and have
the other two checked out with a sleep study and a autism specialist.

~~~
bpanon
Is there anything that can be done to help autism?

------
improv32
Besides the obvious answer of medication, which I've personally found very
helpful, I think physical movement is the biggest thing for me for staying
engaged. I just can't focus on things while sitting still which is obviously
really rough as a programmer. I find that as soon as I have the urge to spin
my wheels checking HN or tinkering with my emacs config or some other
comfortable distraction I get up and take a walk, preferebly outside, in a way
that makes my brain notice it's in a different space, then visualize myself
working as I return to my desk.

------
probinso
1\. Find strategies to limit your field of vision like wearing a hat with a
brim. Also limiting your feels of audio, noise isolating phones linked to
white noise is a strong strategy. For White noise I use the YouTube live
stream from the aloha cabled observatory

2\. Allow yourself to work in different locations, don't get married to a
single desk

3\. Spend the last hour of every day wrapping up your work and documenting a
personal list for tomorrow

4\. Do not allow yourself to stay late just because a problem isn't solved.
It's better to learn to wrap a project up, than solve it. ADHD can a habit of
taking every evening from you when on a focus high

4\. Pick up a course online that is relevant to work and follow it

5\. I found my ability to focus significantly better with single technology
tickets. I would encourage changing technologies and projects often, but the
fewer technologies supporting any individual ticket the easier this has been
on my brain.

6\. Take a walk after every meal

7\. You can find difficulty in different tasks. Becoming very good at ticket
triage and documenting process is valuable and a lot of developers are bad at
it.

8\. Using a time tracker can be helpful, assuming it is low enough profile. I
use hamster with its accompanying gnome plugin. Unfortunately I have never
seen an offline solution as simple as this

~~~
afarrell
> like wearing a hat with a brim

Your friendly neighbourhood marksmanship shop might be able to do you one
better.

[https://www.intershoot.co.uk/acatalog/ahg-Anschutz-
Hat-325C-...](https://www.intershoot.co.uk/acatalog/ahg-Anschutz-
Hat-325C-294.html)

------
fredgrott
I have ADD:

1\. Went for decades without knowing..not fun. 2\. Structure, Structure,
Structure will bring back huge focus spans to the point where you wake up from
deep sleep and write code solutions...the first time it happens you will be
shocked! 3\. If not meds of if even meds make sure to re-adjust to more
healthy diet...ie high tyrosine foods as tyrosine is what is the building
block to dopamine which well lack . ANd actually lower doses of caffeine
combined with high vitamin b works out better. Not sure why yet. 4\. Exercise
daily..no not 5 minutes a good healthy hour or so...I do sit-ups, small
weights and jogging. 5\. Be aware of your addictions and limit them

Oh yeah, the benefits...would you believe it makes you a better UI designer as
you know what structures to get a user to focus on doing something? At least
for me it did and I even did a deep dive in cognitive science research because
of it.

Side note: Its genetic, my mom has it and my youngest sister has it as does my
nephew

------
luxuryballs
I don’t recommend drugs because it really sucks after you build a career
around it and then feel like you need to be on drugs just to keep your job but
you can’t switch careers because you would take too much of a pay hit, you
really feel trapped, especially if you have dependents, and you know that it
is having a negative impact on your health, which is also not good if you have
dependents because you want to live a long time.

I know this is more of a warning of what NOT to do that’s not really answering
your question but take it from me, once you are no longer a 20-something
things catch up with you big time.

------
rajlego
A lot of people here have been talking about headphones/blocking out noise. To
that end I HIGHLY suggest buying some good earmuffs (I use the X5A) and inside
those using earbuds. It’ll look ridiculous (though there are smaller sizes)
but for 30$ for earmuffs and 20$ earbuds you’ll have extremely effective noise
cancelling if the earbuds are on low (the earmuffs don’t block well certain
types of sounds but low noise from earbuds takes care of that).

~~~
brailsafe
I've been meaning to do this all week. Do you have a specific pair in mind
that works? I tend to prefer dead silence if I'm already energetic, because
the adjacent noises of my coworkers slurping or coughing or chewing with their
mouth open make angry. (yes misophonia)

~~~
rajlego
[https://www.amazon.com/3M-Peltor-Over-
Earmuffs-X5A/dp/B00CPC...](https://www.amazon.com/3M-Peltor-Over-
Earmuffs-X5A/dp/B00CPCHBCQ/ref=mp_s_a_1_5?keywords=3m+earmuffs&qid=1575692536&smid=ATVPDKIKX0DER&sr=8-5)

I use these exact ones and can attest to them working, keep in mind though
that the size does really make them look funny. You can get smaller sizes but
I’m not 100% sure how well earbuds will fit with them. If earbuds do fit main
trade off would be that for silence you’d need somewhat higher wind noise but
I’m sure they’re not too bad either.

------
eanthy
Every single developer I know has some degree of ADHD. I personally don't have
it as bad but I know a colleague who literally can't shut up and stop moving
and bothering us all the time. Honestly If the person is not aware of their
condition I don't think you can do anything about it besides try to isolate
and ignore them somehow.

~~~
johnisgood
Where is this place where they isolate and ignore coworkers? I would like to
go there! When I was younger I always dreamed of a sysadmin-like job where I
can do my own thing in the background without anyone bothering me! :D Now it
seems like you need to be a social butterfly to become a software engineer or
a sysadmin...

~~~
itronitron
look for small to medium companies that do contract research and support work
for the US DOD, lots of sys admin opportunities and lots of
compartmentalization due to various rules and regulations

~~~
johnisgood
I live in Eastern Europe. Could you give me any companies I could try? Ideally
in Austria, English-only.

~~~
itronitron
You should look at Elastic's job postings, those are all remote and the devs
I've met from there, while sociable, are not social butterflies. Also,
Raiffeisen and several other banks have positions listed that may be what you
are looking for. Most other companies that aren't startups will probably want
German language skills.

~~~
johnisgood
Thank you, will give them a go. :)

------
Antoninus
I’ve never been diagnosed but I had trouble focusing on anything that wasn’t
sports or any activity that was highly stimulating.

Your goal should be getting into a ‘flow’ state. Like many commenters before
me, headphones, spotify and in a place without distractions. Start by reading
a piece of code, go through it step by step until it makes sense. Keep doing
this until you’re ready to work. Now you want to define a task, continue
working until you lose your ‘flow’ state. Take a break, stand up and stretch.
Now go back your work station and repeat that process. After 3 weeks of
building this muscle you should see significant results.

Best of luck.

~~~
serpix
If only there weren't interruptions all the time this would work. No problem
getting into flow state but keep getting interrupted out of it.

------
codingslave
Just take a bunch of stimulants and study leetcode, then go work at microsoft
or google. They both have tons of easy boring work at a slow pace with good
pay. Theres really no other option

~~~
anoncake
> They both have tons of easy boring work at a slow pace.

What the hell made you recommend this to someone with ADHD?

~~~
codingslave
Low pressure, slow pace. If he exercises well, eats well, gets good sleep, etc
he can manage to meet expectations in a slow well paying corporate coding job.

With ADHD you want to put yourself in a job thats as hard as possible to get
fired from, that still pays well. Some kind of startup that inspires "hyper
focus" may work with ADHD in your 20s, but its a ticking time bomb, you will
make mistakes. Not being detail oriented, people will come to mistrust you.
With a family this is a risky career path

~~~
m0ther
This is an interesting perspective. I am in the complete opposite camp, but I
will be thinking about this an questioning my position for the next few days.
Thank you for sharing it.

------
zamalek
I am diagnosed ADHD.

I find that music keeps the distractible parts of my mind sufficiently busy
for me to deeply concentrate on a single task. I am hopeless without
headphones.

I continuously twitch my one leg, a coping mechanism I picked up when I was
very young.

Finding a new job that stimulates you might help, or carving out a piece of
freshness (invent/identify a problem and solve it) in your existing job - that
will force you to learn the codebase as you improve it for your pet project.

------
PragmaticPulp
Focus is a learned skill for everyone. A common myth among ADHD people is that
deep focus and extended concentration come naturally to normal people. Truth
is that spending 8 hours per day focused on deep work is not automatically
easy for anyone. Everyone has to work on building that skill. ADHD people just
need to work a little harder.

Some tips:

1) Structure your environment to enable sustained attention. Be aggressive
about turning off push notifications, unsubscribing from e-mail lists, leaving
Slack channels that aren't relevant to your work, not accumulating a lot of
browser tabs, and sitting somewhere out of reach of distractions.

2) Balance attention with activity breaks. Pomodoro timer apps are great for
this. Start with 10 minute work intervals if you have to, but build discipline
around respecting the timer. Stretch the work interval to 15 minutes once
you've mastered 10. Then push to 20, 25, and 30 as you build up your focus.
Treat it like going to the gym to get fit. Don't beat yourself up if you have
to reduce your work intervals on tough weeks.

3) Be deliberate about time waster websites. Reddit, Twitter, Facebook,
Instagram, and HN are okay in moderation, but you have to realize that each
time you check these websites impulsively, you're worsening your focus
abilities. They can't be your automatic mental escape when focus feels
difficult. In the fitness analogy, these are like junk food. Okay as an
occasional snack, but they'll take a toll if they make up too much of your
screen time. Set aside time before work, at lunch, and after work for checking
up on social media. Block them on your work computer.

4) Physical exercise. It's cliche, but it works. It doesn't have to be
difficult. Taking a 10 minute walk around the building 2 or 3 times a day does
wonders for organizing your thoughts and getting away from screens for a
while.

5) Find supportive ADHD resources, avoid reinforcing resources. It's easy to
find "woe is me" ADHD communities on Reddit and social media where people vent
about their ADHD problems. Venting and empathizing with others feels good, but
it reinforces all of the wrong behaviors. You need to focus your energy on
resources that help you improve. Good resources include working with a
therapist (check your company's insurance, probably cheaper than you think)
and spending time around people who have high organizational skills.

6) Be accountable to other people. With ADHD, it's tempting to hide your
progress and blend into the background. Avoid that temptation. Send weekly
updates to your manager about your progress, without fail. Knowing that you
need to show your progress every Friday provides some healthy pressure to
focus and perform. Going back to the fitness analogy, consider this like being
accountable to a gym partner. Accountability is good for you.

7) Eat healthier. This doesn't have to be difficult or expensive. Buy a bag of
baby carrots and snack on that at your desk. Drink water, eliminate soda.
Minimize sugars. It feels cliche, but it really does help.

8) Build your identity around being a software developer. Don't accidentally
build an identity around being an ADHD person. Don't let your issues define
you. The diagnosis is only helpful as a way to help you improve yourself.
Don't let it become a crutch or an excuse for underperformance.

~~~
Ruxbin1986
Agreed entirely. ADHD is real and should be taken seriously. I've been tested
positive by a non-quack in the 90s and again as an adult a few years ago.

Building off of this especially the accountability section - when those with
ADHD fail (and those with other mental disorders) - is often perceived by
others as poor priorities, lack of maturity, etc. It's critical that it not be
seen as such and those help the individual stay on task - through positive
reinforcement, task management, organization, etc. - NOT shame.

~~~
Ruxbin1986
On another note, while I admit there are good ADD Resources - many of them are
geared towards parents, teachers, kids, doctors.

I find resources for adult significantly lacking. And therapy is an option
however many US Health Insurance plans don't cover therapy.

And my deductible is an amazing $5,000. Ugh.

------
eithed
Headphones + calm music

Close mail + slack; open it at lunch break (ymmv depending on what kind of
office you work at)

Prepare a list of things you'll do and stick to it - oh, this change could
benefit from this change and this one here. NO! Do what is required in the
task. If you're going to clean the code up do it afterwards

------
lightgreen
I work from lunch to late hours (when these’s nobody in the office). Often
work from the meeting room when it’s available, and sometimes work from home.

~~~
stuntkite
Schedule is critical for me but I do the oposite of you as much as I can. Try
to get showered, ready, and sitting in my chair by 5-6AM. Then I spend about
30 minutes writing in a bullet journal what I plan to do today, reviewing the
previous days notes. I always start the page the same way with the date, time
I'm sitting down, day of the week, and how I'm feeling. Then I open my IDE and
get to it.

I like the morning because no one is around ever. Slack is quiet, my phone
likely wont ring. It's the highest probability that I'll get uninterrupted
flow state. Then after lunch when people start asking questions I switch to a
more social mode and it works. I tend to not be able to recover from moving
into a social mode and going back to technical work.

------
rllyboredonline
Repetitive music, or listening to the same song over and over (it has to be a
good one). Speed/Caffeine also seem to help.

------
epsteindidntk
have you heard of synthetic adderall from China?

~~~
improv32
I've heard of synthetic Ritalin analogues (isopropylphenidate). There is
something similar for Adderall?

