I have been working in the IT industry for the last 13 years and I was diagnosed with ADHD around two years back.

As part of my job, I have to look at a lot of code. It used to be that I used to write a lot of it, but recently since getting promoted, my work now revolves mostly around reviewing the code others wrote or sometimes enhancing someone else’s code.

The problem comes when I come across some extremely convoluted legacy code. For example, like a function hierarchy with 10+ levels of function calls across several hundreds of lines. This causes me some problems understanding what’s going on because it’s nearly impossible for me to follow every branch to understand which part of the code needs fixing. After a while traversing the function calls I often forget how I got there and have to retrace my steps (I use debug breakpoints but it doesn’t help much). I also tend to get distracted with ideas of how to re-implement the whole thing with best practices rather than focus and work on delivering the fix that I am expected to do. This severely hampers my turnaround time and I’m sure my supervisors are frustrated.

What baffles me, however, is that my other colleagues look like they have no problems working on this codebase. So I cannot really blame the badly written code before my supervisors.

So I just wanted to ask anyone here who has ADHD, works in IT/Software Engineering how do you cope with a situation like this? Also, does medication help here?

I used to be on Atomoxetine, but after experiencing a nasty anxiety attack, I stopped about a month ago. Not that I observed any major improvements while I was on it.

PS: Apologies if the context does not make sense to any of you non-IT folks. I can clarify if you ask.

  • stale_cheetos@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    17 hours ago

    I’m a full-stack dev with 8 years experience mostly in startups. I was diagnosed about 5 years ago (at 32 years old), started on methylphenidate and moved to amphetamines 2 years ago. I’ve worked with legacy code very briefly and early on, and that experience is what made me want to seek out startups/new companies. That being said, I still come across convoluted spaghetti code or deeply nested UI components. I feel like it takes me a lot longer than my peers to gain a general understanding of what’s going on, exactly as you describe. I keep a pen and notebook beside my keyboard at all times and in these situations I write/draw the structural heirarchy, logic flow, etc. While it takes me longer, I feel like my standard for “baseline” understanding is much higher and when I reach it, I have more understanding about the code in question than my peers.

    …then I forget it after a week or so 😂

    But really, writing/diagramming things really helps me. If physical writing isn’t your thing you could try something like lucidchart or mermaid diagrams.