I picked and learnt pre modern C++ to build NNets as my first CS project in 2002 and I had never coded in my life. It took me 3 months to just learn the damn MS Visual Studio c++ toolchain. But I did it anyway. I taught myself full stack development and found JS functional programming refreshing in 2006 when modern js frameworks were still young and no one around me took JS seriously(everyone was learning Enterprise java for web).
Then I became more picky about what to take up because of constraints. Somewhere along the way programming became about making a living. Things changed, I found learning had slowed to a crawl.
I don't think I have peaked in my ability to learn as much as peaked in making learning sustainable. But lately that is changing.
I felt renewed reading the words from Atul Gawande. Music and surgery have, it seems many similarities to software development. I have to keep upping my skill, develop patience, manage my mental health to pull off modest feats. I think coaches are important(though I could do better with seeking better career advice on choosing good problems to solve )
Completely coincidentally and serendipitously I have hired or used life coaches and therapists to help me and they have no experience on programming. they have made me look at aspects of my learning process, my beliefs and what I value and that is helping me make my learning sustainable; even though they are not programmers.
I think focusing on getting a good learning rhythm first was important for me to attain first in what I hope is my second wind in my programming career.