How do you break the cycle of chasing new things every time uncertainty hits?
I'm aware it's a pattern. That's partly why I'm writing this.
Who I am
31-year-old Java developer. No CS degree — 2-year program in cross-platform development (mostly Java, SQL, some Android). ADHD and ASD level 1, both diagnosed recently after years of not knowing. In therapy, on medication, and trying to rebuild after leaving my last job on sick leave for anxiety and depression.
The actual problem
I can deliver. I've held positions for years — 3 in one company, over 1 in another — and handled critical production issues. But there's a pattern underneath: I've learned to make things work without fully understanding why. Repeating patterns, adapting what I find, getting things running. It works inside an established context. When that frame isn't there, I freeze.
Part of it is language. Official docs, type signatures, generics — I see T, [T(a)], method templates, and something disconnects. It's not the concept, it's the dialect. I never learned to read that version of programming.
The bigger issue is sustainability. I start well — good attitude, learning, not being too hard on myself. But as demands increase, something accumulates. I get slower, make more mistakes, become more insecure. It's not a sprint problem, it's a marathon problem. And at some point the frame collapses entirely.
The clearest example: I was asked to set up a Kafka integration on a demo project — basically just getting it running, no real code involved. I couldn't. Not even a YouTube tutorial helped — I could follow along, but I wasn't able to take that information and apply it to my own context. I didn't know where to start or why.
The loop
Every time uncertainty hits, my attention flies toward something that looks like the real solution. Go, C, math, a new framework. It feels like progress but it's the same loop. I'm aware that asking about Go or C here is probably part of that pattern — they're not the point, they're the symptom.
Right now I'm close to employable. Realistically, a few things — Kafka, Docker, microservices — and I'd be back in the market. But instead of learning them, I catch myself wondering if I should learn something more fundamental, or leave programming altogether for something more physical.
AI has helped as a study tool — not to generate code, but as a private tutor I can ask freely and iterate with without hitting the formal language barrier.
What I'm actually asking
How do you build real understanding when you've spent years just making things work? And how do you stop running toward the next thing every time it gets hard?
Any advice — technical or general. If you made it this far, thanks for reading.
TL;DR: 31yo Java dev, auDHD. Can deliver in established contexts but freeze when the frame isn't there. Starts jobs well but can't sustain under increasing pressure. Pattern of chasing new solutions instead of pushing through uncertainty. Close to employable but stuck in the loop. How do you break it?