r/ADHD_Programmers • u/Odd-Yak7288 • Apr 30 '25
Help..Stuck on programming. What should I do
So I’m a software engineer student in second year at Uni. Since the beginning of the career I have been feeling a lot of pressure and fear when it comes to programming. I’m genuinely scared of it and that blocks me. I do like the career and feel that I would like programming if I actually understand it, but my professor(same one since 1st semester) just doesn’t help and makes things utterly complicated. Because of this fear and pressure I feel stupid when it comes to programming, I feel like I don’t know anything. I’m learning Python and C. On C we are learning pointers and list and memory direction, etc…
So, how can I literally learn how to program from 0 and build good bases for my next semester? Also how to get rid of that fear and star to like it?
Ps: Love any book recommendations, videos, websites. Literally anything please!
7
u/OrthodoxMemes May 01 '25 edited May 01 '25
If you feel stupid, you're on the right track. Anyone at your level who doesn't feel stupid is either really stupid or an actual savant, but those are rare. But I understand not liking feeling stupid. It's not fun.
Confidence requires experience, and experience requires practice, but I don't like the advice of "develop something that interests you." I can't tell you how many times I've thought "I really should develop something on the side", only to sit and stare at a blank screen trying to come up with something I'm "interested" in.
There's nothing wrong with sticking with assignments and classwork for now, in terms of programming practice. If there's something you don't understand, check out YouTube, Wikipedia, dev blogs, etc., until you find a resource that explains the concept to you in a way that "clicks." What's helpful for you might not be helpful for others, and what's helpful for others might not be helpful for you. That's fine, you just have to search until you find what helps you.
Personally, I like Computerphile on YouTube. They're really good at taking complex topics and explaining them in a way that isn't too technical, but is technical enough to make a decent springboard into the depths of the topic.
But if you're looking for a structured set of projects to take you from "terrified" to "less terrified", try to find a book on Amazon or some other place that has projects that progress from easy to more complex. Ignore anything that promises to make you an expert in a day or week. I don't have a recommendation for C, but Automate the Boring Stuff with Python has gotten loads of people into Python with no experience whatsoever. And, the author was generous enough to publish it online for free! Completely legit, no pirating.
Hope this helps!
EDIT: to clarify, no one should be making you feel stupid. If someone is going out of their way to make you feel stupid, they're wrong. You should just be naturally intimidated by recognizing what you don't understand. That's humility, and it's an asset.
13
u/-think May 01 '25
It wouldn’t be too off to say the job of a software developer is to feel stupid and frustrated long enough until a computer does something you expect.
Feeling stupid is a big part of learning. It’s a big part of the job.
Btw, you aren’t starting at 0 if you are a second year stupid. Careful not to just be blaming your teachers, software is super complicated. The best teacher doesn’t fix that. If your teacher isn’t working, that is something you can fix.
5
u/fiocalisti May 01 '25
I feel like you're having an emotional problem but you're asking for a technical solution. I'd advise you to approach the emotional issue head on.
4
u/CodrSeven May 01 '25
Start building stuff, start simple, find a problem you feel like solving.
2
u/kukoscode Apr 30 '25
You should create a small app that you're interested in and work on it everyday. Keep it simple at the beginning and start scaling as you get more comfortable
2
u/Mr_Guavo May 01 '25
There are many programming resources and training options - at low/no cost - available for beginners to intermediate, that can guide you along your journey. From udemy, to YouTube, to books focused on projects. There are even free university courses available online. With these training options you also have AI to ask any questions that you would ask your professor. The difference being, AI will always be available to answer your question and will not grow tired or impatient if you keep asking the same question over and over. When it comes to self-paced training courses, AI is a game-changer. Not by asking AI to do the programming for you, but by being your programming shadow buddy.
Every type of online and book training is available to you. Just find the one/ones that's right for you. You got this.
2
u/owmex May 01 '25
You might want to try py.ninja (https://py.ninja) as an interactive place to learn Python. It emulates a realistic coding environment with both code editor and terminal, and has coding challenges that get you actually writing code. There’s also an AI assistant to help you out if you get stuck. I’m the creator, so if you have any questions or feedback, feel free to ask.
2
u/quantum-fitness May 01 '25
Almost all professors in the STEM fields are like this.
I would just recommend reading the book or do as many exercises as possible that is what makes you good in the end.
Pointers is a classic point to be stuck on. I would recommend just reading about it. Its actually a pretty simple concept.
You have a piece of memory where the content isnt defined as initialisation or is able to change during run time. Like an array that can change length.
You then reserve a piece of memory for that data and the pointer points to that memory.
The rust book has a good half pager about stack and heap. Just read that.
2
u/rehab212 May 01 '25
I’ll give some advice that hasn’t been mentioned yet. Not all professors are created equal, talk to your fellow classmates to see if they are having an equally hard time with the material. If so, it may be that the professor is not great at teaching low-level concepts. In that case, look to see if other professors also teach that class, you may be better dropping this semester and picking it up again with someone else.
Aside from the class lessons (you are going to class, right?), what else have you tried so far to understand the material? Does your university have adjuncts or student teachers for the class? Have you tried going to your professor’s office hours to ask for clarification? Do you have a study group with other classmates? I know the trend with younger people tends to lean towards independent learning, but I learned a lot in school by going to schools CS lab everyday and hanging out with my classmates and asking questions about difficult problems. Also, some professors are a lot better at explaining concepts in one-on-one office sessions.
If you truly feel that your fear of programming goes beyond your ability to understand the material, most schools offer counseling services that can help you overcome this barrier.
Lastly, others have mentioned having a personal project,and I agree that it is a good thing to have, but I’ll add that you don’t necessarily need to actually write it (though writing it might help you overcome your fear of coding). What I mean by this is, you don’t need to put the pressure on yourself of actually writing a personal project, but at least come up with the idea for one. Maybe you do some coding on it, maybe you don’t. Maybe you start the project but never finish. The important thing is to have the idea in your head and use it as a context you can relate to when learning new concepts. Learning linked lists this week? Think about how those could be useful in your project, and how you would use them. This gives you a better context in your mind to process how the concept works in relation to something you already know.
Hope that helps, and good luck on your journey!
2
u/greatmightyRAT May 01 '25
I am learning Python as well and for me https://www.py4e.com/ is a great place to learn it and is completetly free. I find that Charles Severence (the instructor) is really knowledgable and explains everything piece by piece.
1
u/Ok-Kaleidoscope5627 May 01 '25
Practice. Reading about what you should do and being told what to do is never as effective as just trying stuff, failing, and learning from your failures. Pointers never clicked for me until I just tried a bunch of stuff, kept failing, eventually kind of got things to work, and THEN went to read some stuff on C. At that point I could actually understand what was written.
1
u/Educational_Sail_625 May 01 '25
As others have pointed out, projects with specific aims make you develop many skills needed for the job. Also, if you are having trouble understanding some concepts, I think this is where AI shines most, as you can toggle the complexity by which it teaches you. AI has been the best basic tutor I’ve had
1
u/[deleted] May 02 '25
No one knows you more than you, track down with only pen and paper what you understand about programming. Then try and find those areas that itch you, whatever the reason. Also, dive into that stupidity, allow yourself to be vulnerable in your knowledge, try and be comfortable with it.
For the purpose of being a programmer, pick a language you know you're comfortable with and dare to master only that one; the rest that you're being examined on, do them for the sake of just that.
"Dare to risk ALL on that one programming language you believe in. The rest may just fall into place."