DOP 315: Why Good Developers Spend More Time Designing Than Coding

Episode 315

Show Notes

#315: In this episode, the discussion centers around the critical importance of design over mere code writing in software development. Darin & Viktor reflect on their experience with coding tools like Cursor and Claude Code, noting their pros, cons, and the efficiency brought by AI in handling coding chores. They highlight the paradigm shift in developer tasks from writing code to managing and designing projects, comparing it to the role of an author in world-building. The conversation also touches on the potential future of startups leveraging AI to minimize costs, the iterative nature of design, and practical tips for integrating AI into development workflows effectively.

Frequently Asked Questions

Why does running a simple command in an AI agent cost tokens?

Viktor Farcic reframes the complaint on DevOps Paradox episode 315 after Darin Pope typed a directory listing into Claude Code and watched it think. Nobody lists files for its own sake; you do it to find where a function lives. Ask that instead. The tokens are well spent when the request describes what you are trying to accomplish rather than the mechanical step you would have taken yourself.

Should you let the agent run your tests?

Viktor Farcic argues yes on DevOps Paradox episode 315. You run tests because you changed code and something might fail, and if it does you will paste the output back anyway, spending the same tokens plus your own time. The agent wrote the code and the tests, so letting it run them and fix what it got wrong closes the loop. Nobody enjoys writing tests, which makes them an obvious candidate.

What does a CLAUDE.md file do?

Viktor Farcic explains on DevOps Paradox episode 315 that initialising a project makes the agent walk the codebase and write down what matters, after which you add what it did not discover, such as always practising test-driven development. It then stops rediscovering the same facts each session. When Darin Pope objects to committing files to repositories he does not own, Farcic points at gitignore.

Do you need MCP servers to work with a coding agent?

Viktor Farcic says mostly not on DevOps Paradox episode 315. He uses a memory server and a task server, and concedes the agent already has memory and already keeps a to-do list internally. Nothing about MCP is transformative if you already have command line tools for what you need, because the agent can reach those directly. They make things slightly better rather than possible.

Do developers actually want to write code?

Viktor Farcic says on DevOps Paradox episode 315, warning it makes people angry: “I think that good coders are not people who spend majority of their time writing code.” He describes typing as a chore and design as the part he enjoys. His analogy is authorship, where the job is working out the story, the details and the flow rather than putting the words on the page.

Does working with AI agents mean going back to waterfall?

Viktor Farcic says the opposite on DevOps Paradox episode 315. He is several iterations into a project, having built something, decided it was wrong, and started over. Nobody produces a complete design before writing code, and anyone claiming otherwise is either lying or accepting failure later. What changes is speed: a week of iteration compresses into about two days, so design emerges faster.

What is the DevOps Paradox podcast?

DevOps Paradox is a weekly podcast co-hosted by Darin Pope and Viktor Farcic, covering DevOps, platform engineering, and modern software delivery. Episode 315 is a conversation between the two hosts about working with coding agents in practice, covering what to ask for, what to configure, and why the valuable part of development was never the typing. Every episode page carries the audio, the video, and a full transcript.

Topics

Share and Download

Hosts

Viktor Farcic

Viktor Farcic

Viktor Farcic is a member of the Google Developer Experts and Docker Captains groups, and published author.

His big passions are DevOps, Containers, Kubernetes, Microservices, Continuous Integration, Delivery and Deployment (CI/CD) and Test-Driven Development (TDD).

He often speaks at community gatherings and conferences.

He has published DevOps Paradox and Test-Driven Java Development.

His random thoughts and tutorials can be found in his blog The DevOps Toolkit.