Hey all,

I wasn’t quite sure what to title this, so I gave up and just asked the question. I’ll be a bit vague, as the point is not the specific bit of code I’m stuck on, but moreso the general issue of an uncooperative brain.

How do you make any real progress learning if you deal with frequent brain fog and have terrible short term and long term memory?

For example, I finally learned how something works after months of trying to wrap my head around it. Didn’t end up using it for a few months more, and now I forgot it again. I’m back to square one, trying to relearn things I already learned. And that’s assuming I wake up and can actually focus on anything. Some days, brain fog rolls into the harbor and I just stare dumbly at the screen, barely able to concentrate on the task, much less think about the code or complexities. It’s impossible to make progress on days where I forget what I was doing before I even start.

Other days, my brain seems to be running on all cylinders, and I can storm through my work almost effortlessly, learning as I go and making more progress in a day than I did the week or two prior.

It seems like the only things I truly retain are mechanical. The basic nuts and bolts, the simple concepts like how variables work. It took me longer than I’d like to admit understanding calling and writing functions. Things that are more abstract or high level are easily forgotten. It’s a nightmare.

So, what do I do? How an I work around this problem-child brain of mine and actually LEARN?

I’d be interested to hear from anyone who dealt with something similar. I’m also eager to hear from any fellow neurodivergent folk, who might have a similar problem wrangling their grey and white matter into shape.

UPDATE: Thanks for the ideas and encouragement, everyone. I’m a bit busy, but I’ll get around to some individual replies soon. As a general note, seeing a doctor would be a good idea, but without insurance and a well paying job, I couldn’t afford to see any kind of specialist, or even make frequent appointments with a GP. I appreciate the well wishes though.

  • lmaydev@lemmy.world
    link
    fedilink
    arrow-up
    17
    ·
    1 year ago

    I have type 1 diabetes and on bad days really struggle with brain fog.

    Make sure you have all your tasks written down and organised, ideally in some form of project management software.

    Things get easier the more programming you do. Once you’ve called a method for the 10,000s time you won’t need to think about it.

    I find ChatGPT is really good for reminding you of syntax and things like that. No matter how many times I do it I can’t remember the ordering in a c# switch expression so I just ask for the syntax.

  • imperialcoder@lemm.ee
    link
    fedilink
    arrow-up
    13
    ·
    1 year ago

    I’ve struggled with something similar in the past and there could be a lot of reasons for it. I’d say overall though don’t beat yourself up, we all tend to learn in different ways and struggled with different concepts and aspects in our lives.

    I’d start with your health and making sure you brain has enough nutrients, are plenty hydrated, have lots of sleep, and you have some sort of exercise you enjoy. keeping your body in shape tends to cut down the amount of energy you need to keep it running so it in turn frees up resources for the brain.

    next, I’d try to come up with a strategy for how your brain tends to work, especially when at low capacity. develop strategies to help re-engage your brain at those moments. for some pacing or just going for a walk helps. others, having something to fidget with. for me, I tend to fidget with something or doing something mindless while thinking about the problem I have at hand. you’d be surprised at how much that can kickstart your brain back into gear.

    next, try lowering your overall mental capacity. cutting down on decision fatigue can help a lot. some examples could be automating aspects of your day to day life, cutting down on certain stimulus, or just making decisions in advanced so you don’t have to think too hard about it. this can help clear your mind and help you keep focus for longer periods of time.

    next , explore some stimulants. do be careful though and make sure it doesn’t conflict with your overall health. for some a cup of coffee is all they need. I tend to reach for 1 cup in the morning to increase my focus and throughout the day I drink Teas with lions Maine and reshi. the tea can help open neural pathways and caffeine tends to keep your brain alerted and focused.

    lastly, you can look towards pharmaceuticals or drugs. personally I feel this is the last place to look and again shouldn’t interfere with your overall health. these can be dangerous but if used properly and in moderation can boost mental performance. I’ve used ADHD meds in the past and they can help a ton if that’s what you need. talk with your doctor to see if it’s something right for you. on the other side, psychedelics, more specifically psilocybin can help create new neural pathways rapidly. I’d say use it as a last resort and you’ve done extensive research on it and know the risks to your health and the legality of it in your area.

    I hope this helps. programming is hard! it takes the best of us to really understand it all. whenever I struggle to learn a new concept that I think should just be easy, I always look back at how far I’ve come and just be proud of it no matter how small. best of luck!

  • lettruthout@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 year ago

    I struggle with this too. I find making detailed notes helps a lot. Just writing them helps me understand better. Then later they help me get back to where I last left off. The fog part I‘m still working on. One trick is to take mini-breaks to think/meditate on some un-related mechanical project. After a minute or two my brain (most times) is ready to get back to coding.

  • Pamasich@kbin.social
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    1 year ago

    For example, I finally learned how something works after months of trying to wrap my head around it. Didn’t end up using it for a few months more, and now I forgot it again. I’m back to square one, trying to relearn things I already learned.

    If this is such a frequent problem, start writing down what you’ve learnt. Get a notetaking app (my personal choice is obsidian) and record any knowledge that took you work to acquire. Then next time you need it you can just check your notes and there it is, instead of having to put all that work into it again.

    • AVengefulAxolotl@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Absolutely agree with this one. Write down the problem and then the connections you made and the task that made you understand it.

      For me it was interfaces (c# in this context). Like when do you even need them. How could an interface even be an argument for a function??

      Then a problem came up, where a List or an Array could be a parameter in a function, but their length/count is not accessed the same way (still c#.) After this it clicked, that with interfaces you dont care whether it is a car or a cat, even a dog, if it can bark, it can be passed as a parameter into this function, and inside the function we only use these interfaced functions.

  • MajorHavoc@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    One silver lining is that those of us who deal with brain fog and memory challenges make the best documentation updaters.

    It amuses me when folks say “thanks” for my documentation updates.

    Yeah, sure, I distilled that guide down to one incredibly clear, hard to mess up guide, for you, my coworkers. I’m all heart! /s

    • Wes_Dev@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Holy shit. You just reminded me that I used to be one of the people documenting and updating the wiki for MyPaint. You’re 100% right.

      Maybe I should try doing something like that again, start small and use the process of the documentation to help me learn and engrain stuff rather than flailing around trying to implement it from scratch.

      Huh. I like this idea.

    • sock@lemmy.world
      link
      fedilink
      arrow-up
      2
      arrow-down
      3
      ·
      1 year ago

      woah woah skip the caffeine just take notes and read about stuff constantly until its the only thing you think about then youll finally have learned smth

      caffeine doesnt help it just makes your muscles unable to relax youve been marketed a muscle spasm in a drink that you buy every day.

      if people slept healthily and ate healthily and generally chose to live better than they wouldnt need caffeine.

  • robinm@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    You seems to have a severe issue so I’m not sure what I’m going to say may help.

    Learning something and then forgeting it is absolutely normal. Repetition over and exponentially long time and sleep in between helps a lot. Some people use flashcards to helps with memorisation. The idea is simple, when you learn something you write question + answers on a piece on paper (usually bristol for easy manipulation) and put it in a box. This box has multiple compartment: every day, every second day, once a week, once every second week, once every second month for example. When you add a card you add it to the “every day” compartment. Then each day you open all the compartment of the current day and ask yourself all the questions. If you correctly remember the answer you put it in the next compartment, and if you don’t you put it back to the “every day” one.

    Another way to helps you understand and rembembering things is to explain them to others. If you don’t have someone to explain what you just learn you can create youtube video (even if noone will watch them but you do as if you had an audience). As bonus you now have a video that explains using your language something you just learn if you ever forget it!

  • ezekielmudd@reddthat.com
    link
    fedilink
    arrow-up
    5
    arrow-down
    2
    ·
    1 year ago

    How good are your sleeps? Are you drinking enough water?

    I know that I get brain fog if I sleep poorly or forget to drink enough water.

    For coding, I try to explain to myself exactly what I am trying to solve using the most simple explanation possible.

    Usually, the program will perform a series of steps. I work on each step, in code, until I solve that step. Then I move on to the next step. Divide and conquer.

    Like the other person asked, have you sought out professional help for any possible medical issues? If you have ADHD then a professional can give reliable guidance on how to compensate for the main ADHD symptoms.

    Good luck! You CAN do it!!!

    • GBU_28@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      “what am I trying to solve?” Is the most important thing I say to myself during work.

      It scales.

      When I start a project/ticket I am asking at a high level.

      When I’m in a function or debugging a trace I am lower level, but it always helps to go “3rd person” and ask “what am I trying to do?”.

      9/10 times I’m augering into an overly complex or weak solution and pulling back reroutes and simplifies the task

  • ericjmorey@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Have you seen a medical professional about your memory and cognitive functioning? Random people on they internet aren’t likely to know about overcoming severe limitations you seem to be describing. Although you’re describing everything in very general terms so maybe some detailed, specific, concrete examples would reveal something that can be addressed.

  • bnjmn@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    What about some simple katas? I’ve been learning a few new languages and don’t want to forget the syntax / common methods, so I pick an easy kata and solve it in each. I find that this is usually enough to prevent me from forgetting everything

  • zout@kbin.social
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    For me: Mini breaks and short walks help get my head clear, or at least less foggy. Explaining it to someone else also helps, even if the other person is imaginary (which is in most cases for me). Note taking can also help, but I suck at it. When I did do it, my best notes are (for coding) files with a code example containing lots of comments.