I switched from teaching to development (front end) in the last year. My background is in literature and I taught poetry at universities in America (adjunct) and I taught general lit. at an international school in Japan for a few years. Even though I loved teaching, I quit for a few reasons.
- I gave serious thought to what kinds of projects I'd like to be working on in 5 years, and discovered that I wanted to contribute to society on a larger scale—I wanted to affect more lives.
- Teaching didn't allow for constant iteration. I couldn't test out new ideas as quickly as I would like. If I blew a lesson, I'd have to wait another year to try and make it better.
- The institutions felt slow to adapt and change, and there was constantly push back when I tried to do something different.
- I completely understand the feeling of burning out—it's very real for teachers (and students)—but the worst feeling that comes with teaching is how sad it is every year to say goodbye to your students after spending so much time investing in their well being.
I really enjoy front end development and user interaction, and on top of that I find programming creatively satisfying, but it was hard to figure out how to get my foot in the door, so here's the approach I took.
Stay focused—once you start getting down the rabbit hole, try not to get distracted by all of the cool stuff you find. I was constantly tempted by other languages and platforms (iOS development always looks so great), but I really wanted to be a front end dev (I was getting back into it after years away), so I had to put on blinders and really focus on the core front end stack.
Learn your tools—finding out the baseline of knowledge for the field you want to enter is paramount, but so is learning how to use the tools. I think having grunt in my toolbox has been paramount in allowing me to level up quickly—learning best practices by osmosis.
Don't let being a teacher work against you—After years of trying to teach students to appreciate weirdo obscure lit, I learned to pay attention and ask better questions. I learned that my first instincts about how to do things was usually wrong, and I had to be willing to kill my darlings. For me, this skill manifests itself when architecting UI or thinking about user experience. Using software for the user is like learning something new. How can you set the user up to succeed. This is taken from my cover letter:
"What a teacher or a developer/designer should do is help a user recognize patterns and give them enough information to fill in any gaps and reaffirm what they already know. However, it's difficult to know where you should begin, when you should take a step back and simplify an abstract concept. That's why a teacher or a developer's main task is to observe, ask questions, and take feedback—to swallow one's ego and remain flexible."
If you've been teaching for more than a week, you know how to swallow your ego and take feedback. On top of that, you're likely very patient. These are strengths you developed via teaching.
A further strength you've developed is the ability to _teach_. Developing is ripe with teaching opportunities. You likely write great documentation, great code comments, and do so in a way that is very complete without making someone feel as though you're talking down to them.
You're also pretty good a planning a project. I always felt that 80% of good teaching was due to adequate preparation. I've been honing this skill and taking advantage of my tooling to help me architect my projects. For example, assume you're working on a project which will be used in multiple instances. The core will remain the same but the outward manifestation will change from instance to instance. Good planning beforehand will likely aid you in maintaining that project in the future (so you don't have forks on top of forks).
And I'll return to patience. Teaching is probably the hardest job in the world, and you've learned to be patient. This is a huge asset. Play it up.
You're not going to try to convince these companies that you're a good fit despite your experience teaching but because of it. Apply for positions where they will see a real benefits from your teaching experience. Perhaps something where your work will interface with users. You probably won't enjoy a job where your work exists behind the scenes and is largely esoteric. You've got that education itch to scratch, and it probably won't ever go away.
You need someone to take a chance on you; make the conversation about your strengths (of which there are likely many).
(One caveat: I quit my teaching job before I had a programming job and spent a few months trying to bring my skills up to an appropriate before applying to positions. This was a very scary time, but in the end it paid off. It was a big leap, and it worked out, but nerve wracking nonetheless)
Good Luck.