I started by dabbling in teaching:
- Mentored some high school robotics teams in the evenings - Taught night school / weekend classes as adjunct faculty at local universities - Shifted my day job from developer to developer advocate
And then a few months ago I took the plunge... sort of. I went on sabbatical for a semester to teach CS 101 full time at a small university across the country.
It's been a great experience, but it made me realize how much I miss programming. I really miss the intellectual growth that I get from working with professional software developers. I suspect I'll resolve the conflict by going part time in my day job, and picking up more classes as an adjunct.