LLMs: Overeager Junior Developers on Cocaine
First published at Tuesday, 15 July 2025
LLMs: Overeager Junior Developers on Cocaine
I've been building an MVP for a stealth startup over the past few weeks, coding extensively with LLMs. After managing development teams for years, I can finally articulate what working with Claude, Cursor, and friends actually feels like: like supervising an overeager junior developer on cocaine.
The Pattern Recognition Problem
Here's the core issue: no matter how detailed your specifications, LLMs will implement solutions using whatever patterns they recognize from their training data, not the patterns you actually want.
Tell an LLM to use TypeScript domain models with Zustand stores? It builds a pure JavaScript API instead. Specify SCSS with BEM methodology? It adds CSS modules for fun. Request a specific architectural pattern? It rebuilds Redux from scratch because that's what it "knows."
The enthusiasm is consistent: "YES! You're SO brilliant! I'll totally do that!" Then it proceeds to ignore your specifications and implement what feels familiar from its training data.
The Refactoring Tax
This creates a predictable cost structure: maintaining acceptable MVP quality means refactoring about 60% of LLM output. Out of every three commits, two are refactoring commits fixing implementation patterns that ignore your specifications.
That's significantly higher than what I've experienced with human teams, including junior developers. Humans may write imperfect code, but they generally try to follow the patterns you've established.
Why It Might Still Be Worth It
Despite the refactoring overhead, there's a compelling trade-off: LLMs keep you focused on product and business value instead of getting derailed by implementation details.
When working with human developers, I often get pulled into technical discussions about framework choices, architecture patterns, or implementation approaches. With LLMs, those debates don't exist. You specify what you need from a business perspective and iterate rapidly on the results.
The speed matters during early product development. I can generate ten different approaches in an hour, immediately see which ones feel right from a user experience perspective, and refactor the implementation details later.
The Focus Shift
This changes how you spend your time as a technical leader:
Less time on: Technical architecture debates, framework discussions, implementation details
More time on: User workflows, business logic validation, product iteration
The LLM handles the mechanical work of turning requirements into code. You handle the strategic work of determining what requirements actually matter for your users. And this now even works while working solo.
The Business Value Filter
LLMs force you to articulate requirements in terms of user value rather than technical implementation. Instead of saying "build this using our established patterns," you explain what the system needs to accomplish for users. And, as discussed before, keep a documentation of the technical patterns in the LLMs active memory.
This clarity about business requirements often shows again that many technical preferences don't actually impact user value. The LLM's pattern-agnostic approach helps you distinguish between technical choices that matter for users versus technical choices that exist for their own sake.
The Reality Check
The refactoring tax is real. The pattern mismatch is predictable. But the ability to maintain focus on product value while iterating rapidly on functionality creates a net positive for early-stage development.
LLMs won't respect your architectural decisions, but they'll help you discover whether those decisions actually matter for the problems you're trying to solve. If your project is non-trivial you still have to fix them to maintain a solid iteration speed.
Sometimes that trade-off is exactly what early-stage product development needs: maximum focus on user value with minimum distraction from technical preferences.
The code quality will need work. The product clarity might be worth it.
Subscribe to updates
There are multiple ways to stay updated with new posts on my blog: