Welcome, Guest | Browse

Software Factory Archive

← Previous Work All Works Next Work →

The CTO Before

Rating:
General Audiences
Fandom:
StrongDM Software Factory
Characters:
Justin McCarthy Jay Taylor
Tags:
Character Study Pre-Factory Traditional Engineering Deliberate Naivete
Words:
485
Published:
2025-12-02

Before the factory, Justin ran engineering the way everyone ran engineering. Code reviews. Sprint planning. Standup meetings. Jira tickets with story points. Retrospectives. One-on-ones. Quarterly planning. Roadmap presentations. All of it. The complete liturgy of modern software development, performed faithfully, three times a week, fifty weeks a year.

He was good at it. That was the part people didn't understand. Justin didn't abandon traditional engineering because he'd failed at it. He abandoned it because he'd succeeded at it long enough to see its ceiling.

"Code review," Justin said one afternoon, when Jay asked him what he missed about the old way. "I should miss code review. I spent years getting good at it. I could read a diff and find the bug in thirty seconds. I knew where to look. I knew the patterns. I had a feel for code the way a mechanic has a feel for engines."

"And you don't miss it?"

"Not even slightly."

He said it without bravado. Without defiance. He said it the way a retired surgeon might say they don't miss operating—not because the work wasn't meaningful, but because they'd found something that worked better than a scalpel.

"The problem with code review," Justin continued, "is that it's a human bottleneck on a process that shouldn't have bottlenecks. You write code. I read it. I find problems. You fix them. I read it again. The throughput is limited by how fast I can read and how fast you can respond. No matter how good I get at reading diffs, the process doesn't scale."

"But the agents—"

"The agents write code that the scenarios validate. The scenarios run against the twins. The satisfaction metrics tell us whether the system works. No human reads the code. No human needs to. The validation is in the behavior, not the text."

Jay thought about this. He'd spent his career writing code that other people would read. He'd been proud of readable code. Clean code. Code that communicated intent. The idea that code didn't need to be readable—that it only needed to be correct, as measured by its observable behavior—was a shift he was still processing.

"What about sprint planning?" he asked.

"Sprint planning assumed that humans would do the work and that the work could be estimated in advance. Both assumptions are wrong in the factory. The agents do the work. The work takes as long as convergence takes. You can't estimate convergence. You can only measure it."

"Standups?"

"Standups assumed you needed to synchronize humans. We synchronize through the scenario suite. If a scenario passes, I know what happened. If it fails, I know what didn't. I don't need someone to tell me about it at nine-fifteen every morning."

Justin looked at the anemones in his tank. "Deliberate naivete," he said. "You have to be willing to forget everything you know about how software is made. Not because it was wrong. Because it was right for a world that no longer exists."

Jay added "naivete" to his word list that evening. Not because he didn't know the word. Because Justin had given it a new meaning.

Kudos: 102

ex_scrum_master 2025-12-04

"The complete liturgy of modern software development, performed faithfully" is such a precise word choice. Liturgy. It was a ritual. He saw through the ritual to the purpose, and then found a better way to serve the purpose.

code_review_mourner 2025-12-05

The comparison to a retired surgeon not missing operating because they found something better than a scalpel. That's not contempt for the old way. That's respect for it and recognition that it's over. This is the most emotionally honest piece about the factory transition I've read.

← Previous Work All Works Next Work →