The way you talk about it, it sounds like you’ve actually got a pretty good thing going.
Your description above of your programming jobs on the other hand sounds pretty miserable... to the point where maybe a career in programming just isn’t for you. (Obviously I don’t know you well enough to say this with any certainty. It could just be the circumstances of those particular jobs didn’t work for you).
I saw in a previous comment that you said you are ashamed of being an English teacher. Don't be. You're performing a useful service that people are willing to pay for with their time and money. That's something to be proud of and I would even go so far as to argue that the benefits to society of teaching English are a lot more tangible than a LOT of programming jobs.
Not really trying to steer you in any direction. As I mentioned above, teaching English was not for me - I really hated work environment at the company I was working for. And your concerns about career progression, salary, and status are definitely valid. But on the other hand, I have seen that it's a viable option if you choose to go down that route.