2009 was one of the busiest, most insane, stressful periods in my entire career. I was raising a bunch of money, buying a bunch of Twitter. I saw my friend fired as CEO of Twitter. Uber was growing like a weed. As these companies get bigger and bigger, there's more and more friction. Being public was the last thing I wanted to do at the time.
I think that's the responsibility of the CEO and the CEOs below me: to make sure that we're constantly putting people in places where they have the opportunity to develop into those careers but also having a rewards and recognition system that allows a great programmer to stay as a great programmer.
Learn computer science. It's extraordinarily helpful. I like recommending learning economics as well so they think in terms of business, they have rational frameworks for looking at the world, but yeah, computer science is an amazing way to get into, even if you want to be CEO, having a tech background is helpful.