Life: {I'll put the family stuff aside, since its my wife saying Yes and the arrival of our kids is just beyond best, but probably not the intent of the question} Working abroad with an IT consultancy. After school I intentionally sought out a consulting gig in Germany. This produced 2 great changes that profoundly affected the rest of my life. (1) Working/living in another culture changes you forever in so many ways ... politics, patience, view of humanity. Big changes. (2) I encourage young programmers to get consulting jobs early on. Exposure to problems. Exposure to mentors. Exposure to systems. Exposure to corp politics. Exposure to business. Exposure. All these will make you less dogmatic and more of a problem solver. When it's time to leave (go contract, start a business, join a company/startup full time) your abilities and, importantly, confidence will be high.
Programming: Get meta. Whether it be programming languages or frameworks or methodologies, at some meta level they are all 90% the same. They desire to the same result. That 10% is for ninjas and specialists ... which is great. But the world needs more of the meta folks. Once you "get" it, all fear of taking on something new changes, and you feel totally cool with trying it out. Immerse in anything for a while and you start to get the other 10%.
Programming: Get meta. Whether it be programming languages or frameworks or methodologies, at some meta level they are all 90% the same. They desire to the same result. That 10% is for ninjas and specialists ... which is great. But the world needs more of the meta folks. Once you "get" it, all fear of taking on something new changes, and you feel totally cool with trying it out. Immerse in anything for a while and you start to get the other 10%.