I left to teach English in Japan when I was 39. Originally I planned to stay for 1 year, but I ended up staying for 5. I wouldn't have gone back to programming except that my wife wanted to live in an English speaking country for a while and I figured it would be a good short term gig :-) Now I'm back, I guess.... (it's been 6 years since then) though working remotely in Japan at the moment.

In the past I have also taken sabbaticals. Probably about the same time as you, I quit my job (it was a terrible job) and decided not to get another one until I understood what I wanted. I knew I was unhappy for a long time, so I saved up for this event. After I quit my job, I ended up writing free software every day. I loved it. "I am a programmer after all", I thought. And then I went back into the industry with a renewed vigour.

I wrote this years later: http://mikekchar.github.io/portfolio//UsefulAndBeneficial

It might be useful to you. To give you a more concrete impression, I used to get caught up doing things that I thought were important (like trying not to let the company I was working for die a horrible death). After I quit my job I realised that there were things about my job that I hated. They were things like chasing people about following process, trying to get my idiot boss to do his job, etc, etc. Some of these things were in my job description (I was in charge of the software process for a group of about 60 people). But the most interesting thing was that if I looked at all the things I hated doing, they matched up exactly with all the things that other people hated me doing.

Then I looked at the things I liked doing. Programming. Well, pretty much it. I hated endless "discussions" about what technology to use or how we should do things, etc, etc. I just liked writing code and solving problems. And then I realised that if I picked some code that nobody else wanted to touch (because it stank to high heaven), I could do anything I wanted and everybody would be ecstatic.

So I tried it in my next job. I put my head down and just wrote code. I declined to offer any opinions on anything I wasn't actually working on. I just wrote (as it turned out) a shit-ton of code. And they loved me, of course. In fact, my boss loved me so much he started to privately ask for my opinions about stuff. So I cautiously told him and he went away and tried it for me. It turned out to be successful. "Oh... That's why you want a manager", I thought. "Someone who is good at not getting into arguments and persuading people and doesn't mind spending their whole day in meetings".

Anyway, from there it was pretty good. But I have to say that I loved quitting my job in the end. I even emailed RMS and said, "I now understand what you meant when you wrote, 'Not everybody needs to be a professional programmer'". Because you really, really don't. When I was teaching, I wrote so much more code for myself than I ever did when I was a programmer. If you really want to be a programmer -- a free programmer, then write free software. You can be a landscaper, school teacher, electrician or even a waiter and write free software. That's what freedom means.

Being a programmer is a job. It's a good job (kinda boring and you have to get good at those interpersonal skills, but at least you aren't hauling nuclear waste around). You don't have to do it, though. You can do any job. All jobs suck in different ways and are good in different ways. But you have a choice. You have freedom and that's a massive blessing.

These days I wonder about staying in this field. I like my boss quite a lot (amazing guy). I like my colleagues quite a lot. I like my work... kinda... I'd rather be doing my own thing, but it's still kind of fun. I like my situation. I don't get paid anywhere near what I would in the SV or the like, but it's still multiples of working as an assistant language teacher. I'm still not sure, though. Who knows what the future will bring.