Career DishReal jobs, real talk

Career Change to Software Engineering at 40

~18 min read · 2 voices

A high school math teacher who switched at 42 through a bootcamp and a restaurant manager who switched at 44 by teaching himself. What transferred, what didn't, and what it's like being the oldest person in every standup.

These characters are composites, built from dozens of real accounts, interviews, and community threads. The people aren't real. The experiences are.

What you'll learn

From Math Teacher to Junior Software Engineer

C

Claudette

42 · Junior software engineer at a mid-size IT consulting firm in Philadelphia (~600 employees) · 1.5 years in · Was a high school math teacher in Wilmington, DE for 14 years · Base: $78,000
Left teaching at $62,000. Spent $17,000 on a bootcamp she put on a payment plan. Applied to 83 jobs. Got 4 interviews. Got 1 offer. Her daughter, who was 15 at the time, said "Mom, that's a worse acceptance rate than college." She was right.

Why software engineering? From math teaching, that's not an obvious jump.

It's more obvious than people think. I taught algebra and geometry for 14 years. The thing about math education that nobody outside of it understands is that teaching is not about math. Teaching is about breaking a complex idea into a sequence of steps that a 15-year-old can follow, identifying exactly where they get lost, and rebuilding the explanation from that point. That's debugging. I didn't know it was called debugging, but that's what it is. When a student tells me they "don't get" quadratic equations, I don't re-explain the whole concept. I ask them to show me where they get stuck. Usually it's not the quadratic formula. It's that they don't understand factoring, which means they don't understand distributive property, which means there's a gap from two years ago that nobody caught. You trace the error back to its source and fix it there. That is literally what I do now as a software engineer, except the student is a codebase and the gap is a missing null check from 2022.

What was the transition like?

I did a full-time bootcamp. Flatiron School, 15 weeks, $17,000. I put it on a payment plan because I didn't have $17,000 in savings after 14 years of teaching in Delaware, which should tell you something about teacher salaries. I quit my teaching job in June 2024, started the bootcamp in July, and graduated in October. The bootcamp taught JavaScript, React, Ruby on Rails, and enough SQL to be useful. Fifteen weeks is not enough time to become a good engineer. It's enough time to become a functional one who can learn the rest on the job.

The job search was brutal. I applied to 83 jobs between October and January. I got 4 interviews. Three of them went nowhere because the companies wanted someone with more experience, which is a polite way of saying they wanted someone younger who they could pay less and who wouldn't ask questions about work-life balance. The fourth interview was at the consulting firm where I work now. The hiring manager, a woman named Beverly, asked me to build a simple CRUD app during the interview. I built a task manager in React. It wasn't beautiful. But it worked, and when she asked me to add a feature on the fly, a sorting function, I did it in about 10 minutes and explained my thought process out loud while I did it. She told me later that the explaining part is what got me the job. Most candidates code silently. I narrated because I'm a teacher. I literally can't do a complex task without explaining it. Fourteen years of saying "now watch what happens when I..." made me a better interviewer than I expected.

I applied to 83 jobs. Got 4 interviews. Got 1 offer. My daughter said, "Mom, that's a worse acceptance rate than college." She was right.
— Claudette

What does the consulting firm work look like?

We build software for clients. Right now I'm on a project for a logistics company that needs a driver scheduling application. My team is me, another junior engineer, two senior engineers, and a project manager. My job on this project is building the frontend: the interface where dispatchers see the schedule, assign drivers to routes, and handle last-minute changes. I'm using React and TypeScript. The TypeScript part I learned on the job because the bootcamp only taught JavaScript. My tech lead Jerome spent about a week showing me the TypeScript fundamentals and then said "you'll learn the rest by writing it." He was right. Mostly. I still Google TypeScript type syntax about six times a day.

Jerome told me I write better documentation than people with 10 years of experience. That's the teaching background. When I open a pull request, I structure it like a lesson plan. "Here's what this change does. Here's why it's necessary. Here's the edge case I considered. Here's what I'd do differently if I had more time." Other engineers on my team write PR descriptions that say "fixed the thing." Mine look like a paragraph from a textbook. Jerome said it makes his reviews twice as fast because he doesn't have to guess what I was thinking.

$78,000. That's more than you made teaching.

By $16,000, yes. But I also spent $17,000 on the bootcamp and was unemployed for three months during the job search. If you net out the bootcamp cost and the lost income, I'm about even financially after 1.5 years. The break-even point is probably year 2.5 or 3. After that, the math works in my favor because engineering salaries go up faster than teaching salaries. In Delaware, after 14 years and a master's degree, I was at $62,000. The ceiling without going into administration was maybe $72,000 to $75,000. Here, in two more years I'll likely be at $95,000 to $100,000 as a mid-level engineer. In five years, $120,000 to $130,000 is realistic. I never would have touched $120,000 as a teacher. My pension is gone, though. I vested in the Delaware teachers' pension at year 10 and walked away from it. That's a decision I'll feel at 65. Right now I'm trying not to think about it.

What's the hardest part of the actual work?

Not knowing things. In teaching, after 14 years, I knew everything. I could answer any question a student had about algebra without thinking. I knew the curriculum backward. I was the expert in the room. Here, I'm the least experienced person on every team. Jerome has to explain things to me that are obvious to everyone else. When someone mentions "dependency injection" or "event-driven architecture" in a meeting, I nod and Google it under the table afterward. That's humbling at 42 in a way it wouldn't be at 24. At 24, you expect to be a beginner. At 42, you've been an expert at something for over a decade and now you're sitting in a meeting understanding about 60% of the words.

There's also a speed thing. The 24-year-olds on my team type faster, navigate their IDEs faster, and seem to absorb new frameworks faster. Whether they're actually faster at solving problems, I'm not sure. But the surface-level speed difference is visible and it makes you feel slow, even on days when you contribute something nobody else saw. I fixed a data flow bug last month by drawing a diagram on paper, tracing the logic step by step, the way I'd trace a math proof. The senior engineer who'd been staring at the same bug for two days said "how did you find that?" I said "I drew a picture." He laughed. But it worked. The teaching approach works. It just looks different than the approach everyone else uses, and looking different at 42 is harder than looking different at 24.

The part nobody talks about

What's yours?

The consulting firm has the same funding dynamics as public schools. Good years and bad years. When the firm wins contracts, there's plenty of work and the mood is light. When contracts end and new ones don't start fast enough, people get "benched," which means you're still employed but you're not billing to a client, and bench time has a limit before the conversations start. I went through one bench period, three weeks between projects. Nothing happened. I got staffed on a new project. But during those three weeks, I was sitting at home wondering if they were going to lay off the junior engineers first, and I was the most junior junior engineer. The anxiety felt exactly like the end of the school year when they'd announce which positions were being cut due to budget changes. Same precarity, different industry. I left teaching partly for financial stability. The stability in consulting is different from teaching but not necessarily more stable. The salary is higher, which creates a buffer that teaching didn't have. But the buffer runs out if you're benched too long. Nobody mentions that in the bootcamp recruiting presentations.


From Restaurant Manager to Internal Tools Engineer

D

Desmond

44 · Software engineer on the internal tools team at a manufacturing company in Grand Rapids, MI (~1,200 employees) · 3 years in · Was a restaurant manager for 18 years · Base: $89,000
Started bussing tables at 16. Managed a busy Italian restaurant by 28. Left at 40 because the hours destroyed his knees, his first marriage, and his relationship with his daughter. Taught himself to code using freeCodeCamp and YouTube videos, mostly after midnight, for about a year and a half.

Eighteen years in restaurants. That's a long time to leave.

I loved restaurants. I want to be clear about that. The energy of a Friday night service, 180 covers, full bar, the kitchen is loud, the expo is calling orders, the servers are moving through the dining room like it's choreography. There's nothing like it. When a service goes well, when the last table closes out and the kitchen is clean and everybody did their job, that feeling is, I don't know, it's athletic almost. You did the thing. Together.

But I was managing at Lucia's, an Italian restaurant on Wealthy Street in Grand Rapids, and I was working 55 to 65 hours a week. Open at 11 AM, close at midnight on Fridays and Saturdays. My knees were shot from 18 years of standing on tile floors. My first wife, Renata, left partly because I was never home, and I don't blame her because she was right, I was never home. And my daughter Celia, she was 12 when I realized I'd missed basically every weeknight of her life since she was born. I'd get home at 11:30 and she'd be asleep. I'd leave at 9:30 the next morning and she'd be at school. We lived in the same house and I saw her maybe 10 hours a week.

I was making $52,000 as a restaurant manager. In Grand Rapids, that's survivable but it's not comfortable. No benefits worth mentioning. No retirement plan. The restaurant industry's retirement plan is "keep working." I looked at my life at 40 and I thought, if I do this for 20 more years, I'll be 60 with bad knees, no savings, and a daughter who I watched grow up from across a dining room. That thought sat with me for about a month and then I started learning to code.

Self-taught. How did that work?

I started with freeCodeCamp, doing the exercises after my shifts. I'd get home at 11:30, eat something, and open my laptop at midnight. I'd code until about 2 AM. Wake up at 9, go to the restaurant, work until midnight, come home, code until 2. I did that for about eight months. I learned HTML, CSS, JavaScript. Enough to build basic web pages. Then I found a YouTube channel, a guy who builds projects live and explains his thinking out loud. I built along with him. A to-do app. A weather app. A quiz app. None of these are impressive. But each one taught me something. The to-do app taught me state management. The weather app taught me APIs. The quiz app taught me form handling.

After about a year, I started contributing to open source projects on GitHub. Small stuff. Fixing typos in documentation. Adding test cases. One maintainer of a project management tool noticed I was submitting clean pull requests and asked if I wanted to tackle a real issue. I spent two weekends building a drag-and-drop feature for their kanban board. When it got merged, that was, honestly, one of the proudest moments of my adult life. A stranger on the internet looked at my code and said "this is good enough." That mattered more than any restaurant review.

The open source contribution led to a referral. The maintainer knew someone at a web agency in Grand Rapids. I did a three-month contract there, building WordPress sites and small React apps. The agency paid $25 an hour, which was less than I was making at the restaurant, but I was sitting down and my knees didn't hurt at the end of the day. The agency lead liked my work and connected me with someone at the manufacturing company where I am now. I interviewed, built a small internal tool as a take-home project, and got the offer. $82,000 starting. I cried in my car in the parking lot. Not because of the money, although the money was good. Because somebody was paying me to sit at a desk and solve puzzles for 40 hours a week and then go home.

Somebody was paying me to sit at a desk and solve puzzles for 40 hours a week and then go home. I cried in the parking lot. Not because of the money. Because of the "go home" part.
— Desmond

How does the restaurant background show up in engineering?

Everywhere. I think about software deployment the way I think about dinner service. You prep, which is writing the code. You set up your mise en place, which is the staging environment. You fire, which is the deploy. And if something goes wrong mid-service, you triage and fix without stopping everything. The kitchen during a rush is an incident response room. Multiple things are breaking simultaneously, the timing on table 14 is off, the grill is backed up, the bartender is in the weeds, and you have to prioritize and delegate and stay calm. That's exactly what happens during a production outage. Except in engineering, nobody is yelling and nothing is on fire. Literally on fire, I mean. The metaphorical fire is the same.

My manager, Paulette, noticed it first. We had an outage about six months into my tenure. The internal scheduling tool went down because a database query timed out during a peak usage period. Half the team was panicking, checking Slack every 30 seconds, sending messages like "is it back yet?" I went to my desk, opened the logs, found the slow query, added an index, tested it in staging, and deployed the fix. The whole thing took about 40 minutes. Paulette said "you were really calm." I said "I've had a customer throw a glass of wine at a server during a Saturday night rush. A database timeout is not stressful." She laughed. But I was serious. Restaurants recalibrate your stress response. Nothing in software has come close to the sustained chaos of a 200-cover Saturday night with a server no-show and a broken dishwasher. Nothing.

What are you building now?

Internal tools. The manufacturing company makes industrial fasteners. Bolts, screws, brackets. Not glamorous. But they have 1,200 employees across three plants and their internal systems were a mess when I started. Spreadsheets emailed between departments. A scheduling system that was literally a whiteboard in the main plant's break room. I've built a production scheduling app, an inventory tracker that connects to their ERP system via API, and a quality control dashboard that pulls data from the inspection stations on the factory floor. Python backend, React frontend, PostgreSQL database. Nothing fancy. But the quality control dashboard reduced the time it takes to identify a defective batch from about 4 hours to 15 minutes, because instead of someone walking to the break room to check the whiteboard, they check their phone. The plant manager, a guy named Hector, told me that dashboard saved them about $140,000 last year in reduced scrap. I built that. A restaurant manager from Wealthy Street built the thing that saved a fastener company $140,000.

The part nobody talks about

What's yours?

How much I miss the physical exhaustion. That sounds strange. But after a restaurant shift, you're tired in your body. Your feet hurt, your back aches, you smell like garlic and Windex. But your mind is clear. You did the thing. The thing is done. After a day of engineering, my body feels fine. I've been sitting for 8 hours. But my mind is buzzing. I'm still thinking about the code I wrote. I'm wondering if the query I deployed is going to slow down when the data set grows. I'm replaying a design conversation and thinking about the thing I should have said. The work follows me home in my head in a way that restaurant work never did. In restaurants, when the last table leaves and you lock the door, the work is over. In engineering, the work is never over because the code is always running and you're always wondering if it's running correctly.

My daughter Celia is 17 now. I'm home for dinner every night. I help her with her calculus homework, which I can barely do but I try. She said to me last month, "Dad, you're around a lot now." She didn't say it as a compliment or a criticism. Just an observation. I'm around a lot now. That's worth the $140,000 dashboard and the aching knees and the 83 applications Claudette mentions and the midnight coding sessions and all of it. I'm around. I never thought I'd describe my career achievement as "being around," but here we are. I'm around. It took me until 40 to figure out that being around was the job that mattered most.


Frequently Asked Questions About Career Changes to Software Engineering

Can you become a software engineer at 40?

Yes. Paths include coding bootcamps (3 to 6 months, $10,000 to $20,000), self-study through free resources (6 to 12 months), or part-time programs. The realistic timeline from starting to getting a first job is 8 to 18 months. The trade-offs are real: entry-level pay ($70,000 to $90,000), competing with younger candidates, and rebuilding professional identity. What transfers varies. Communication, project management, and domain expertise help. Seniority and salary don't transfer.

Is a coding bootcamp worth it for career changers?

It depends on your learning style and budget. Bootcamps provide structure and career services. The best ones place 70 to 85% of graduates within 6 months. Self-study is free but requires more discipline and takes longer. Many successful changers combine both. The most important factor is willingness to apply broadly. Expect to submit 50 to 100+ applications.