|
I used to have 'buckets' I would stick things into, and they would stay there forever. Context switching was not a problem. Whatever I had put in that bucket was so strongly associated with the context, that when I switched, the bucket would be there waiting for me. I think I basically had built something like a memory palace before I had the concept of a memory palace. Best way I think I can discribe it... it's almost like in my short term memory rather than trying to cram in every individual variable, I was just including a pointer to a struct containing the variables for those contexts. When I would call up that pointer, I'd get the entire struct and just keep going. I'm not sure if it's age, alcohol use, stress, always-on internet, genetics, or what, but now I'm lucky if I can remember what task I'm in the middle of if I start thinking about something else while doing it. I find myself just as able to solve problems when I can remember things, but a lot less able to remember things, making me feel a lot stupider and/or slower than I used to be. Context-switching is a real challenge now. FWIW, I used to be A LOT better at tuning out the world/distractions than I am now; I feel like that changed when my kid was born. |
But the second is that everything is more complicated. In high school, you could just sit down and crank out some homework while watching Youtube videos and chatting with friends. And you would just sit down and crank out some homework.
Yesterday, I got into work thinking I was going to write some code, and... oh wait, this depends on chasing down an issue in code owned by someone else, and I need to get answers to some questions about how this other component works that I depend on, and this other piece of code I need to modify doesn't actually work the way I thought it did. Even within the same task, I'm constantly context switching between mental modeling, communicating with other people, and code reading/writing. Also, I'm reconciling all of this against a multi-stage rollout plan where different people will see different behaviors. It's complicated in a way that teenage me never really had to deal with.
It's no wonder I've spent several days feeling like I got nothing done. I did a lot of unwinding hidden dependencies, but very little of it was actually writing code. Most of my time was spent figuring out what questions were the right ones to ask in order to get the answers I needed, which might not end up being what I thought I needed.
Teenage me never had to deal with that kind of complexity.