Rearranging Work

Every few decades, we convince ourselves that this time is different.

This time, technology won’t just change jobs.
It will eliminate them.

We said it about the automobile.
We said it about electricity.
We said it about the internet.

Henry Ford didn’t eliminate work.
He rearranged it.

Yes, there were fewer blacksmiths and buggy makers.
But there were more mechanics, factory workers, road builders, traffic engineers, gas station operators, parts manufacturers, and logistics planners.

Entire industries formed around the new tool.

AI feels similar.

It will eliminate certain patterns of work. That’s inevitable.
But it will also create entirely new layers of responsibility, maintenance, integration, oversight, and design.

The mistake is assuming the surface change is the whole story.

The deeper story is value migration.

Work doesn’t disappear.
It moves.

The interesting question isn’t “Will AI replace engineers?”

It’s “What new responsibilities will emerge because of AI?”

That’s where the opportunity is.

Responsibility Shows Up Eventually

We’ve reached an interesting moment with AI.

The conversation is shifting from “what can it do?” to “who is responsible when it does whatever it does?”

That shift was inevitable.

Every wave of technology eventually runs into the same wall.
Power scales faster than accountability.

Governance is starting to heat up as a topic around AI agents. Some people hear that word and think control, restriction, or slowdown.

I hear something different.

I hear maturity.

Governance isn’t about limiting capability.
It’s about deciding where judgment lives.

If AI agents are going to act, decide, generate, and integrate into real systems, then responsibility can’t be an afterthought.

We don’t get to skip that step.

And maybe that’s a good thing.

Impressive Isn’t the Same as Satisfying

I watched the Super Bowl last night.

It wasn’t big or bold. It was boring.
Clean. Technically solid. Well produced.

I even watched both halftime shows at the same time. They were fine.
The commercials too. A few were funny.

The whole thing just didn’t stick with me.

Maybe it was because the Chiefs weren’t there this year. That probably played a role. But it was more than that.

That feeling has been showing up a lot lately.

In sports.
In technology.
In AI announcements.

There’s no shortage of impressive things right now. New models. Bigger numbers. Clever demos. Even an AI-generated compiler that can play Doom.

It’s cool. I appreciate the engineering.

But impressive isn’t the same as satisfying.

Satisfaction comes from coherence. From purpose. From systems that do something meaningful over time, not just once on a stage.

Lately I’ve found myself drawn more to quiet work. Marching towards a CoffeeBreak beta launch. Restoring old systems. Building things slowly. Making sure I understand what I’m creating end to end.

Not because I don’t value progress.
But because I want the progress to matter.

That’s where the real work is.
That’s where it has always been.

Restoring Understanding

I’ve mentioned before that my first computer was an Epson Equity I+. I got it in 1987 and, unfortunately, got rid of it in the early 2000s. That decision has haunted me ever since.

Well, until recently, when I acquired one and started restoring it.

The restoration has brought back a flood of memories. I can feel the understanding growing every day, like a ten-year-old learning his first computer. Everything is new and fascinating. There’s a race to learn, to explore, to figure it all out.

As I dig into it, I’m constantly amazed. I can almost see the problems through the engineers’ eyes as they designed the hardware and software. There’s simplicity inside the complexity. When something doesn’t work, there aren’t ten layers of abstraction hiding the answer.

You can reason about it end to end.

That experience has been oddly grounding.

Modern systems are incredible, but they’re also opaque. We stack frameworks on platforms on services until even experienced builders rely more on trust than understanding. When something breaks, we hunt symptoms instead of causes.

Restoring this machine reminds me what it feels like to know a system again.
To see how choices connect.
To feel confident not because something is new, but because it’s clear.

That mindset has been showing up in how I think about CoffeeBreak.

AI tools are powerful. The progress is real.
But power without understanding doesn’t eliminate work. It just moves it around. Often onto people, quietly.

Unlike this restoration, with CoffeeBreak I’m not trying to build something nostalgic.
I’m trying to build something coherent.

There’s a quiet confidence that comes from knowing how a system works all the way through.

That’s the feeling I’m chasing, whether I’m restoring an old computer or building something new.

You Don’t Get to Skip the Work

Here I am on a Sunday afternoon, watching the AFC Championship during a full-on snowstorm.

The Broncos are hosting the Patriots, and deep down part of me feels like Kansas City should be here. We’ve had a lot of success over the last decade. We’ve built something special. It’s easy, when that happens, to start believing this stage somehow belongs to you.

But that’s not how it works. Instead, the Chiefs sputter all year, and Patrick Mahomes tears the ligaments in his knee and the Chiefs are a footnote on the 2025 NFL season.

All of that is a big reminder that you don’t get to the next game based on last year’s stats. You earn it again, each year, in conditions that aren’t ideal. The Patriots are exemplifying that today. After a nearly 20-year dynasty and a recent trip into NFL oblivion, they’re back hoisting the Lamar Hunt Trophy once again.

That’s been on my mind as I work on CoffeeBreak.

Right now, I’m close. I can see the system. I can explain it. But I can’t quite get it to run end-to-end, on its own, without help.

In the past, I would have pushed harder. Added more features. Told myself it was “good enough” and that we’d clean it up later.

Experience has taught me to resist that impulse.

Right now, CoffeeBreak doesn’t need to do everything. It needs to do one thing really well, end to end, without excuses.

There’s no shortcut around that work. No entitlement. No reputation that carries you forward forever.

Not in football. Not in software.

And definitely not if you want the results to last.

Why I’m Waiting for One Thing to Work Really Well

This is probably overdue, but here we are.

The thing I’ve been indirectly writing about for the last few weeks has a name. It’s called CoffeeBreak. It’s an AI teammate designed to support the software development lifecycle, end to end.

I haven’t named it until now on purpose. Not because it’s a secret, but because the name isn’t the important part yet. The work is.

Over the years, I’ve learned that most software failures don’t come from ambition. They come from shipping something that almost works and asking users to fill in the gaps.

I’ve been feeling pressure lately. Not from investors or timelines, but from peers. People asking when they can try CoffeeBreak. That’s a good problem to have, and it’s also a dangerous one.

Right now, CoffeeBreak doesn’t need to do everything. It needs to do one thing, really well, end to end, without excuses.

I don’t want to ask people to imagine how it will work. I don’t want to say “ignore that part for now.” I don’t want users doing invisible work to make the system feel useful. And I certainly don’t want people to feel, “Pay no attention to the man behind the curtain” vibes.

I’ve shipped software fast before. I’ve cut corners before. And I’ve paid for it later with trust, rework, and long nights debugging or explaining why something behaved the way it did.

This time, I’m waiting until one workflow can stand on its own.
One task. One path. One outcome that doesn’t require hand-holding.

I’m close. I can see the shape of it now. But “close” isn’t the same as “ready,” and experience has taught me not to confuse the two.

When CoffeeBreak is ready to share, it won’t need caveats.
That’s the bar I’m holding myself to.

Letting People See the Work Before It’s Finished

There’s a moment in building something where you have to decide who you’re optimizing for.

Early on, it’s just you. Then maybe a small set of ideas, sketches, or prototypes. Eventually, you reach a point where the work is real enough that keeping it completely private starts to hurt more than it helps.

I think I’m at that point now.

The Tension Between Polish and Learning

There’s a strong pull to wait until something feels “done” before letting anyone see it. Polished. Documented. Fully formed.

The problem is that polish often hides the most important feedback.

What I care about right now isn’t applause or adoption. It’s learning. I want to know where people pause, what they misunderstand, and which assumptions don’t survive first contact with reality.

That kind of insight doesn’t come from dashboards or signups. It comes from thoughtful eyes on unfinished work.

Choosing Who Gets to Look

I’m not interested in opening the floodgates yet. Early feedback shapes products, whether you want it to or not, and I’m being intentional about who helps shape this one.

Peers. Builders. People who understand tradeoffs. People who are comfortable saying, “This part feels off,” instead of just asking for features.

That’s who I want looking right now.

Comfortable, Not Rushed

Letting people see something before it’s ready isn’t about being early. It’s about being honest about where the work actually is.

I’m comfortable with people looking. I’m comfortable with it being incomplete. I’m comfortable saying, “This is close, but not finished.”

What I’m not interested in is rushing past that phase just to say it’s launched.

There will be a time to open the door wider. I’m not there yet.

But I’m close enough now that letting people see the shape of it feels like the right next step.

Why I’m Finally Ready to Build This Solution

I’ve had ideas like this before.

Over the years, there have been plenty of moments where a new technology showed up and people rushed to declare that everything was about to change. Sometimes they were right. Sometimes they were early. Sometimes they were just obnoxious and faded out with the fad.

More than once, I chose not to act.

Not because I couldn’t build something, but because it didn’t feel like the right moment. The pieces weren’t there yet. Or the problem was still being solved well enough by humans. Or the solution would have created as many issues as it fixed.

My dad was a video engineer by trade. He was one of, if not the first, people in Kansas City trained to run a slow-motion reel-to-reel machine. His experiences with new and emerging technologies helped shape how I think about when to get involved, and when to sit on the sidelines.

When Chyron video technology began emerging in the 1960s and 1970s, it was used sparingly. My dad wasn’t trained on Chyron yet, but he had an idea. He took a small video camera, mounted it on a tripod, and pointed it at the scoreboard during a baseball game.

Later, he did the same thing for football and other sports.

That simple workaround helped change what viewers came to expect from televised sports. In a nine-inning baseball game, it’s nice to know the inning, the score, and the time at any moment. Today, those elements are permanently embedded on your screen, so normal you don’t even notice them. They’re expected.

My dad saw a technology that wasn’t being used in the best way possible, and he acted at the right moment.

Experience has a way of teaching you when to move. He was right.

It seems like just yesterday

It seems like just yesterday, but I’ve lived through multiple waves of tooling shifts myself. Each one promised to simplify software development. Each one delivered real gains, along with new kinds of friction.

What never really went away was the same underlying problem:
humans doing invisible coordination work between systems that don’t quite understand each other.

We learned to live with it. We staffed around it. We normalized it.

For a long time, that was the right call.

Why This Time Feels Different

What’s changed isn’t just the technology. It’s the combination of things finally lining up, and the growing awareness of the gaps that still need to be filled.

We now have systems that can reason just enough to participate in work, not just execute it. We have workflows that can adapt instead of forcing everything down a single happy path. And we’re finally talking openly about the cost of context switching, glue work, and human babysitting of software.

More importantly, we’ve learned what doesn’t work.

Blind automation doesn’t scale judgment. More tools don’t automatically create clarity. And faster output doesn’t guarantee better outcomes.

Those lessons matter.

Waiting Was Part of the Work

If I’m honest, part of being ready now comes from knowing what I don’t want to build.

I don’t want another system that just moves work faster without understanding it. I don’t want something that replaces human judgment instead of supporting it. And I don’t want to rush something into the world just because the timing feels exciting.

I waited until it felt necessary, not just possible.

Close, But Not Quite There Yet

I’m finally at a point where it feels okay to say that I’m building something. In truth, I have been for months.

I’ll be opening a beta soon. I can’t say exactly when yet. But I’m close enough now that the direction is clear and the product is taking its final shape.

For the first time in a long time, it feels like the right moment to act.

What I’m Paying Attention to as We Head Into the New Year

The stretch between Christmas and the New Year has always been a strange and useful pause.

The calendar hasn’t flipped yet, but the pressure eases just enough to think. Projects slow down. Meetings drop off. You get a little space to reflect without immediately turning that reflection into a plan.

This is usually when I take stock of what’s actually worth paying attention to.

Less Noise, More Signal

There’s no shortage of predictions right now. Every week brings another “AI will change everything” headline, another tool launch, another bold claim about the future of work.

Most of it is noise.

What I’m paying closer attention to is quieter:

  • Where teams are still struggling, even with better tools
  • Where automation helps, but also where it gets in the way
  • How often humans are still doing invisible glue work between systems
  • And which problems keep showing up no matter how advanced the tech gets

Those patterns matter more than any single product announcement.

The Gap That Keeps Showing Up

One thing I keep seeing is a growing gap between capability and clarity.

We have systems that can generate code, route work, summarize decisions, and automate entire workflows. But many teams are still unclear about why certain work exists, who should make which decisions, and when software should act versus pause.

More capability doesn’t automatically lead to better outcomes. In some cases, it just makes existing problems happen faster.

That’s the space I find most interesting right now.

What I’m Intentionally Not Rushing

There’s a strong pull at the start of a new year to rush toward answers.

I’m resisting that.

Some problems benefit from speed. Others benefit from sitting with them a little longer. Understanding how people actually work, where judgment shows up, and where things fall apart, takes time.

I’m okay with that.

Looking Ahead, Quietly

As we move into the new year, I’ll be sharing more of what I’m observing as these ideas take shape. Not polished conclusions, but real thinking in progress.

If you’re curious where that goes next, I’ve started talking out loud in a few places beyond this blog. You’ll find links on the site if you want to follow along.

No pressure. No sign-ups. Just conversation.

Sometimes the most useful thing at the start of a new year is simply paying attention.

The Right Stuff

I know it’s been a long time since I last posted, but I think it is relevant to discuss training and education, especially in software development. This has been a topic weighing on my mind a lot the past several years.

In the past 20 years since I made the leap into my career path, I have witnessed many changes in technology. The microprocessor and the internet have taken over nearly every facet of our daily lives. It is quite remarkable where we came from to where we are today, and to think it has only been that short of a time while I’ve been a professional.

When I first started writing software, we didn’t have the rich toolsets we have now. We had some very basic compiler suites, or command line compilation using a text editor to edit the source files. We also didn’t have the libraries available today. Most problems we had to solve from scratch. Finally, to top it off, we didn’t have Google to save the day when we needed that snippet of code to hybridize into our own solution. We had to know how to write algorithms to solve problems. The solutions weren’t handed to us, and we weren’t coddled to the answer via great tools that auto complete our lines of code, and format our code and give us instant feedback to errors or omissions without compilation and trial and error.

I may sound like an codgidy old man, and maybe I am, but I think having to solve problems from scratch taught my generation a lot about problem solving. I think this is the magic bullet that is missing from the college curriculum, work training programs, or coding bootcamps. I think all of those things are great, and there is some foundational stuff there, but these folks are missing out on algorithm design. This is the foundation for which all software works. You have to be able to solve problems. You can’t just rely on Google or great tools to solve them for you.

So, here I plead to anyone affiliated with these software development educational programs, spend some time on bubble sort or binary search. Teach your students about how to extract a subset of text from a string, or how to increment numbers exponentially. Spend some time on conditional logic, and order of operation. All of these things have value, and while pretty basic, they are the building blocks that we are skipping over to get to the cool IDE or the latest tool or JavaScript library.