(Life) Advice From The Creator of C++ - https://www.youtube.com/watch?v=-QxI-RP6-HM It's hard to give advice, at least as hard as to take advice. Don't over specialize. Don't be too sure that you know the future. Be flexible, and remember that careers and jobs is a long term thing, as too many young people think. They can optimize something and then they find they've spent a couple of years or more specializing in something that may not have been the right thing. In the process, they burn out because they haven't spent enough time building up friendships and having a life outside computing. I meet a lot of sort of, I don't know what we call them, junior geeks that just think that the only thing that matters is their subspecialty of computing programming or AI or graphics or something like that, and, well, it isn't. And the rock might be pulled under them for that. And if they do nothing else, well, if you don't communicate your ideas, you can just as well do Sudoku. You have to communicate. And a lot of, a lot of sort of caricature nerds forget that. They think that if they can just write the best code, they'll change the world. But you have to be able to listen, you have to communicate with your would be users and learn from them, and you have to be able to communicate the ideas to them. So you can't just do code, you have to do something about culture and how to express ideas. I mean, I never regretted the time I spent on history and on math. Math sharpens your mind. History gives you some idea of your limitations and what's going on in the world. And so don't be too sure. Take time to have a balanced life and be ready for the opportunity. A broad based education, a broad based skillset, which is what you build up when you educate. Basically, building a portfolio of skills means that you can take advantage of an opportunity. When it comes along, you can recognize it sometimes we have lots of opportunities, but a lot of them we either can't take advantage of or we don't notice. It was my fairly broad education. I done standard computer science, I've done compilers, I've done multiple languages. I think I knew two dozen at the time. And I have done machine architecture, I've done operating systems. And that skill set turned out to be useful.