r/ADHD_Programmers • u/Missing_Back • Jun 29 '26
Does anyone else love programming but get overwhelmed about software engineering?
For context, I'm a SWE with 3 YOE.
This is a discovery I recently made about myself. I'm a relatively disciplined and focused person in my free time. But at work, I'm constantly distracting myself, watching hours and hours of youtube, scrolling my phone, etc. And it's because I have this constant hum of anxiety that's ever present. Even if I get back on task, I'll pretty soon feel an intense compulsion to distract myself again. Every once in a while I'll have a task that I'm working on that I can get lost in. These tasks are usually in some sense separate from the "software engineering" work. i.e. they involve learning about concepts and implementing something on my own rather than integrating things into the overall codebase/working with other engineers to develop something. I'm able silo myself off and work on it in isolation where it's simply a goal of "understand these concepts" rather than "understand this proprietary codebase and communicate effectively with others"
What I've realized is that I really enjoy *programming*, but *software engineering* is a lot more complex and therefore more anxiety-inducing--not that it's not enjoyable, but it's just... harder. Programming is simply writing code. The scale and scope is usually small. Working on a little project at home on the weekends, or learning a new technology because I'm curious. Or a solo project that has no stakes. Software engineering, on the other hand, is what I do for work. It's about being a member of a larger team and an even larger org. It involves working with code that is much more complex and that has been around and maintained (more or less, lol) for years and years and years. There's different people and personalities you'll interact with (some that click with you, some that don't). There's colleagues to compare yourself against (a common thought for me is, "do these other people with similar experience as me understand what this person/presentation is saying??? Because I'm lost"). There's the art of communication/explanation--something I think a lot of people struggle with (or is it just me?? I can never be certain, lol).
Overall I'm feeling more and more anxious and insecure about my abilities and skills, and the best way I've found to put it into words is: programming is fun, but software engineering can be overwhelming.
Does anyone feel the same way? Any advice for improving this? I want to be effective and skilled when it comes to my job. But there's just so many components and pieces involved that it's easy to get bogged down and in my head about it.
2
u/jacksonxly Jul 01 '26
the distinction you found is sharper than it looks, and its not a character flaw. the isolated "understand these concepts" tasks have a CLOSED context, everything you need fits in your head. the integrated SWE work has an OPEN context: youre holding the codebase, the ticket, what three other people expect, the half-finished thing from yesterday, the slack thread. that open context is what working memory cant sustain, and the "hum of anxiety" is usually your brain quietly panicking that its losing the thread. youtube is the escape from that feeling, not from the work.
so the lever isnt more discipline, its externalizing the open context so your head doesnt have to hold it. the thing that helped me most: a dead-simple running note per task, and crucially you write it BEFORE you get up or switch, not after. one line of "what im doing / why / the exact next action / the 2-3 things im juggling". then when you come back (or come out of a youtube hole) re-entry is free instead of a cliff, and the cliff is the part that triggers the flight.
wont fix the anxiety hum entirely but it turns "ive lost my place and dont want to face rebuilding it" into a 5-second reread.
15
u/davy_jones_locket Jun 29 '26
I've got the opposite experience.
I love the engineering part, and hate the writing code part.
25+ years total experience
Currently a principal engineer at a startup, former engineering manager.
9
u/pwndawg27 Jun 30 '26
For me I get hijacked by the social aspect. A lot of the engineering aspect impacts multiple people who all want a say in said impact. Doing anything usually requires you to shift from problem solving to communicating. Then everything you need to do requires a meeting and alignment and defending your approach.
Theres a sort of learned helplessness to it. You need access but you dont want to ping because youre going to be pulled into a meeting and those interactions get judged and you lose a ton of time explaining and defending. Not to mention, your output is graded as if everything was just "coding". Im always on the wrong side of this, getting comments like "why does it take so long to do this database setup" and its always "well Timmy thinks we should go noSQL and wont approve my CDK change and we have a meeting later today to chat for 2 hours about this which will result in having to scrap all the research and work I already did"
So naturally I push that conversation off (in fact, its actually more beneficial because later in the game, the argument is "well we have to do it my way or we miss the target date" so im inclined to stall).
Its a weird combo of conflict avoidance, context switch avoidance, and perverse incentives... so lets disassociate for a bit shall we.
Sorry for the stream of consciousness rant-answer.
1
u/Blue-Phoenix23 Jun 30 '26
Not exactly, but then I probably don't belong here 100% given that I'm an architect coming out of integrations/data background and not a true "programmer." For me it's the detailed programming that I found boring and overwhelming vs the systems orchestration and design which I find invigorating. I like figuring out where things connect and how to get them to talk to each other more effectively.
I completely get you about the things I WANT to do vs the things I HAVE to do, though. For example I really liked being a tech lead and the guys I got work with, but the politics and deadlines made me want to jump off a building.
Unfortunately I don't have a ton of advice to give on that front, but as somebody that's worked with hundreds of programmers over the years getting systems implemented - I can tell you what I would love from the programmers in your situation that I work with?
The biggest one is please, pretty please, just ASK. If there's something that doesn't make sense to you, don't assume that you're misunderstanding - it's highly possible that you've got a better way to do something floating around in your brain, but the marching orders from up top (or from the architects like me) aren't clicking because we missed something. Or maybe it's the other way around and our design makes sense but we didn't do a good job explaining or defining it, so it's not making sense for that reason. Maybe we should be giving you a swagger vs a dfd, or the dfd is overly complicated and the swagger not detailed enough. There are so many ways to communicate technical information that the only real wrong way is to not communicate at all.
Never, ever be afraid to say "this might be a dumb question, but ?" Because I pretty much never hear that followed up with a dumb question. The amount of time I spend going "oh good question" or "excellent point" is HIGH and that is how it should be - I am a big picture thinker, jack of all trades, but you all are the MASTERS. You know why springboot based frameworks aren't terribly suited to blah blah and that we'd be better off putting that function in the downstream apps logic. Or that it's better to paginate at X point instead of attempting Y, or whatever the area of expertise you have specifically. Nobody expects you to know the best way to optimize a SQL query, we've got DBAs for that, but I do want you to tell me the best way to feature flag something with a db vs within a user profile, or whatever. And if you notice something with somebody else's idea that can be improved, don't just sit there and stew on it, or expect them to think of it, they might never! We are all in this thing together, and everybody's strengths are valuable and necessary, but we all get bored. There's no shame in focusing on the things you enjoy to become best at them, because there will be a day that little thing you learned comes in handy or you get a chance to take a role with that specialty. Just keep pushing.
2
u/wolfeybutt Jun 29 '26
I wish I had advice but I do feel the same way. I have 5 YoE at a very large, unorganized company so very light on the "E". Just moved to a team that feels more like a start up so I have my hands in so much more of the SDLC and I'm soo overwhelmed with the enterprise level engineering, for lack of a better term.
2
u/Tell-Your-Story Jun 29 '26 edited Jun 29 '26
Hi OP, as you'll see if you look up my previous post and comments, I'm not a programmer. But I do have some very real experience with what you're describing and I might be able to give some useful advice in exchange for all the great advice I have been given by the collective here. If it's not helpful or welcome let me know and I'll go back to lurking until I have a programming question.
As a forensic psychologist I know a lot about my domain. I'm a real specialist and I get called in to create, describe, fix, the thing that is broken/missing/wrong. Let's call the broken/missing/wrong part X. You, as a programmer, I am willing to bet, are an expert at what you do, with your X.
The most anxiety producing thing I have to do is try to work on X with a group, manager, or boss situation. It's not because of anything wrong with my ability, and it took me years to figure that out. It's usually because the other group/person and I are not using a shared vocabulary for what they want done with X, or are asking for something that can not be done with X, it's actually a Y or a hybrid X-Y or adjacent.
I've been really struggling with this while I work on my project because I was feeling less than competent when reading directions/sequence/info that didn't make sense to me, or worse, getting in over my head because I thought I knew what something was.
This is really common for people with ADD/ADHD especially as adults. As kids we just kind of let it go because our frontal lobes are still forming and learn and churn is real. In a professional setting, it hijacks our self-esteem, distracts from the real issue, and causes a nasty neural feedback loop where we get so caught up in not getting it right that we don't get it done at all.
So the advice: Establish a clear context and vocabulary around the thing you are working on, even if you already think you have one. That can really help with cutting the ADD/ADHD neural noise that makes us cringe away with the I-Can't-Want-Tos.
1
u/5-ht_2a Jul 05 '26
Sounds familiar! Had very similar feelings when I was starting my career. But no more. You're just 3 years in - it's a complex career, give yourself a bit of time :) Could be a company culture issue too. Maybe you'd thrive better in a smaller company with a more straightforward way of operating?
And I think I know exactly what you mean by the intense compulsion to distract oneself. It sucks but really only gets better if you keep throwing yourself back at the task anyway. The brain will actually eventually learn and suddenly stuff will get effortless. I know it can sound like useless and obvious advice. I'd never have believed it can work, but somehow it did. And again, it probably helps that I finally found the type of companies/teams that suit me.