Skip to main content

3 posts tagged with "Productivity"

Developer productivity and workflow optimization

View All Tags

How Do I Stop Babysitting My Agent?

· 20 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Start somewhere that has nothing to do with agents.

You have two kinds of people working for you. One takes the assignment and goes quiet, delivers on the date, and comes back to you exactly once along the way, about something they genuinely couldn't call and genuinely shouldn't have. The other asks you eight times a day: can I change this? do it now or later? is this approach okay? Every step waits on your nod. You call it managing. What you're actually doing is working alongside them.

Two desks side by side. On the left the work is finished and sitting on the desk, and the manager is way back in their chair, relaxed, not looking. On the right the desk is covered in half-decided things, the manager is leaning in over it with steam coming off their head, and empty speech bubbles float between them. Same two reports; the difference is whether the manager can leave

We tend to say the second one "isn't ready yet." Anyone who has run a team knows it usually isn't about the person. Nobody has told them where their authority ends, so they can't tell which calls are theirs and which have to come upstairs. Nobody has told them what "done" looks like, so they can't tell when to stop. Leave those two things unwritten and even a strong person has no choice but to keep turning around to ask.

Now swap in an agent. The one you have is the second kind.

Someone sitting in an office chair with a coffee. The machine next to them is running perfectly well on its own, and yet a robotic arm keeps reaching over to tap them on the shoulder. They're yawning. Nothing is wrong; they just can't leave the chair

And it's a bit worse than a new hire. When a new hire is unsure, they know they're unsure. Being unsure about its own work is the single thing an agent is worst at, and there's data on that further down. So waiting for it to "mature" is even less promising than waiting for a person to. The only path is to write things down.

That's the question here: how do you stop being the babysitter. Four parts. Why watching buys you nothing. What the part it already runs on its own is actually resting on. How to decide when it should come find you. And where you should be looking, plus the one job you can't hand off.

Cheap Code, Scarce Attention

· 13 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Writing a feature used to take all day. Now you hand a sentence to an agent and it's done in minutes.

Everyone feels the first-order effect: output got cheap. But there's a second-order effect the excitement tends to bury — when something you used to pay for suddenly becomes nearly free, that money doesn't vanish. It just moves house, onto whatever is still scarce.

Code is no longer scarce. So what is? Deciding what to build, knowing where to call a halt, spotting the problem nobody else saw — your attention.

This isn't the feel-good line that "people matter more now." It's a concrete piece of accounting: when one input becomes cheap and abundant, the value slides upstream, to whatever is still scarce and complementary to it. AI wholesales a unit of output down to almost nothing; the value migrates to what sits above it — attention.

So the claim is short: cheap code, scarce attention. But I want to state it in full. Attention is worth more because its leverage grew — and leverage is double-edged: the same multiplier that amplifies your right calls amplifies your wrong ones. Worse, the moment "attention" becomes the scarce thing we grade, it gets gamed.

Let me walk through it step by step: why this accounting holds, how big the leverage actually is (there's a blank here I have to be honest about), why it turns around and becomes the new bottleneck, and the price it makes you pay.

Spec-Driven Development: A Systematic Approach to Complex Features

· 18 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction: The Challenge of Complex Feature Development

Every developer knows the feeling of staring at a complex requirement and wondering where to begin. Modern software development increasingly involves building systems that integrate multiple services, handle diverse data formats, and coordinate across different APIs. What appears straightforward in initial specifications often evolves into intricate webs of interdependent components, each with their own constraints and edge cases.

This complexity manifests in several common development challenges that teams face regardless of their experience level or technology stack. Projects frequently suffer from scope creep as requirements evolve during implementation. Developers spend significant time explaining context to AI assistants or team members, often repeating the same architectural constraints across multiple conversations. Technical debt accumulates as developers make hasty decisions under pressure, leading to systems that become increasingly difficult to maintain and extend.

Related Reading

For a deeper exploration of how complexity emerges and accumulates in software projects, see my previous analysis: Why Do We Need to Consider Complexity in Software Projects?