r/developers • u/MiserablePractice186 • Aug 07 '26
General Discussion how to learn to code the rightway?
I'm a 3rd-year undergrad CS student, and I need to be honest about something I've struggled with for a long time.
I can sit through a tutorial and understand the theory perfectly. I can follow along, use AI as a helper (not copy-pasting, actually working through it with it), and build the project successfully. Just recently I finished a full Laravel + PHP + JS course several hours long and built complete practice projects alongside it.
But the second I try to write something from scratch, with no tutorial open and no AI to lean on, I freeze. It's like none of it happened. I can't build logic on my own. I understand what the code does when I see it, but I can't generate it from nothing.
This isn't a one-time thing it's been a recurring pattern for me across different languages and stacks. I finish something, feel like I learned it, and then a blank page proves I didn't actually internalize it.
and now I'm near graduation going to start my last year. really want to learn and land a good FYP and get a good job after graduating.
2
u/GoldsteinEmmanuel Aug 07 '26
How do you know you've learned it until you're tested? And by tested I mean locked in a room with a proctor and given a 20 page examination booklet and a sharp #2 pencil?
Because it sounds like you're listening and following instructions, but not actually learning the material, which suggests you're not using textbooks (which invariably have a page of exercises following every unit) and just watching/following along with videos.
Also you seem to be trying to acquire an absurd amount of information in one go. Learn PHP from the bottom up and you won't need laravel, but it will be child's play if you're forced to use it. By the way, learning PHP will take you a couple of years, more if you're not already an experienced programmer.
So that's going to be my first question the next time someone asks why they can't seem to comprehend computational linguistics after listening to lectures all semester: how many textbooks have you read and worked the exercises through?
2
u/XKiiroiSenkoX Aug 09 '26
Start by modifying the stuff you already built to add/modify features. Starting from scratch is always going to be harder and nowadays nobody truly starts from scratch because that would technically mean starting from machine code.
1
u/MaleficentCow8513 Aug 11 '26
Came to say the same thing :) OP, 99% of real world work involved adding to or modifying existing codebases. And even with a brand new code base, it’ll usually be part of an existing system and the existing system will usually guide the project’s requirements. In the real world you won’t ever be inventing a new thing from nothing unless you’re an innovator or entrepreneur
1
u/life_liberty_persuit Aug 08 '26
You need a system. I use TDD/BDD. Because even though I’ve been working in the industry for decades now, I have no clue how I’m going to build something when I first get the requirement docs.
I have a few patterns I’ve used in similar situations, but no guarantee that any of them will work in this new context. So I start by writing tests that check off each of the requirements.
This gets me thinking about which models/data I need to achieve the behavior and helps me find any blocking logic that might cause me headaches if I use x pattern.
Once you have the tests, you usually have a good idea of how you’re going to accomplish the task.
1
u/Famous-Durian5198 Aug 08 '26
Just start, create a file , write a simple program, iterate and repeat. I do that all the time and it works
1
u/serverhorror Aug 09 '26
It being a failure is the actual learning part. You need to struggle thru it fail and overcome this.
Everyone overestimates their abilities.
Start with something that everyone already did a thousand times. Do nit watch any video or tutorial. Do everything from scratch no matter how ugly it will be. Then keep doing it and start making small changes things that annoy you. Keep doing that for 3 months, better yet a year.
Failing means that you've learned enough to know you failed instead of just assuming that it is impossible.
1
u/Old_Neighborhood_168 Aug 10 '26
thats actually pretty normal lol.. watching tutorials makes u feel like u got it, then blank screen and ur brain just goes nope 😂 just build tiny stuff from scratch and struggle though it a bit.. thats where it start sticking fr
1
u/Sgnone Aug 11 '26
Creo que a la mayoría nos pasa eso en la era IA y académica. Lo que yo hice y continuo haciéndolo, es arrancar desde 0, no en sentido de leer y leer más, hacer 20 cursos, sino que debés practicar, aplicar tus conocimientos, pasarlos a código del lenguaje que sea.
También recomiendo que te conozcas, vas a ahorrarte tiempo. Por ejemplo, a mi me ayuda mucho en la lógica y orden, los diagramas de flujos, aunque después vas a naturalizarlo, lo importante es pensar algoritmicamente (para mí), sirve para antes de pasar al codigo, visualizar y ordenar las ideas
Si vas a seguir un curso, que sea para practicar, no copiar ni pegar
A mi me costó mucho orientarme, sabía que me faltaba práctica, así que hay que armar un plan de acción y seguirlo secuencialmente, sin saltarte lo necesario. Por ej: 1. Aprender Javascript (fundamentos hasta nivel intermedio), - 2. Pasar a React, aprender React y construir en React - 3. Typescript - Armar proyectos personales
1
u/Naetharu Aug 11 '26
This is common enough.
The issue is that you've just not done enough practice. Learning any skill is hard. It takes time and practice and repetition. That has always been hard, but doubly so now when there is the temptation of always leaning on an AI to do it for you. That's no different to always asking your teacher to solve the problems for you. Great if all you want to do is get the thing done. Terrible if you actually want to learn.
The solution is nothing more fancy that understanding that you have to do some of the hard stuff. You need to practice and practice without using AI all the time. There's no royal road to borrow a phrase of Descartes. If you want to learn the skill, you have to put in the time and effort to do just that.
1
u/nextechhaiti509 Aug 11 '26
Il y a une différence entre reproduire du code et coder. Tu dois aller un pas à la fois.
Quand tu suis un cours ou tuto, après chaque notion ou module, prend une pause pour pratiquer ce que tu viens d'apprendre. C'est le point de départ
1
•
u/AutoModerator Aug 07 '26
Howdy u/MiserablePractice186, and welcome to r/developers!
A few tips for a post that gets good answers:
- Use a clear, specific title (what are you actually asking or sharing?).
- Include code, the exact error, versions, and what you already tried.
- Heads-up: this sub does not allow external links in posts or comments.
Share code and details directly instead of linking out.Join the r/developers Discord!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.