Am I learning the wrong way?
Posted by sariArtworks@reddit | learnprogramming | View on Reddit | 6 comments
I have been studying Python, SQL and other coding stuff for months (I´m doing an online course) and I would love to finsh them soon so I can start getting certifications but I realized that I haven´t memorised most of the stuff. I take a lot of notes during class and I do projects and such but most of the time looking at whatever explication I wrote during class. (I basically started from 0 )
So I´m not sure if I need to study harder or what. Do programmers just do everything by memory?
I can´t seem to do a whole code just by memory. Maybe some parts but... I´m starting to get anxious thinking I have wasted time not learning properly.
Repeat_Admirable@reddit
Nobody memorizes all this stuff. We literally look up basic syntax on the job every single day. The fact that you rely on your notes to actually build projects means you're doing it exactly right. The job is basically an open book test. You'll eventually memorize the specific lines of code you type constantly. Everything else lives in the docs. Pretty sure most of us still google basic SQL syntax regularly, our brains just don't bother retaining it. Knowing how to solve the problem is the actual skill here. Syntax is just a detail.
sariArtworks@reddit (OP)
thank you so much
silverscrub@reddit
The important part to memorize is the concepts. It's important to have an intuition of what you need to consider. That goes for bigger concepts like an HTTP server or smaller concepts like iteration in a for-loop. It's useful to have an intuition that you need to validate a request or handle different HTTP status codes.
Memorizing method names and syntax is not as important. You will naturally remember things you use regularly, but there is no harm in using AI or reading docs.
shaunebu@reddit
You’re not learning the wrong way, you’re actually doing better than you think.
The idea that programmers remember everything is a myth.
Most of the time, we don’t write code from memory, we understand what we need and look up the details when necessary.
The fact that you can read your notes and understand them, and that you’re building projects, is a much better sign than memorizing syntax.
Not being able to write everything from memory doesn’t mean you didn’t learn it, it just means you haven’t used it enough yet.
A simple way to test your understanding is:
try to build something small without looking at your notes first, then check and fix what you missed.
That process is how things start to stick.
You’re not wasting time, you’re just in the part where learning feels uncertain.
TripleTenTech@reddit
Programmers do not memorize everything, as searching for solutions and documentation is a normal part of the job. It is more important to understand how to solve a problem and where to find the right information than to commit every line of code to memory. Practical experience through building projects is often more effective than passive note-taking for truly grasping concepts. You should focus on applying your skills to real-world tasks rather than worrying about total memorization.
aqua_regis@reddit
Programmers actually do not memorize - at least not the really good ones - they understand.
Syntax, details, specific rarer used functions/methods/classes can always be googled.
Programmers never memorize code. Code is a living thing that adapts to the situation and as such it makes absolutely no sense to memorize it. Programmers memorize concepts, if anything.
What programmers know, however is where and how to search - this is one of the most important skills in programming. Working with the documentation of the language/framework/library, having a general idea of what is available are important. The intricate details are absolutely not important as they can be searched.
A lot of the frequently used functions/methods will sooner or later transfer into "muscle memory" through repeated usage, just like you don't need to actively think how to spell words that you commonly use (you will need to eventually look up words that you don't need to use often) - same in programming.
The key to everything is to not think in implementation, but in algorithm, in the steps to solve problems - and again, without memorization. If you can devise the algorithms, the implementation is the lesser part of it.
Programming is not throwing out code. That's only a quite late part of the whole process. Programming is analyzing, breaking down problems, then developing algorithmic step by step solutions to the sub-problems that finally can be implemented in a programming language.
The actual code is closer to the end than to the beginning and never should be the starting point.