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.
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.
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.