why does it feel like I understand things until I try to code them myself?
Posted by manchesterguy33@reddit | learnprogramming | View on Reddit | 19 comments
I’ve been learning programming for a few weeks now (mostly Python), and I keep running into the same problem.
when I watch a tutorial or read something, it all makes sense. I can follow along, I get what the code is doing.
but then when I try to build something on my own, even something simple, my brain just kind of blanks.
like I know the pieces, but I don’t know how to put them together without copying.
is this just part of the process or am I doing something wrong?
gofl-zimbard-37@reddit
Reading and writing are two different things. You can read a novel. Can you write one?
heidensieck@reddit
I tell my coding students that coding is also a motor skill. Understanding what you read is one thing, but 'speaking' is a different level.
Individual-Job-2550@reddit
Imagine you watch a lot of baseball. Youve seen professional players hit homeruns many times. Now you step up to bat, would you be able to hit like the pros? Absolutely not
You can understand something while not having the practical experience to apply that knowledge. You just need to actually practice more
wakeNshakeNbake@reddit
You explain in 2 sentences what I probably would have tried to explain with a 4000 word essay! I love this!
Comfortable_Box_4527@reddit
That’s actually a really solid way to put it. Watching vs doing are two completely different skills.
Curious201@reddit
audio environment actually helped me with this. when i'm in "understanding mode" i need something different than when i'm in "building mode". melody pulls you into passive listening — switched to pure rhythm, no melody at all, and the building sessions got way easier
Blando-Cartesian@reddit
Normal part of learning you have likely encountered cramming for all kinds of exams. Watching and reading (and getting answers from AI) happens so effortlessly it feels like our own comprehension and well learned knowledge. But actually learning requires pulling information from memory and applying it multiple times. All the watching and reading was just necessary preparation step for practicing where that actually produces skills.
Code something. Whatever is somewhat challenging for you. Something where you feel like 80% comfortable that you know what you are doing. Do shitty first drafts and lots of refactoring as you come up with better ways to do things.
AntiDynamo@reddit
Because you don’t actually understand things.
That’s exactly why it’s so dangerous to be relying on LLMs, or chegg, or reading the answers in the back of the textbook. It’s always been a bad idea, it didnt stop being a bad idea.
Of course everything makes logical sense when it’s laid out neatly in front of you. But the hard part has never been making sense of the solution. The hard part is making the leap from the problem to the solution. It’s in learning all the different pieces and when and how to deploy them to solve a particular problem. It’s in identifying what the problem actually is at its core. And you can only learn those things by doing
Alive-Cake-3045@reddit
This is called the "tutorial trap" and almost every beginner hits it, you are not doing anything wrong, you just have not bridged the gap between recognizing code and producing it. The fix is uncomfortable but simple: close the tutorial, stare at a blank file, and try to build something broken. A buggy, half-working script you struggled through teaches you 10x more than a perfect one you copied. Confusion is literally the feeling of your brain building new pathways, lean into it.
ScholarNo5983@reddit
When learning there is nothing wrong with copying.
But don't copy and paste any code and instead make sure you type in every line of code by hand.
Also, after typing in that code, go back over ever line code making sure you fully understand exactly what it does. This might mean you having to do extra research before you fully understand the code.
This approach will not only help you to remember code, but it will also help you learn how to write code.
Nevyn_Hira@reddit
My approach:
I tend to write comments about the steps I need to do. Psuedo code or whatever. It's essentially breaking it down into smaller steps for myself. It also helps for structure i.e. I need an object to own a connection to a database. That object should be in charge of handling any database enquiries. It would be useful if it returned data in this form etc. It also works as rubber ducking (explaining the problem to something to work through the problem).
Maggie7_Him@reddit
This is called passive vs. active learning — your brain processes information differently when you're watching vs. building.
What clicked for me: close the tutorial, open a blank file, and try to rebuild it from scratch. You'll struggle, you'll hit errors, and that friction is literally the learning happening.
The goal isn't to stop referencing docs. It's to know what you're looking for.
johnpeters42@reddit
Peak irony from a comment that screams "written by an AI"
Ok_Assistant_2155@reddit
This is completely normal. Understanding code is like watching someone drive a car. Writing code yourself is like getting behind the wheel. Two completely different skills. You are not doing anything wrong. You just need more practice driving.
pizza_on_my_mind@reddit
automation is great but don’t forget onboarding/offboarding still needs human checks. permissions stuff always breaks in weird ways. that’s where most teams get surprised
patternrelay@reddit
Yeah that’s a really common gap. Following along is recognition, but building from scratch forces you to decide structure and flow. Try breaking problems into tiny steps and writing rough pseudocode first, it helps bridge that jump a lot.
thepurplehornet@reddit
'Know about' vs 'understand' its an age old tale. I think I heard a joke about that once related to mathematicians vs engineers.
captainAwesomePants@reddit
We lie to ourselves about really understanding things all the time. We live our whole life that way. That's why there are so many sayings like "to really learn something, you need to teach it to somebody else" or that supposed Einstein quote "If you can't explain it to a six year old, you don't really understand it."
The computer cannot be bluffed at. You cannot yadda yadda the computer. You have to actually say what to do, exactly. It's the same trick. When you were watching the video, the voice made sense, and you might have even briefly understood, but it didn't really stick in your mind, even if you thought it did.
Shot_Brick_1691@reddit
Try writing on a paper what you have learned, and then try it yourself, if you are struggling try refer the paper, this makes a lot easier