I spent many years teaching middle and high school math and science, and I really enjoyed it. I was always a hobbyist programmer, and as time went on I kept looking for ways to use the programming skills I had developed. I taught some programming classes, and it was really fun and satisfying for me and for students. But I live in a small town, and I couldn't teach CS full time because there was already a full time CS teacher who had tenure. He was "about to retire" for literally ten years.
I ended up focusing more and more of my time on programming. I eventually left the classroom because I couldn't keep teaching full time and doing the programming work on the side. One of the clear problems with CS education is that if you understand the field well enough to teach it, you can almost certainly find a more appealing employment situation somewhere else.