Career Path Optimized for Learning

TLDR: Can anyone help me and give me an advice of what would be the most optimal career path for me, when my KPIs would be to optimize for learning? About me: I have graduated from school and started working for Microsoft 2 years and 6 months ago. I am currently 25 years old, Software Engineer II, and both years I have received top rewards. It seems that I will easily get promotion by end of this year as well to the level 62 (level before Senior). Metric to optimize for: I am currently on fast promo track, however the metric I want to optimize for is not fast promos, or high salary but learning. I want to build a set of skills which would allow me to thrive anywhere, let it be Google or Microsoft or maybe even my own startup. I am ready to invest next 10 years working as much as needed on this goal. My current career plan was following: First several years invested into tehcnical skills -> until my team and my lead considers that I am performing on senior level strongly, and when I was already technical lead for at least a year. At that point I planned to switch to Senior Program Manager, as I believe that set of skills needed for PM is very different from set of skills needed for dev. I plan to stay on this position for a year or two or until I start performing strongly on it. After that I plan to move to Engineering Manager position, in the mean time I will try to learn to coach people, so that I am already prepared for this move. Changing roles will slow down my promo track and my rewards will be lower, but in the long run, I will acquire a new set of valuable new skills. Do you think this is a good idea? How would you optimize leaening career path better? Do you think that switching to Data Scientists would be valuable as well? Note: I planned to stay inside of Microsoft for all of this time, do you think this is wrong? Would I gain something by switching between companies? Thank you!

New
finalnexus Dec 29, 2019

Re read what you just typed. Seems like you have a good goal and basic plan in mind. My question to you is, what do you personally like to do when you study new technical items (i.e a new programming language)?