Career Stories

I Switched from Teaching to Software Engineering at 35

·10 min read
career changebootcampteachingnon-traditional background

Why I Left Teaching

I loved teaching. I spent twelve years as a high school math teacher, and I was good at it. My students consistently outperformed the district average. I coached the math team, ran after-school tutoring, and genuinely believed I was making a difference.

But by year twelve, the math did not add up. My salary had plateaued at $52,000. My student loan payments consumed a quarter of my take-home pay. I was coaching three extracurriculars just to afford rent in a city where housing costs had doubled in a decade. I was exhausted, financially stressed, and starting to resent a profession I had once loved.

A friend who had made the same switch three years earlier told me about software engineering. "You already think in systems and logic," she said. "You explain complex things for a living. You would be good at this." I was skeptical, but I was also desperate enough to try.

The Learning Phase

I spent six months self-studying before committing to a bootcamp. I worked through freeCodeCamp in the mornings before school, watched YouTube tutorials during lunch, and coded for two hours every evening after grading papers. I learned HTML, CSS, and JavaScript basics.

The bootcamp itself was a sixteen-week full-time program. I took unpaid leave from my teaching job, burned through most of my savings, and moved in with my parents at age 35. It was humbling. There were days I questioned everything — was I too old, was I smart enough, was this a mistake?

But here is what surprised me: the teaching skills transferred directly. Breaking down problems into steps? That is what I did every day in the classroom. Debugging code by reading error messages? Same process as diagnosing where a student went wrong on a math problem. Explaining my code in a pull request? I had been writing lesson plans for twelve years.

The Job Search

The job search was the hardest part. I applied to 147 companies over four months. I got 23 responses, 11 phone screens, 6 technical interviews, 2 final rounds, and 1 offer. Those numbers are painful, but they are typical for career changers.

What finally worked was a combination of persistence and strategy. I stopped applying to generic "Junior Developer" postings at large companies and started targeting small-to-midsize companies that valued communication skills and diverse backgrounds. My cover letters explicitly addressed the elephant in the room: "Yes, I am a career changer. Here is why that makes me a better engineer."

What Surprised Me About the Job

Three things surprised me most about my first engineering role:

First, how much of the job is communication. Meetings, Slack threads, code reviews, design documents, stand-ups. My teaching background gave me an enormous advantage here. While my peers with CS degrees were technically stronger, I could explain my work clearly, ask precise questions, and present to non-technical stakeholders without breaking a sweat.

Second, how much the job values continuous learning. Teaching had become repetitive — the same curriculum year after year with minor updates. Engineering is the opposite. Every week there is something new to learn, a new tool to evaluate, a new pattern to understand. For someone who left teaching partly because of intellectual stagnation, this was exhilarating.

Third, how supportive the community is. I expected gatekeeping. Instead, I found mentorship, open source communities, and colleagues who were genuinely invested in my growth. Not every team is like this, but the good ones are remarkably generous with their time and knowledge.

Two Years Later

I am now two years into my engineering career. My salary has more than doubled. I have been promoted once. I still use teaching skills every single day — when I mentor junior developers, when I write documentation, when I break down a complex system into understandable pieces during a design review.

Making this switch was the hardest thing I have ever done. It required financial sacrifice, emotional resilience, and a willingness to be a beginner again at an age when society tells you to have it all figured out. But it was unequivocally the right decision.

If you are considering a career change into software engineering, my advice is simple: start learning today, do not wait until you feel ready, and do not let anyone tell you that you are too old. You are not.

Share:

Enjoyed this article?

Subscribe for more articles on software engineering careers, growth, and the changing industry.