Justin called it "deliberate naivete," and at first Jay thought he was being metaphorical.
"Forget everything you know about software development," Justin said on the third morning. They were standing around the whiteboard, which still had only its two commandments. Nothing had been added. Nothing had been erased. "Not because it's wrong. Because it's weight. Every instinct you've built over a decade of writing software by hand is a gravitational field pulling you toward the old way."
"I've been writing Go for eight years," Jay said. "Before that, Python. Before that, things I don't talk about at parties. You want me to pretend I don't know how a for loop works?"
"I want you to pretend that knowing how a for loop works is irrelevant to your job." Justin was pacing now, slow and even, the way he paced when an idea was still finding its shape in his mouth. "Your job is not to know how code works. Your job is to know what software should do. Those are different skills. One of them requires years of practice. The other requires you to unlearn everything that practice taught you."
Navan was quiet. He had his notebook open but he wasn't writing. He was watching Justin with the expression of someone who understood the words but was waiting to see if the physics held up.
"Give me an example," Jay said.
"You're going to want to look at the generated code. You're going to want to open a file and read the functions. You'll see something that looks wrong, something you'd never write that way, and you're going to want to fix it." Justin stopped pacing. "Don't. The code is not for you. The code is for the machine. If the scenarios pass, the code is correct. Your opinion of its aesthetics is noise."
"That's hard," Jay said, and he meant it with every line of clean, well-documented, thoughtfully-structured Go he'd ever committed.
"It's the hardest part," Justin said. "Harder than learning a new language or a new framework. Because you're not adding a skill. You're suppressing one. You're choosing not to exercise a muscle that's been keeping you employed for fifteen years."
Navan finally wrote something in his notebook. Jay caught a glimpse: naivete = not ignorance, but discipline.
"I built html2text," Jay said. "An HTML to plaintext converter in Go. Hundreds of people use it. I know exactly what good code looks like. You're telling me that knowledge is a liability."
"I'm telling you it's a distraction. The factory doesn't need people who know what good code looks like. It needs people who know what good software looks like. From the outside. From the user's perspective. From the scenario's perspective."
Jay exhaled. It wasn't agreement. It wasn't resistance. It was the sound of a very old habit feeling the first tug of its leash.
"Okay," he said. "I'll try."
Justin nodded. "That's all naivete is. Trying."
"Naivete = not ignorance, but discipline." Navan's notebook entries are consistently the best one-liners in this entire archive.