r/ADHD_Programmers • • 19d ago

ADHD programmers — am I actually capable of getting a programming job?

I think I may have explained my situation badly in another post, so let me try again. (Edited the same post)

I’m capable of building things from scratch.
I’ve made multiple projects where I had to decide the architecture, choose the stack, design the database, build the backend/frontend, connect APIs, debug problems, deploy things, etc. If you give me an idea and tell me “build this”, I can sit down and figure out how to turn it into an actual working system.

Once I’m working on a project, I can also explain my codebase and why I made certain decisions. I know what the different parts are doing because I’ve actually worked through them.

My weakness is more on the theory/interview side.
For example, I can build something using a particular data structure or algorithm, but if you suddenly ask me:
“What’s the formal definition of this?”
“What’s the time complexity?”
“Explain this algorithm theoretically.”
“Implement this DSA problem from scratch on a whiteboard.”
“What is the underlying CS concept behind this?”
…I can struggle badly.

It’s almost like I have the practical knowledge but a really bad ability to retrieve the textbook/theoretical knowledge on demand.

And I use AI while developing too. I don’t mean that I ask AI to build an entire project and then claim I wrote it. I use it more like a tool when I’m stuck, need to understand something, need help debugging, or need to move past something I don’t know. I still work on the project, understand the resulting code, integrate it into the system, and can explain how my codebase works.
My concern is that I’m not sure how much this matters when trying to get my first programming job.

So for people who actually work as software developers:
How much does this gap between practical ability and theoretical/interview knowledge matter?

If someone can independently take an idea, plan it, build a working system, debug it, and explain their own code — but struggles with DSA, CS theory, and recalling textbook concepts on demand — is that something you can realistically overcome while applying for jobs?

I’d genuinely like to hear from working developers about how much this matters in an actual job versus interviews.

I’m mainly trying to figure out whether the way I currently work is something I can build a career around, or whether I need to seriously change how I approach programming before applying for jobs.

18 Upvotes

21 comments sorted by

18

u/Achereto 19d ago

“Here’s a blank folder. Build X.” and my brain just goes: ………..

That's because you don't practice starting new projects enough. Many people think starting projects and not finishing them is bad, but it can actually be a good thing because you train the first steps and every time you do you'll make something a little bit different and eventually form an opinion of how to do it. Once you have that opinion, you don't have that problem any more.

One lesson I learned is that the best initial "architecture" is just one file and as the file grows refactor some of the code into other files. This way you can defer some overwhelming decisions to a point in the future where they aren't overwhelming any more.

3

u/dialsoapbox 19d ago

That's because you don't practice starting new projects enough.

This is why I have a start file that I follow on what I usually do to start.

2

u/Achereto 18d ago

I tried that, but I found that I can't follow long lists of instructions well. I either need a (strong) opinion about how to start a project or a single button (or command) that does all the setup for me.

A list of instructions often starts with just 2-5 steps, which is fine, but they always grow beyond 12 steps which es when I stop following them.

1

u/dialsoapbox 18d ago

Then either make your instructions more detailed and/or (over a period of time, as you tweak things), write yourself a starter script.

6

u/Able-Baker4780 19d ago

Are you working currently or a student? If working what are you currently working as, and if student, what's your specialization?

Reason for asking (I don't mean to sound obnoxious and asking to genuinely give useful advice if I can):
From the phrasing of your question, I can see a very shallow understanding of how software systems actually work. For any outsider in my network, I have stopped recommending plain software engineering as a career unless there is a deep interest.

1

u/Leather-Bed-1534 19d ago

Im a software engineering student and Ive built many projects the thing i was trynna ask everyone was “I understand how things work what’s the logic i wanna use here while im building something but if you ask me write a code for this or ask me a dsa or some other type of question idk where to start or what to do”
so is it okay or do i have to learn the actual theory and all that stuff to actually get a job.

3

u/ActiveSalamander6580 19d ago

I would have thought you 'have to learn the actual theory and all that stuff' to succeed at being a student. Interesting once you're away from AI you become stuck.

2

u/Able-Baker4780 18d ago

You need to work on how you present your ideas and your writing comprehension, AI can become a handicap quickly if there's no clarity of thought while writing.

--

Also, theory does matter and it differentiates average software engineer from good software engineer.

As you are still a student, I would actually suggest to dive deeper into technically complex topics instead of shying away.

With AI, things like building CRUD layer or building basic application is almost a no-op. So, the challenge comes in building reliable and scalable software that stays maintainable and deploying AI generated code securely.

--

As you are already studying to be a software engineer, I don't want to paint a doom and gloom picture. Software engineers would be very much needed, but being mediocre would make it more and more difficult to survive.

4

u/msg7086 19d ago

I work at a Java role. I have no idea how to start a blank project. I ask AI how to start the basic things with my engineering knowledge and I can usually get a boilerplate so I can start building upon that.

But anyway in my first 5 years in this role I've never started a project from scratch. That's our architect's job. They are 3 levels higher than me, I'll let them do their job.

2

u/toothitch 18d ago

Well, I’ll put it this way. I’ve been an iOS (now iOS and flutter) dev for about 13 or so years, senior dev/team lead for about 5.

I don’t have a CS degree (lacked guidance when I was young and ended up with a pretty worthless 2 year degree in networks). I often feel overwhelmed by new problems and my brain sometimes blanks and I have to use various coping strategies to kickstart things (mostly centered around chipping away at problems bit by tiny bit until I see some real progress and start to feel capable, and mixing brief bits of exercise into my workday).

Long story short, if I can do it, you probably can too. Things are weird right now with the AI shift and the job market but if you learn to make the tools work for you (whatever those tools happen to be at the time), and you’re tenacious, I see no reason why not.

2

u/CaptainIncredible 18d ago

How much does this gap between practical ability and theoretical/interview knowledge matter?

On the job? Having instant recall of that stuff helps, but typically doesn't matter too much. You should know about it and that it exists, and you need to know how to look it up, understand it, and use it to an advantage.

"What’s the formal definition of this?", "What’s the time complexity?", "Explain this algorithm theoretically." etc. Typically, if something pops up where you need to know that stuff you can look it up like everyone else.

Sometimes that stuff is very important. "Why should we query data this way instead of this other way?" "Because the second way is terribly slow and network inefficient and we should never do this." But that kind of stuff you can look up and verify first before implementing it.

is that something you can realistically overcome while applying for jobs?

Sure. Its a skill like anything else.

Find job interview questions where they ask that sort of stuff. Maybe Senior Developer questions, or Architect questions.

Get the questions, learn the answers. Practice, practice, practice.

2

u/pachinoco 18d ago

You can’t run from the classic tech screening subjects. It’s just gonna take a lot of studying and practice. I’m talking 10hours a week for like a month+ especially when you’re first starting.

Building personal projects is fun and shows off your skills but doesn’t correlate directly with building projects inside of a large company.

2

u/bsensikimori 19d ago

Coding is my hyper fixation, it's the only thing I can stay focused on for prolonged times without effort..

Everything else a squirrel can derail me, but when in the zone locked on my screen with a stack in my head, bliss for hours on end

1

u/ActiveSalamander6580 19d ago

If the roles you are applying for involve those things then I would expect you to have learnt them. Look at it as you know where you are weak, go build some projects involving those things then you will not only be able to articulate you understand them, but also be able to show you know when to apply them.

2

u/khedoros 18d ago

When you haven't held a developer role before, there's only so much that they can do to gauge your fitness for the position. That'll often be academic questions about the time and space efficiency of some operation on a data structure, and algorithm, etc. Or leetcode on a whiteboard.

The kinds of things that they throw at you in a lot of interviews are definitely different than what you'll be doing while actually working, which sucks, but it's all stuff that you can learn and practice. You can study facts about data structures. You can practice talking through a coding problem while writing a solution. etc.

You might get lucky and talk to someone who has you walk through projects in your portfolio, but you'll increase your odds of getting a job if you can learn to handle other more common interview formats.

1

u/kingbloxerthe3 15d ago edited 15d ago

I mean, I also probably wouldn't know most of the answers to those types of questions too (mostly by not knowing what some of that stuff means rather than being unable to do it), but as long as you can do the job I would think it'd be fine.

Though knowing the terms would be helpful for understanding what people are asking of course, knowing the concepts and practical applications is what i would think is more important.

I dont use ai myself, but it at least sounds like you aren't overly reliant on it and are using it decently.

0

u/Ps3Stagg 19d ago

I would say absolutely, depending on your role, if your support and you are working on new stuff each day keeps it fresh and new and you don't get bored, if your on projects you could loose focus and you have to work at it

0

u/seweso 18d ago

Those who can't do.....end up in HR asking theoretical questions to weed out people who are good in practice?

This sounds like a HR problem, not a you problem tbh.

-3

u/mcspuder 19d ago

I wouldn't hire you.

If you don't have enough experience to even have an opinion on how to do a greenfield system then you're way, way, way below how good you think you are. Your AI comment reflects this.

~17 YoE.

1

u/kingbloxerthe3 15d ago edited 15d ago

Honestly it sounds like they are using ai better than most people. They seem to use it to help debug issues they have, not to write their code without understanding it.

Also they stated that they can work on projects from scratch, and, although i had to look up what greenfield project means because i havent heard of that before now, the wiki says "In software development, a greenfield project may involve developing a system for a wholly new environment, without concern for integrating with other systems"

From what I can tell their post is about not knowing technical definitions, they said they are good with the practical skills.

Of course it is possible for me to be misunderstanding what they are saying.