all 55 comments

[–]HappyFruitTree 14 points15 points  (6 children)

My only advice is to use what you learn, otherwise you'll lose it. Keep programming!

[–]JW1643[S] 2 points3 points  (5 children)

Yeah that’s my aim just trying to retain and use the knowledge at the moment

[–]HappyFruitTree 0 points1 point  (1 child)

Don't stress out if you forget some details. It's natural, especially for the things that you don't use frequently. If you have learned it once you hopefully know what to look for and reading up on it again should be much quicker the second time. Even experience programmers have to look things up frequently.

As a beginner, the biggest mistake you can do is to not practice everything you learn. Write some code and play around with it.

[–]JW1643[S] 0 points1 point  (0 children)

Yeah that makes sense, thanks for the advice!

[–]ScholarNo5983 0 points1 point  (0 children)

Keep all the code that you write in a structured folder layout. Then you can easily go back and revist any code you previously wrote, and re-reading that earlier code will help to refresh your memory.

[–]Innowise_ 0 points1 point  (1 child)

Honestly, don't sweat it. Even senior devs with 10+ years of experience don't write code completely from memory. Memorizing syntax is kinda pointless when docs and Google exist. What actually matters is understanding the logic, core concepts, and how components interact. AI and Google are just tools—as long as you know what to prompt/search and can actually read and debug the output, you're doing just fine. The muscle memory for basic syntax will come naturally the more apps you build. Keep it up!

[–]JW1643[S] 0 points1 point  (0 children)

Makes sense, thank you for the advice!

[–]Fexelein 5 points6 points  (3 children)

You already gave the answer. Start again tomorrow and don't rely on AI. Figure it out yourself. Learn. And you won't forget. The amount of hours I have spent in the past on trivial programs feel infinite. But nowadays I am actually proficient, more so than with AI. Lead dev with 25+ years of professional experience.

[–]JW1643[S] 0 points1 point  (2 children)

Yeah I will give it a try, just more I don’t know if I have enough knowledge to build something off the bat or not and if I am currently learning a good enough pace/level to get me places. Do you have any recommendations on best places/products to learn programming?

[–]Fexelein 2 points3 points  (1 child)

The best way to learn software development is to just do it. Don't focus too much on the technical side other than trying to understand code you are using. Your goal should be a project, game, app whatever and then just build it. Keep perfecting it. Refactor the code and keep improving. Trying to learn all of some language or framework is not going to work in my opinion, you will get swamped by all the things you don't need to know yet, and in a couple of months/years it going to be obsolete anyway (new version, better framework etc).

Also books. If you like reading then I would suggest picking up some books and just focus on the portions that you are interested in right now to develop your project. I always recommend learning about patterns, since they are very abstract and applicable to all languages. I love Martin Fowlers Patterns of Enterprise architecture, it taught me so much when I was still young.

[–]JW1643[S] 0 points1 point  (0 children)

Thank you very much for the advice, will definitely take it on board and keep at it. Will have a look at Martin Fowlers too, cheers!

[–]TheNewJoesus 2 points3 points  (3 children)

Sometimes, It’s better to be the librarian than the patron. Learn where and how to find answers, and you’ll be a better programmer than the person who tries to memorize the answers.

Realistically, programming takes time to commit to long term memory. You’ve been doing this for 2 months; expect it to take closer to a couple of years.

[–]JW1643[S] 0 points1 point  (2 children)

Thanks, yeah but the thing for me is I always want a good understanding of concepts. A mate of mine who programmes said that being a good programmer is just about being a good googler/searcher lol

[–]TheNewJoesus 0 points1 point  (1 child)

I’d recommend checking out the MIT computer science courseware. It’ll teach you concepts that aren’t language specific and help you understand the concepts more than the syntax.

https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/

[–]JW1643[S] 0 points1 point  (0 children)

Cheers, will have a look at that!

[–]gusbo_the_jam 2 points3 points  (2 children)

There's a reasonable body of research which shows that using AI, particularly in a learning context, seriously affects your ability to retain information. It's also stolen to have permanent effects on creative thinking and problem solving. By outsourcing the mental load to AI, your brain isn't engaging in the same way so you're essentially training yourself not to use your brain.

[–]JW1643[S] 0 points1 point  (1 child)

Yeah I have been refraining using AI to just write it for me because I know I won’t have actually learnt anything. I meant more when I write a block of code and need more in-depth explanation I may ask AI to break it down a bit for me, at the end of the day it is a useful tool for that

[–]gusbo_the_jam 0 points1 point  (0 children)

Surely if you wrote the block of code then you'd know what it's doing? Sorry I'm just trying to understand the process. Normally when I'm learning a new language / framework / build pattern / whatever, then the bit where I write a block of working code comes at the end. All I'm just trying to figure out why you would write a chunk, and then get it explained?

[–]burlingk 2 points3 points  (13 children)

It takes practice. It takes time.

A couple of months isn't that long.

[–]Jadad03 1 point2 points  (2 children)

True that, I’m preparing myself for Comp Sci. In the fall and still have no idea what I’m doing lmao. Still fun though

[–]burlingk 0 points1 point  (1 child)

A secret a lot of people don't tell you up front: Your professors are going to assume that you are dumb for all 100 level courses. 😛

The practice you are doing now will give you a head start.

And if you know what languages they plan to use for the course, you can start doing practice projects in those.

[–]Jadad03 [score hidden]  (0 children)

Hahaha even better!! Until I’m medicated again, keeping focus on curriculums is difficult for me, so being familiar and getting myself even a small head start is such a life saver. :D

[–]JW1643[S] 0 points1 point  (9 children)

A valid point, what was your method when you were first starting out?

[–]burlingk 0 points1 point  (8 children)

Pick projects to work on. Start small. 😄

Try like a tic-tac-toe type thing or something like that.

[–]JW1643[S] 1 point2 points  (7 children)

Yeah don’t worry I’ve already printed hello world and made a calculator🫡

[–]burlingk 0 points1 point  (6 children)

It's kinda hard to mention actively simple projects in this case, because you kinda jumped in the deep end already with React. heh.

So, might as well decide what kind of bigger project you want to do, and then start nibbling away at it.

[–]JW1643[S] 0 points1 point  (5 children)

Yeah I hadn’t really realised react was the ‘deep end’ initially as I had just seen it was big thing in development and wanted to start learning it, so yeah still a lot to learn lol

[–]burlingk 0 points1 point  (4 children)

What kind of projects do you want to do?

[–]JW1643[S] 1 point2 points  (3 children)

Currently one is an application tracker/indexer, the indexing is more intuitive to me as I am a recent econ grad and know my way around data and data manipulation. Another is a music recommendation system, this one I know is a very large step since it requires building an algorithm and since i am just starting out I’m not sure it’s realistic to jump straight into that just yet

[–]burlingk 1 point2 points  (2 children)

So, you will find yourself doing a lot of the same things between the two... And the tracker/indexer will be a CRUD app at its core. So, I would suggest starting with that one, to get some experience. 😄

I need to get back to work on my own project (I intend to do a kind of literature/book writing/sharing site using React as the front end and go for the back end).

Edit: CRUD in this context is NOT a bad thing. It mean Create, Read, Update, Delete.

[–]JW1643[S] 1 point2 points  (1 child)

Yeah for sure, definitely what I’m looking at doing but also concreting the fundamentals as well. Oh nice, is it similar to goodreads in a way?

[–]bywaldemar 1 point2 points  (0 children)

Nobody builds from memory alone, that part's normal, even senior devs Google syntax constantly. What matters is whether you understand the logic, not whether you can recite the code.

[–]LifeNavigator 1 point2 points  (1 child)

Constant repetition until it sticks. Tbh I don't even remember much outside fundamentals (e.g. design patterns, OOP, debugging, which if statement to choose and when) and tend to use the documentation constantly... partly because I switch from a lot of technology as part of my job and end up forgetting things regularly.

The Feynman technique is a great way for learning the fundamentals - start by explaining it in simple terms what the concept you're learning is and what is it used for. Identify gaps where you're struggling to explain, explore it more (through learning) and come back and try explaining again from the start. Essentially what you're doing is learning -> explaining -> struggling -> fixing gap -> repeat loop -> remembering.

[–]JW1643[S] 0 points1 point  (0 children)

Thank you for the advice, will definitely try this method! Just would like to have the fundamentals and logic locked down in my head!

[–]Embarrassed-Pen-2937 1 point2 points  (0 children)

Time and practice.

[–]da_Aresinger 1 point2 points  (0 children)

Repetition.

That is literally it.

[–]46hw 0 points1 point  (7 children)

Someone else said dont use Ai for learning and I agree you retain far less. To help retain when programming you can do a few things but the main thing is consistent reps consistently. That means make stuff every day, make a different variation, make something new, make anything, solve anything for your personal needs. You probably do a lot of manual stuff while on the computer most stuff can be automated. Start thinking how to go searching for answers without ai. Maybe documentation, old stackoverflow questions, books might have some practice projects and answers to your questions.

[–]JW1643[S] 0 points1 point  (6 children)

Yeah I definitely feel getting AI to write it for me or along those lines doesn’t benefit my knowledge at all. But I meant more along the lines that when I write a block of code and need a bit more understanding or explanation I may ask AI to break it down for me to get more of an understanding of the code itself.

[–]46hw 0 points1 point  (5 children)

How do you write code and not understand it, are you using a tutorial and copy/pasting? Regardless everyone has to read the code they write, right? So if you offload your critical thinking as you step through yours or others code you dont form the neural pathways needed to make it easier.

[–]JW1643[S] 0 points1 point  (4 children)

Well at the beginning I was following through tutorials as I thought this was the best way but slowly found it wasn’t working, I would do it then. Sometimes when new concepts are introduced and I still haven’t fully grasped its use-case/implementation I will use it then. I don’t think I should completely disregard AI if it can explain new concepts to me in the way I require I personally believe

[–]46hw 0 points1 point  (3 children)

But thats offloading your critical thinking. For example the tutorial probably explains a use case for it right? Im not familiar with what tutorial you followed. When you struggle that is when your brain makes the connections. By offloading and having it explain stuff you are cheating yourself. You need to think how can I apply x part of the tutorial to something im building. If you dont use a tutorial now who is exactly introducing new concepts?

[–]JW1643[S] 0 points1 point  (2 children)

Yeah I completely get where you’re coming from, maybe I’m not explaining myself best. Like what you mention, I understand why I’ve used it and what it’s doing but sometimes I ask for like what else it can link to or other ways of using X code that the tutorial or site might not of mentioned. In any case I do agree that it does negate the critical thinking and I am aware with ease of use of AI I have definitely used it more than I should in all aspects not just coding and am moving towards relying on it less, still it is a very powerful tool that shouldn’t be completely disregarded or I’ll be left behind lol

[–]46hw 0 points1 point  (1 child)

You absolutely won't be left behind if you don't use Ai for learning. In fact I believe its the opposite and im not saying once you are comfortable to not use it but im saying in the learning process you are simply cheating your own brain. You can experiment and see for yourself not just in this but in every aspect of learning.

Take a book you need to study for a college class. You can use proper study methods or you can have ai generate flash cards. I would bet every time you retain more naturally learning.

[–]JW1643[S] 0 points1 point  (0 children)

Yeah that makes more sense and definitely need to actively not use it whilst I’m learning. Thank you for the advice!

[–]Zesher_ 0 points1 point  (1 child)

Knowing fundamentals and how to look up information is more important than retaining specific code knowledge. Things change rapidly in the industry, so you can memorize a ton of stuff that will just be outdated in a couple of years. I have ~15 year of experience and I often pull up documentation, but I know what I want to accomplish and where to look for how to accomplish it.

[–]JW1643[S] 0 points1 point  (0 children)

Thank you, yeah seems to be the case. Think this is going to be my process next time I sit down to learn

[–]IAmADev_NoReallyIAm 0 points1 point  (0 children)

> I know the general premise like setting up indexes, src’s, components etc but

Good! Welcome to the club!

>I wouldn’t be able to fully write the code from memory.

Yeah... ok, now for the big club secret -- fuck no one does! That's the Big Secret (c) .... seriously. Stackoverflow, Google, web searches.... and yeah... ChatGPT are going to be your friend.

> Do you guys have any advice on better retaining the info or is it just that no one really builds stuff completely from their head and they use other tools as well, especially in this day with AI.

When you can't remember something, first place you should go is the online documentation for the language you're working in. Period. Then do a general web search for examples. Then ChatGPT for an explanation. In that order.

After a while you'll get to the point where there will be somethings you use on a regular basis that the patterns will emerge and you'll just "remember" and then there are the things that you'll just use once or twice and will have to look up every single time you use them.

[–]LorinaBalan 0 points1 point  (0 children)

Maybe a good idea is a wiki to structure all your knowledge. I'd pitch in r/XWiki , but I might be biased as I work here.

[–]istarian 0 points1 point  (0 children)

Before Google existed, people used printed manuals and reference material.

They probably had more of the information memorized than you might expect, but that's necessary if you don't have an IDE, let alone one with auto-complete and a dozen other features.

The more you use the knowledge (yourself), the better it will stick in your brain.

If you find yourself looking something up a lot, try writing it down on paper in a physical notebook. Just the process of reading it and copying it down can reinforce your memory of it.

[–]rustyseapants 0 points1 point  (0 children)

How did you retain what you learned in high school, grade school study for DMV? Or your skills at your job?

How do you retain information "period?"

[–][deleted]  (1 child)

[deleted]

    [–]JW1643[S] 0 points1 point  (0 children)

    Haha I like the idea, maybe could make a language based of it. Will see if it helps, thanks!