At the same time, I've been doing more and more training, and less and less day-to-day development, over the last few years. Not only do I enjoy it, but I find that my long-term perspective and experience helps me to explain things to the younger and less experienced developers.
That said, it's pretty amazing to see what today's kids have done before they've even finished their first college degree. It's a bit intimidating... until I demonstrate that I can still debug things faster than they can. :-)
Professor Robert Rose had some great advice for me as a freshman: as an MIT student, you can probably succeed at whatever you want, enough to enjoy life. So pick a field that gives you personal satisfaction.
Money is valuable and ego-boosting, but when you hit your 30s you will realize that enjoying your workday is much more important than maximizing your paycheck. (But there are also easy ways to increase your paycheck. If you can become better than a potted plant[1] at negotiating, you can boost your salary.)
All tenured MIT professors must be taken with a grain of salt on career advice. They got tenure by being #1 or #2 in their sub-field, as well as a number of other things like being adequate teachers, so the selection bias is extremely strong.
In general Professor Rose is generally right, but there are a lot of exceptions, and he's also much older than us, his experiences might not hold for the America/world of today and the future.