Blog

  • Bake In Time for Maintenance (Even When AI Is Doing the Work)

    Bake In Time for Maintenance (Even When AI Is Doing the Work)

    We live in a world where AI, agents, and automation tools help us do more, faster, and often with fewer people. That’s genuinely great. But there’s one thing all this new tooling doesn’t change, and that we can’t afford to lose sight of: we still have to bake in time for maintenance.

    It’s tempting to think that once you’ve built a great script, tool, or automated workflow, it should just work forever. Code isn’t a mechanical part that wears down over time, right? Except in practice, it kind of is. Not because the code itself degrades, but because everything around it keeps changing.

    When the Ground Shifts Under You

    I’ve had multiple situations where an automated workflow ran perfectly for months, then suddenly broke for no reason I could find on my end.

    One example: I had a script that built a Windows App Service in Azure. It had worked exactly as expected for a long time. Then, out of nowhere, it started building Linux App Services instead. Same commands, same parameters, completely different result. There was no reason a CLI should suddenly switch the operating system of what it deploys, but it happened, repeatedly.

    It turned out something upstream in the Azure CLI itself had changed. I had to track down the root cause, collect screenshots and evidence, and file a bug report with the Azure CLI team. They confirmed it: a bug they’d introduced. I couldn’t fix it myself; building the service correctly through the CLI just wasn’t possible anymore. My options were to build it by hand or rewrite the automation in another tool. Either way, it cost real time: time to diagnose, time to document and submit the bug, time for Microsoft to investigate and confirm it, and time for them to ship a fix.

    That entire cycle is maintenance, and it had nothing to do with anything I did wrong.

    AI Agents Break the Same Way

    AI agents introduce their own version of this problem. I heard it summed up well recently: there are two common ways agents break, and stale reference material is one of the biggest.

    Agents often work off environment files, README-style docs, or wikis to understand your infrastructure. What happens when that wiki goes stale?

    Say you’ve got a virtual network connected to a routing table, which points to a virtual appliance at a specific IP address. Someone updates that IP address for a perfectly good reason, with a proper change control process and review. Everything about the change itself was done right. But nobody updated the wiki. Now your agent (or your scripts) keep referencing the old IP address, confidently building things the way they always have, except now they’re pointing at the wrong target. Something breaks downstream, and you’re left tracing it back to a single outdated line in a doc nobody thought to touch.

    The same thing happens with network design. Maybe you resize a subnet’s address space because you’re running out of room, and the CIDR block changes. If your automation, or the documentation it reads from, wasn’t updated to match, you’ll get silent, confusing failures that have nothing to do with bad code and everything to do with stale assumptions.

    Maintenance Isn’t Just Servers

    It’s easy to associate “maintenance” with patching servers, and that’s part of it too. You’ve probably experienced this: a VM or desktop is running fine, a Windows patch rolls out, maybe automatically, maybe a week later because you waited to be safe, and suddenly something breaks. Now you’re tracking down what changed, identifying the specific patch, and figuring out whether you can safely remove it and what else that decision affects.

    If you don’t carve out time for this kind of work proactively, it piles up. You end up with a backlog of things you “should have gotten to yesterday,” and that backlog actively slows down everything you’re trying to do today.

    Even the AI Models Themselves Change

    Here’s a newer wrinkle: the AI models you’re building workflows around change too. Say you’ve built a process around a specific model version, with detailed instructions in a markdown file telling it exactly what to do. Then the model updates, maybe you’re explicitly pinned to a version, or maybe you just want “whatever’s latest,” and suddenly the model doesn’t behave the way it used to. The instructions that worked perfectly before don’t land the same way anymore, and you have to go figure out what changed and adjust.

    This applies just as much to your broader toolchain: npm packages, OS versions, dependency updates across the board. Things change constantly, often outside your control, and if you’re not paying attention to what’s shifting beneath your applications, you’ll find out the hard way.

    So How Do You Actually Bake This In?

    This is the part that trips people up, especially on smaller teams. There’s no dedicated platform group to absorb this work, so it either gets a real slot on the calendar or it doesn’t happen at all. A few things that help:

    Give maintenance a fixed, recurring slot. Treat it like a standing meeting instead of “whenever we get to it.” Even one half-day a week, or 10 to 20 percent of a sprint, reserved specifically for maintenance and dependency checks, makes a real difference. Protect it the same way you’d protect on-call time.

    Treat documentation as part of the change itself, not an afterthought. The IP address example above is the classic failure mode: the infrastructure change was done right, but the doc wasn’t updated, and anything reading from it (scripts, agents, new hires) got it wrong. Make “update the doc” a required step in your change process, not a separate task that’s easy to skip when things are busy.

    Pin and review your dependencies on purpose. CLI tools, npm packages, OS images, and AI model versions all drift over time. Pin versions where behavior actually matters, and set a recurring reminder, monthly or quarterly works fine, to deliberately review and test updates rather than letting them stack up unreviewed.

    Keep a running log of what broke and why. A single shared doc where the team notes what broke, what the actual root cause turned out to be, and how long it took to fix. Over time this becomes the best argument for protected maintenance time, because it turns “we should really do maintenance” into a specific list of receipts.

    Build monitoring that catches drift, not just downtime. Most small-team monitoring is built to catch things being down. The failures described above (wrong IP, wrong OS, wrong CIDR block) are things being wrong while still technically running. Where you can, add checks that validate key assumptions, not just uptime.

    Assign someone to watch upstream changes. Rotate it if you want. Someone keeps a light eye on release notes for the CLI tools, packages, and AI models your workflows depend on. Thirty minutes a week scanning changelogs can catch a breaking change before it catches you.

    The Bottom Line

    None of this is a knock on AI or automation. It’s the opposite. The more these tools do for us, the easier it becomes to assume things will just keep working. They won’t, not indefinitely, because the environment they operate in never stops changing: upstream APIs, documentation, network configs, patches, model versions, dependencies.

    If you’re not intentionally baking in time for maintenance, you’re not avoiding the cost. You’re just deferring it. And deferred maintenance has a way of showing up later as a much bigger, much less convenient disaster.

  • One Year Later: The Risk Was Worth It, But The Lessons Are Still Coming.

    One Year Later: The Risk Was Worth It, But The Lessons Are Still Coming.

    A little over a year ago, I left a decade at a company I genuinely loved. Great team, great leadership, meaningful work. But I wanted more. More challenge, more growth, more opportunities to step into new areas and build skills I hadn’t yet had the chance to develop. So when the opportunity came to join a growing healthcare software company, I took it. New company, new industry, new region of the country. Trading Oklahoma seasons for desert heat, familiar faces for strangers, and close family for a really long drive home.

    It wasn’t just a career move. It was a family move. My wife and two teenagers packed up their established lives to help me pursue the next chapter. We also left behind our oldest daughter, who had just gotten married and was starting a family of her own, and a church we had served and loved for over a decade. Roots we had spent years growing, planted firmly in people and community. That’s not lost on me. Not for a second.

    I’ll be honest, overworking is not new to me. I’ve spent the better part of my career being the guy who stays late, digs in on weekends, and genuinely loves solving problems so much that the line between passion and overdoing it gets blurry fast. That’s who I was before the move, and spoiler, that’s who showed up at the new job too.

    The Transition

    The transition was hard in ways I didn’t fully anticipate. Healthcare software has a learning curve unlike anything I’d worked in before. Terminology, regulations, workflows, the way teams think and operate. It’s its own world. And trying to prove yourself in a place where no one knows your track record yet, while missing the people and moments that used to just be a short drive away, is its own weight. What helped carry me through was already knowing a few people at the new company who became my day-to-day anchors during that stretch. And honestly, AI helped too. Being able to use it as a learning accelerator, less like a search engine and more like a patient mentor, helped me bridge the gap between my technical background and a brand new industry faster than I could have on my own.

    But here’s the thing about AI that I had to learn the hard way. Just because it makes you capable of doing more doesn’t mean you should do more. I found myself taking on more tasks, moving faster, juggling more than ever, and feeling productive right up until I wasn’t. Doing 10x more things sounds great until you realize half of them are good enough solutions you’ll have to come back and fix later. That’s not productivity. That’s a debt with interest. And the tool didn’t create that problem. I did.

    One Year In

    My one year anniversary hit on May 5th. Cinco de Mayo, which felt appropriate. And when I looked back, I was proud. Real impact, real growth, goals I set and goals I didn’t even know I’d end up pursuing.

    But I also looked around at mountains and desert and cactus and realized I haven’t experienced a third of the adventures I said we’d have as a family here. The hikes we talked about, the places we’d explore, the memories we’d make with my wife and kids in a brand new part of the country. Not to mention the health goals I told myself this fresh start would finally be the push I needed. A year later and those are still sitting on the list.

    That one stung.

    The Lesson

    The honest lesson of year one isn’t about the career move or the technology or even the new industry. It’s this. When it comes to work life balance, no one is coming to save you from your own habits. Not your manager, not your company, not a great AI tool. If you don’t intentionally build a rhythm that includes the people and moments that matter, you will burn bright and burn out.

    If you’re wired like me, the workaholic pull is real. And it’s sneaky, because it doesn’t feel like a bad habit. It feels like drive. But unchecked, that drive quietly borrows from everything else in your life until one day you look up and realize what you’ve been spending. I’ve been here before. I recognize the pattern. And this time I want to get ahead of it.

    Year Two

    So year two has a different goal alongside the professional ones. Enjoy the journey. Not just survive it. Work hard, and there will absolutely be weeks that demand more than 40 hours because that’s just the reality of this field, but make sure the people and experiences on the other side of that screen are getting what they deserve too.

    Was the risk worth it? Yeah. I think so. Am I still figuring it out? Every single day.

    But I’d take the leap again, and I’d tell you to take yours.


    If this resonated with you, I’d love to hear your thoughts in the comments. And if you’re a fellow workaholic still figuring out the balance, just know you’re not alone.


    #OneYearIn #TechLife #WorkLifeBalance #AI #HealthcareIT #Leadership #GrowthMindset