Career

Career Advice I Wish I Had at 40 (From a 52-Year-Old Coder)

I turned 40 in 2014. Obama was in office, Docker was barely a year old, and I was deep into a career trajectory that I thought was going exactly where it...

I turned 40 in 2014. Obama was in office, Docker was barely a year old, and I was deep into a career trajectory that I thought was going exactly where it should.

It wasn't.

The AI Augmented Engineer: Software Development 2026-2030: A Practical Guide to Thriving in the Age of AI-Native Development

The AI Augmented Engineer: Software Development 2026-2030: A Practical Guide to Thriving in the Age of AI-Native Development

By 2030, 0% of IT work will be done without AI. Data-backed career roadmap for software engineers. No hype, no doom. Practical strategies that work.

Learn More

I don't mean it was bad. I was employed, well-compensated, technically sharp, and completely blind to the things that would actually matter over the next decade. The problem with career advice is that nobody gives it to you when you can use it. At 25, you're too busy learning. At 35, you think you've figured it out. At 40, you're starting to suspect you haven't. And at 52, sitting in a cabin in Alaska writing code for my own company, I can see the whole map — including the roads I should have taken.

This isn't theoretical. This is what I'd tell myself if I could sit down across from 40-year-old Shane at a bar somewhere and buy him a beer.


Stop Optimizing for the Next Promotion

At 40, I was still playing the corporate ladder game. Senior engineer to staff engineer to principal engineer to architect to VP of something. The entire arc of my thinking was: what's the next rung?

Here's what I didn't understand: the ladder doesn't go where you think it goes.

Every promotion past a certain level trades technical work for meetings. You become a manager of people, a writer of documents, a navigator of politics. Some people are great at that and love it. I was decent at it and hated it. But I kept climbing because that's what you do, right?

Wrong. The most fulfilled engineers I know — the ones who are still genuinely excited about code in their 50s — made a deliberate decision at some point to step off the ladder. They went deep instead of up. They became the person everyone calls when something is truly broken, not the person who approves PTO requests.

If you're 40 and still chasing titles, stop and ask yourself: do I actually want what comes with the next level? Not the salary bump. Not the LinkedIn update. The actual daily work. Because you're going to be doing that daily work for years.


Your Body Is a Production System — Monitor It

This one sounds like your dad talking, and I don't care.

At 40, I was sitting in an Aeron chair for 10-12 hours a day, eating lunch at my desk, and telling myself I'd start exercising again "when things calm down." Things never calm down. That's not how careers work.

By 43, I had chronic back pain. By 45, my blood pressure was elevated enough that my doctor started having serious conversations. I was monitoring uptime on production servers with obsessive detail while running my own body like a neglected side project with no alerts.

You are a production system. You need monitoring, maintenance windows, and incident response. That's not a metaphor — it's literally how you should think about it.

I moved to Alaska partly because the lifestyle here forces physical activity. You can't live in Caswell Lakes without chopping wood, clearing snow, maintaining property. The coding happens between the physical work, not instead of it. My back pain is gone. My blood pressure is normal. I think more clearly than I did at 40.

You don't have to move to Alaska. But you have to stop treating your health as something you'll get to later. Later arrives fast, and it doesn't send a warning email first.


Learn to Say No to Interesting Problems

This is counterintuitive, but it might be the most important thing on this list.

At 40, I said yes to everything that sounded technically interesting. New architecture initiative? I'm in. Cross-team integration project? Sure. Prototype for the CEO's pet idea? Absolutely.

Every one of those yeses was a withdrawal from the same limited account: my time and energy. And the problem with saying yes to everything interesting is that you end up finishing nothing important.

The engineers who build real leverage — who end up with options and freedom — are the ones who learn to say no to good opportunities so they can say yes to great ones. That means you need a filter. Mine came too late, but here it is:

Will this matter in five years? Not "could this matter" — will it? Most things won't. The cross-team integration project that felt urgent in 2016 is something I literally cannot remember the outcome of. The side project I almost said no to — that became AutoDetective.ai.


Build Something That's Yours

This is the advice that would have changed my trajectory the most.

At 40, everything I'd built belonged to someone else. Every elegant architecture, every production system, every line of code — it all lived behind a corporate firewall. When I left those companies, I left my work behind. Not just physically, but in terms of reputation, leverage, and compounding value.

I should have started building my own things a decade earlier. Not to get rich (though that's nice when it happens), but because ownership changes everything about how you relate to your work.

When you build something that's yours — a product, a consultancy, a technical blog, a SaaS tool, an open-source project — you're creating an asset that compounds. Every hour you put into it builds on the previous hours. Corporate work doesn't do that. Corporate work resets every quarter when priorities shift.

I started Grizzly Peak Software and AutoDetective.ai in my late 40s. I wrote a book about training LLMs. Every one of those things would have been easier to start at 40, when I had more energy, more financial runway, and fewer obligations.

You don't have to quit your job. You have to start building equity in something that has your name on it.


Stop Learning Frameworks, Start Learning Patterns

At 40, I was spending significant time keeping up with the framework treadmill. Angular, then React, then Vue, then whatever was next. New ORMs. New deployment tools. New CI/CD pipelines.

Here's the thing nobody tells you: frameworks are temporary. Patterns are permanent.

The observer pattern I learned in the late 90s still drives every event system I build. The repository pattern from my early enterprise days still structures every data access layer. Request-response, pub-sub, circuit breakers, retry with backoff — these patterns have survived every framework transition of the last 30 years.

If you're 40 and spending your learning budget on the framework of the year, you're investing in a depreciating asset. Spend that time on distributed systems theory, on database internals, on networking fundamentals. Learn why things work, not just how to use the current abstraction.

// This is what matters - not which ORM you use
// but understanding the patterns underneath

var EventEmitter = require('events');

function createCircuitBreaker(fn, options) {
    var emitter = new EventEmitter();
    var failures = 0;
    var state = 'CLOSED';
    var threshold = options.threshold || 5;
    var resetTimeout = options.resetTimeout || 30000;

    function execute() {
        if (state === 'OPEN') {
            emitter.emit('rejected', { reason: 'circuit open' });
            return Promise.reject(new Error('Circuit breaker is open'));
        }

        return fn.apply(null, arguments)
            .then(function(result) {
                failures = 0;
                state = 'CLOSED';
                emitter.emit('success', result);
                return result;
            })
            .catch(function(err) {
                failures++;
                emitter.emit('failure', { count: failures, error: err });

                if (failures >= threshold) {
                    state = 'OPEN';
                    emitter.emit('open', { failures: failures });
                    setTimeout(function() {
                        state = 'HALF_OPEN';
                        emitter.emit('halfOpen');
                    }, resetTimeout);
                }
                throw err;
            });
    }

    return { execute: execute, emitter: emitter, getState: function() { return state; } };
}

That circuit breaker pattern works regardless of whether your HTTP client is Axios, node-fetch, or the built-in http module. The framework doesn't matter. The pattern does.


Your Network Is More Valuable Than Your Skills

At 40, I was heavily invested in being the smartest person in the room. I wanted to be the one who solved the hard problems. I measured my value by technical capability.

What I didn't realize is that past a certain skill level, your network determines your opportunities far more than your abilities do.

The best contract I ever landed came from a former colleague who remembered that I was reliable and easy to work with. Not brilliant — reliable. The opportunity to write my book came through a connection who knew I'd been training models and could explain things clearly.

Every bridge I burned, every relationship I let decay through neglect, every conference I skipped because I was "too busy" — those were all more costly than any technical skill I failed to learn.

After 40, invest in relationships the way you'd invest in infrastructure. Systematically. Consistently. Not because it's transactional, but because the people you work with over a 30-year career are the ones who open doors you don't even know exist.


Have a Financial Plan That Doesn't Require Employment

This one is uncomfortable, but it's real.

At 40, I had a good salary, decent savings, and absolutely no plan for what would happen if the industry shifted underneath me. My financial security was entirely dependent on continued employment at roughly the same compensation level.

The tech industry doesn't guarantee that. Layoffs happen. Ageism is real — not universal, but real enough that you need to account for it. The job market at 52 is different from the job market at 35, and pretending otherwise is planning to fail.

Start building financial independence before you need it. That means:

  • Live below your income. Not by a little — by a lot. The engineers I know who have real freedom are the ones who were saving 30-40% of their income in their 40s.
  • Diversify your income streams. Side projects, consulting, writing, teaching. Anything that generates revenue independent of your primary job.
  • Understand your real cost of living. I was shocked at how little I actually needed to live when I moved to Alaska and stripped away all the lifestyle inflation of working in tech hubs.

I'm not financially independent because I planned well. I'm financially independent because I eventually stumbled into the right approach after years of doing it wrong. You have time to do it on purpose.


Get Comfortable With Being Uncomfortable

At 40, I was an expert. I knew my stack, my domain, my tools. And that expertise was slowly poisoning me.

Expertise creates comfort zones, and comfort zones are where careers go to stagnate. The engineers who thrive past 50 are the ones who deliberately put themselves in positions where they don't know what they're doing.

When AI started becoming practical, I could have said "that's not my area" and kept building traditional web applications. Instead, I dove into training LLMs, built AutoDetective.ai, wrote a book about it. The first six months were humbling. I felt like a junior developer again, making stupid mistakes and reading documentation for hours.

It was the best thing I did for my career in my 40s.

If you're 40 and you can't remember the last time you felt genuinely confused by a technical problem, you're coasting. Coasting feels safe. It isn't.


The Industry Will Try to Make You Feel Obsolete

This might be the most important thing I can tell you.

Somewhere around 42 or 43, I started seeing articles about how developers over 40 were becoming irrelevant. Silicon Valley's obsession with youth. The bias toward new graduates who'd work 80 hours a week. The constant drumbeat of "move fast and break things" that seemed designed to exclude anyone who'd learned that breaking things in production has consequences.

It got in my head. I started wondering if I was past my expiration date.

I wasn't. And you aren't.

What you have at 40 that you didn't have at 25 is judgment. You've seen enough systems succeed and fail that you can feel when an architecture is wrong before you can articulate why. You've worked with enough teams to know that the technical solution is usually the easy part — the people problem is what kills projects. You know that the shiny new tool is probably solving a problem you don't have.

That judgment is rare. It's valuable. And it only comes from years of doing the work.

Don't let an industry obsessed with novelty convince you that experience is a liability. Experience is the one thing that can't be shortcut, hacked, or automated.


The Advice I'm Still Figuring Out

I want to be honest: I don't have all of this figured out. I'm 52, living in a cabin in Alaska, running my own software company, and I still make career mistakes. I still say yes to things I should say no to. I still occasionally prioritize code over relationships, or optimization over rest.

The difference between 40 and 52 isn't that you stop making mistakes. It's that you recognize them faster and correct course sooner.

If you're 40 and reading this — or 35, or 45, or any age where you feel like you should have your career figured out — give yourself some grace. Nobody has it figured out. The best any of us can do is learn from our own bad decisions and occasionally learn from someone else's.

These are mine. Use them however they're useful.


Shane Larson is a software engineer, writer, and the founder of Grizzly Peak Software and AutoDetective.ai. He writes code and splits firewood from a cabin in Caswell Lakes, Alaska, where the Wi-Fi is satellite and the debugging is occasionally interrupted by moose.

Powered by Contentful