Im wondering if this is a common adhd thing.
For example, I have always wanted to program, but I can’t let myself start with some easy gui building block code. I need to understand how the code is interacting with the computer itself and know how they did it in the 80s. Then of course it’s too hard for me and I give up.
Or if im making music, I need to do everything from scratch the hard way, making it as hard as possible (and killing any creative effort i had in the beginning).
It’s the same with anything. I can’t progress if I dont know the absolute reason why something is being done. And if I do it the easy way, I didn’t do it right and took shortcuts so it was worthless.
I can fix programs without knowing their use if that counts.
I am this way completely. If I don’t fully understand all the details of something, I have no chance of remembering it. Elementary math classes were difficult in college because they infrequently included formal proofs, but as I progressed into more advanced courses I found I really loved math. The formal proofs made the difference. I need to be convinced that something is true; I can’t simply take it at face value.
I failed algebra 3 times haha, never got a solid base on math sadly. I understand it if it’s applied to something, but I literally couldn’t even do long division right now if I tried
Algebra came easy to me. I came to realize even in elementary school we were doing algebra even if they didn’t use that name. Simple arithmetic like 2 + 5 = ? Is algebra if you think of the ? As X.
Then it’s 2 + ? = 7.
After that, at least to me, it’s order of operations and just moving things around.
Same. Geometry I had major issues with because of proofs, but could use algebra to solve almost anything they threw at me.
Ooh! Get an Arduino/electronics starter kit! You’ll learn how computers worked in the 80s. Then you’ll be able to move on up to say, Python in no time 👍
I should do that. My problem is what to make. There’s a billion things and it’s all been done already, so I just don’t know what I’d want to even do
Pick something in your daily life that you want to make more convenient. Start searching for tutorials, necessary hardware, and related coding.
Even something simple like, “I wish I didn’t have to turn on my fan because it’s in the corner.” Boom: look into building a motion sensor that runs a fan, and maybe it connects via a USB port for power.
Convince yourself it doesn’t need to perfect. It just needs to create a convenience that happens to teach you something.
I would find and follow a tutorial. They give you the “what” to do and you can go down rabbit holes of research connecting the why/how. Then when your done, you are starting with some knowledge/understanding which makes seeing possible applications easier.
I’m this way 100%. Feels like I’ll be able to do it better and be less distracted by questions if I get to know something from the ground up, and just doing it a certain way because everyone agrees it works that way is never satisfying/I never feel like I can trust that completely.
It is ok to “cheat” even if you know the “real” way it should be done. It took me ages to come to grips with this but you can get over it too. There are still hobbies I won’t pursue because of this mentality though like drawing.
Yeah it’s hard. Because if I can cheat to do it easy, So can everyone, and then why do it at all.
I don’t know if it applies to people with adhd, but there is this theory that people with autism have weak central coherence. That is, they have a tough time dealing with broad strokes and assembling context into a comprehensive picture of reality. This manifests in simple things like preferring instructions like “buy one dozen eggs” over “buy some eggs”, to more complicated things like understanding that someone is joking when there’s a thunderstorm out and they say “nice weather”. Oftentimes, people with autism are very detail oriented, and uncomfortable with missing puzzle pieces.
For me, this reveals itself very similarly to what you describe. If I want to center a div, there’s a good chance I’ll be looking up how css works, then at the eBNF form of css, and then probably the Chomsky hierarchy, and then probably set theory bc the formal language theory book I picked up uses it, at which point I’ll probably be lead to learn about Russel’s paradox and so on. It’s debilitating.
I don’t know if you’re autistic (although there is like a 60% comorbidity with adhd), but I do know that folks with autism experience the same thing. I don’t have a solution for you, but you could potentially find tips on dealing with this on forums for autistic people.
Definitely could be. A specialist only deemed me mildly adhd. But I feel like I cover it up super well. And it’s worse than they think
I’m the same way. I can’t just know how to do something, I need to know why I’m doing something.
I can’t just blindly follow instructions or I’ll never learn. I need to understand everything so that I can find more efficient ways to do the thing I need to do. This is a common frustration I have in the workplace.
It’s put me at odds with some managers, until I got high enough where it became a target and I could determine the path to get there.
I hated managers who wouldn’t tell me the why, because I’d inevitably hit something that doesn’t line up with my training and I’d have to apply the why’s to determine what to do.
I never understood how programmers had no clue how the hardware worked. How can you write high performance code without understanding memory access optimization and opcode pipelines? Why even attempting rewriting old Fortran array code to C and then to C++ without understanding that Fortran array code fits cache lines just fine, while your newly shiny refactored code doesn’t, so now you wonder why your code performance sucks?
This is the stuff I wish I knew. Oh to be old !
I’m like that and one of my friends as well. We’re both not diagnosed but strongly suspecting AD(H)D, and I’m also diagnosed with autism.
I can’t count the times I started trying to learn programming and ended up quitting for that very reason - but every time I did I knew a little bit more. So I just tried to learn my way and next time I wouldn’t need to look up asuch and got a little farther. But I also have the luck of having programmer friends who don’t mind trying to answer my sometimes very unusual questions, and over the several attempts I’ve learned enough to be able to work in test automation.
If you have patient and encouraging people around you you’ll eventually get there :) don’t go for ui at first, look for console programs so you can get to things like conditions and loops quickly. That’s where the meat is for me.
TLDR: commit to a course.
For the last two to three years I tried a couple of times to get into Python on my own. Each time I find the very basic steps extremely boring. And once I come to a bit more complex question I am like: you didn’t teach that yet! Since I am interested in biology, I want to look into data. I tried my hand on already published stuff but often felt like I am not making anything new, just copy pasting.
The last year I took 2 day classes and are now in a “full on learn 5 month from scratch programming course”. The first two weeks were rough because we went over the very very basics in a slow tempo. And now the “fun” stuff starts.
One day we had a a different tutor and he showed us that some cities (in Germany) provide public data to their citizens. And that this is a good resource. I checked for my city and I have plenty of csv files to choose from. Just waiting to be made into a graph. It helped me stay engaged in the first two weeks. Did I code it myself? Hell no. ChatGPT was a huge help. The haters will tell me I just “vibe coded” but I had so many error messages to work through I think I learned a lot while analysing the data and going back and forth checking if anything made sense. The gist of it is that I am now committed to a course, where I have to show up every day (online). I still often feel like a failure when I don’t understand a question and it is hard to judge if the others are as lost as I am. But it is also kind of fun and having others going through the same makes it more tolerable.
For me the commitment part was the issue. I’m still working on figuring out how to trick my brain into cooperating with commitments. Having a team that was looking forward to my suggestions and ready to rely on it ended up being the one thing that worked. But this is obviously not easily replicable.
I understand that. I find it hard to commit myself to something which I don’t burn for. I can start a huge crochet project let’s say because I want to gift it, it has a clear start and end (starting a magic loop -> finished product). My driver for the programming was: you are unemployed, they got you the course, if you don’t go your unemployment benefits would be cut. And I rather choose my own course instead of being pushed to do something I don’t like. I don’t enjoy the programming, but I enjoy pretty data. If I was still working I wouldn’t have started. So the stars aligned.
Similar here, except I suggested a course and they accepted and paid for it (Software Testing). The programming is what I enjoy and want to pursue.
you should try Harvard’s CS50 course. Does a good job at covering essentials of computer science, not just programming
I tried that several times but it never worked out for various reasons. For me I really started growing once I was working and had a team that was happy I wanted to learn more and answer my questions.
Yea, can strongly relate. Hindered me a lot during my school years. I just couldn’t do anything without knowing the reasoning behind it. In the way I function, any amount of work is dictated by a need, and if the need -or the rationale, is never presented to me, then I fail to tackle the problem. I love solving problems, but they need to be real, applied.
Yeah. I have found the prototype perspective can help. The idea being that this first attempt is part of the learning exercise and you will redo it “properly” the second time. It helps prevent building a emotional mountain of requirements to get started that only exist in my head. It’s kind of an mindset of knowing you will mess up the first one and that is OK because it is expected and a required part of the process.
In programming you do not need to know the inner workings in order to use something, in fact most people use abstraction to make a project more manageable and modular.
Also don’t learn anything before you start a project because it’s too boring. I always start a project and learn things I need to learn along the way
Starting a project which you actually find interesting and will really use, will also help with following through. There will be boring parts to it but the excitement of having something usable will overshadow any negative feelings.
That’s why I never used Unity for anything but rather just started with raylib. And then went to pure Vulkan.
I have this problem. You are being a perfectionist. Some advice I have gotten that helps is trying to make something intentionally bad. It think it was from Simone Giertz’s TED talk. She said that trying to make Shitty Robots was easier because she couldn’t mess up, they were already bad.
https://youtu.be/GEIvFfeSjuE behind the scenes, idk where the full vid is.
Another thing to remember with programming is that bad, but working code will always be better than no code.
I’m sort of like this especially when it comes to math, but mostly because my memory is shit.
I can’t just memorize a formula, I need to know how something works and then I can work out what i need to do. The “understanding” is what triggers the memory to stick, not the need to remember “you need to use x+y-65bm(y+ba)/gap+5-13 when you have a problem involving bears.” I’ll never just remember that. I basically always barely passed my math classes in highschool…
So I never studied science and never followed my passions and am now in a factory lol stupid memory…
This is actually the goal of newer math classes, and is why so many parents have been complaining about “new math”. The new goal is to teach students the core components, then show them how to break larger problems down into those core components.
7x12 may be difficult to do in your head (at least without memorizing your times tables or counting by 7’s) but (7x10)+(7x2) is fairly easy. The goal is to move away from rote memorization like times tables, because educators realized that the best students didn’t actually rely on rote memorization. Instead, they relied on mental shortcuts derived from actual understanding. Plus, rote memorization only works up to a certain point. You don’t need to memorize what 15x13 is, when you can break it down into a series of smaller and easier (15x10)+(15x3)=150+45=195 style problems.
Personally, I haven’t had any issues with new math, because that’s how I always did math. I was one of those students who got bored with rote memorization and started devising shortcuts for math problems. And now they’re teaching those very shortcuts as part of the curriculum, because they realized that it gives a much deeper understanding of how and why the math works.
That’s the “new math”? That’s just how I always have done it. I’ve kicked ass at math because things were a logical progression and order of operations. I could always transform something down to simpler to calculate pieces.
Yeah, all of the former straight-A students (who excelled at rote memorization, without learning why the math worked) are now parents, struggling to help their kids with the “new” math.
That’s actually really good to hear! Hopefully less people are left behind because of the dumb way we would teach things.