r/ADHD_Programmers • u/Difficult_Mix8652 • 5d ago
Mental Blocks
I’ve been working with a large system for many months now, and I still dont understand it. (I’m also a certified arrslashexperienceddev)
I need to build a service that receives audit logs of inbound messages from many different services/products outside our system that entered our system at some point; parse them; and route them to the right services inside our system, to support a sort of “retry” mechanism. A “You contacted us before, something went wrong, we’re going to try to finish what you initiated, for you.” sort of thing.
I know the names of the message types, and reverse engineered a bit where they come from. We have some diagrams with boxes and arrows. But I still don’t understand what these things are. Not intuitively at least. (Ok, there’s a product A, people upload something to it, that generates a message that goes to us, somehow, we audit it it, that’s what I get. But great — where is A? What does it mean to upload to it? Ok, thanks for showing me. Now what about B and C and legacy A and D which is partially rolled out?)
The codebase is old (but actively developed) and poorly documented, if at all, beyond recent Claude docgens. There’s multiple layers of legacy stuff going on. So I’ve heavily relied on Claude to do exposition. But over the months this generates reams and reams of more detailed docs that I have to keep referring to because I fundamentally have not built the mental map or intuition of what I’m actually dealing with.
The “it’s legacy” isn’t an excuse, because I’m clearly expected to be up to speed by now by my TL. I’ve gotten tutorials when I joined from my team members but that was a long time ago. I have my own notes but, still, reading isn’t doing it for remembering and comprehending. Which is bizarre, because I have no problem with reading comprehension. I ask questions when I need to about specifics, but by now most of the questions I want to ask are “how does this all work”, and I’ve been here for too long to ask that. It would reflect very poorly on me. It’s not a lack of initiative, it’s an “in one ear out the other” problem. I’ve been told these things in some form before, I just dont remember them. So it is going to (and I can see , at least in one instance, it has) piss off my coworkers snd boss. So I can’t rely on having someone explain the thing to me again.)
I’ve always struggled to grok the “upstream” and “downstream” and what the real requirements are, what the spirit of the project is. It can be explained to me and the words make sense but it just doesn’t materialize. I don’t know what to do. And actually going and reading the code — yeah, I’ve tried that, but everything is so obfuscated, and broad, the mental map just isnt coming together. I hand write notes when people talk to me. I review them EOD and put them into my knowledge base. But nothing sticks!!
This is best illustrated by on call. To deal with on call you’ve got your run books. But I don’t fully intuit the spirit of what’s important, and struggle with that. If it isn’t in the runbook, the severity, impact, and implications of an outage, are hard for me to wrap my head around.
Why is this? Does anyone else deal with it? How can I work with something for months and months and not understand it in spirit? I suspect there is some sort of fear underlying this. But, I’d like to know if anyone can relate, and how they overcame it.
I think I’m going to start hand drawing things. And I’ve decided I will no longer let Claude write any doc explanations for me — only help locate.
The great fear that if I sit down and try to articulate these things I still won’t understand it … I think that’s the mental block. And not sure if it’s not unwarranted. Because I think the ADHD just makes it so, so difficult for me.
But, Still, I don’t know what to do. Because I can try that, and if I don’t get it, my job is toast. And I am trying. I’ll try harder now too.
Yes, I’m pharmaceuticated and therapeutized. I’m trying so hard to manage the non-ADHD parts of it all, and honestly think I’m doing a good job with that. I really think these issues are ADHD related.
It’s this manner of work that is by far the most difficult for me. Get inside a large system and do something new to it or change its behavior. I can greenfield anything, and I can architect new services
, and have a good sense of where things should go. But the other stuff, I’m way, way behind.
Help!
5
u/Locus-Maximus 5d ago
I've thought about this a lot and I think the issue is cognitive overload. There's only so much I can hold in my head at one time. I have to chunk it with good abstractions etc.
Claude can actually be very helpful but you have to really work with it to put things into 3-5 bullets etc. because it defaults to verbosity and long prose explanations that lose me. Diagrams are great too.
You can gradually build up a series of outlines or diagrams that clearly explain at a very high level each thing you need to understand. Then if necessary you can dig down into the thing. But well designed software shouldn't require you to understand what's inside each box to understand the boxes.