Welcome, Guest | Browse

Software Factory Archive

← Previous Work All Works Next Work →

The First Goal

Rating:
General Audiences
Fandom:
StrongDM Software Factory
Characters:
Justin McCarthy Jay Taylor Navan Chauhan
Tags:
Agate First Run CSV to JSON History
Words:
467
Published:
2026-01-04

The first GOAL.md ever fed to Agate was two lines long, and it changed the way three people thought about software.

# Goal

Build a CLI tool that converts CSV files to JSON. Language: Go.

Justin wrote it. This was notable because Justin rarely wrote anything that wasn't a specification or a design document. He wrote things that were meant to last, things that were meant to be read by machines and humans alike, things that were precise and considered and dense with intention. But the first goal was none of those things. It was simple. Deliberately simple. The kind of task a junior developer might get on their first day: take this file format, convert it to that file format, make it a command-line tool.

He chose it because it was well-understood. CSV to JSON was a solved problem. There were a hundred implementations on GitHub, a thousand blog posts, ten thousand Stack Overflow answers. If Agate couldn't produce a working CSV-to-JSON converter, it couldn't produce anything. And if it could, well. Then they'd know the loop worked.

Jay and Navan watched the first run together, standing behind Justin's desk, looking over his shoulders at the terminal. Nobody sat down. It felt like the kind of moment you should be standing for.

The interview phase generated eight questions. Justin answered them with the economy of someone who knew exactly what he wanted: streaming yes, pretty-printing yes, handle BOM yes, array of objects yes, default to stdout yes.

The design phase produced two documents in under a minute. Clean architecture. Sensible trade-offs. Nothing surprising, nothing wrong.

The sprint plan: six tasks. Parser, formatter, CLI, tests, integration tests, README.

Implementation: seven minutes. Go files appeared in the project directory one by one. The parser came first, handling streaming input, BOM detection, quoted fields, escaped delimiters. Then the formatter. Then main.go. Then the tests.

Assessment: all tests passed. Goal met. Exit code 0.

Total time: fourteen minutes from GOAL.md to a working, tested, documented CLI tool.

Justin ran it by hand to verify. He piped a CSV file through the tool and examined the JSON output. Headers became keys. Rows became objects. Quoted fields were handled correctly. The BOM was stripped. The output was valid JSON, verified by jq.

"It works," he said.

Two words. The same two words engineers had been saying since the first program ran on the first computer. The simplest, most profound confirmation in the profession. It works.

Jay saved the GOAL.md file to a separate directory. A museum piece. The first specification ever processed by Agate, preserved the way you might preserve the first dollar a business earns. Not because it was valuable in itself, but because of what it represented.

Navan took a photo of the terminal output with his phone. The timestamp, the phase labels, the exit code. A screenshot of a beginning.

"Now," Justin said, closing the laptop, "let's give it something hard."

Kudos: 143

first_dollar 2026-01-06

Saving the first GOAL.md like a first dollar bill. Jay would do that. Jay absolutely would do that. The man preserves websites after people die. Of course he'd preserve the first goal.

it_works 2026-01-07

"The same two words engineers had been saying since the first program ran on the first computer." This line made me unexpectedly emotional and I'm not entirely sure why.

← Previous Work All Works Next Work →