<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mitesh Sharma</title>
    <description>The latest articles on DEV Community by Mitesh Sharma (@miteshethos).</description>
    <link>https://dev.to/miteshethos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3983379%2F0daf1d92-a05a-412a-8e49-28987ea68d62.png</url>
      <title>DEV Community: Mitesh Sharma</title>
      <link>https://dev.to/miteshethos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/miteshethos"/>
    <language>en</language>
    <item>
      <title>AI Coding at Scale: What Actually Works</title>
      <dc:creator>Mitesh Sharma</dc:creator>
      <pubDate>Sun, 14 Jun 2026 08:27:35 +0000</pubDate>
      <link>https://dev.to/miteshethos/ai-coding-at-scale-what-actually-works-2dod</link>
      <guid>https://dev.to/miteshethos/ai-coding-at-scale-what-actually-works-2dod</guid>
      <description>&lt;h1&gt;
  
  
  AI Coding at Scale: What Actually Works
&lt;/h1&gt;

&lt;p&gt;I've been building &lt;a href="https://github.com/ethosagent/ethos" rel="noopener noreferrer"&gt;Ethos&lt;/a&gt;, a personality-first AI agent, and like many engineers today, I rely heavily on AI coding tools. Claude Code, Codex, and others have become part of my daily workflow.&lt;/p&gt;

&lt;p&gt;What I've learned is that simply adding AI to software development doesn't automatically make development faster or better.&lt;/p&gt;

&lt;p&gt;Without structure, AI tends to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate more code than necessary&lt;/li&gt;
&lt;li&gt;Skip established conventions&lt;/li&gt;
&lt;li&gt;Take implementation shortcuts&lt;/li&gt;
&lt;li&gt;Create large changes that are difficult to review&lt;/li&gt;
&lt;li&gt;Optimize for completion rather than maintainability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After experimenting with different workflows, a few of us sat down and discussed what actually works when AI becomes part of a real engineering process.&lt;/p&gt;

&lt;p&gt;The conclusion was surprisingly simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Spend most of the effort on planning&lt;/li&gt;
&lt;li&gt;Build automated feedback loops into execution&lt;/li&gt;
&lt;li&gt;Enforce deterministic checks&lt;/li&gt;
&lt;li&gt;Keep tasks and PRs small&lt;/li&gt;
&lt;li&gt;Standardize engineering practices&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of these principles are new. The interesting part is how much more important they become when AI is writing a significant portion of the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Planning is the Highest-Leverage Activity
&lt;/h2&gt;

&lt;p&gt;The biggest shift for me has been treating planning as the primary activity rather than a precursor to coding.&lt;/p&gt;

&lt;p&gt;Most implementation mistakes are not coding mistakes. They are understanding mistakes.&lt;/p&gt;

&lt;p&gt;If the feature requirements are unclear, architecture decisions are incomplete, edge cases are unexplored, or test strategies are undefined, AI simply executes the ambiguity faster.&lt;/p&gt;

&lt;p&gt;I now spend the majority of effort upfront:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding the problem&lt;/li&gt;
&lt;li&gt;Identifying architecture implications&lt;/li&gt;
&lt;li&gt;Finding gaps in requirements&lt;/li&gt;
&lt;li&gt;Thinking through failure scenarios&lt;/li&gt;
&lt;li&gt;Defining validation and testing strategies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A problem discovered during planning is a discussion.&lt;/p&gt;

&lt;p&gt;The same problem discovered after implementation is usually a rewrite.&lt;/p&gt;

&lt;p&gt;Model selection matters here as well. Planning is where reasoning quality has the highest impact, so I use the strongest model available for planning. Execution can often be delegated to a cheaper and faster model once the direction is clear.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Execution Should Include Feedback Loops
&lt;/h2&gt;

&lt;p&gt;AI-generated code should not go directly from implementation to merge.&lt;/p&gt;

&lt;p&gt;Execution needs review loops.&lt;/p&gt;

&lt;p&gt;One approach that has worked well is using different models for implementation and review. If one model writes the code, another reviews it.&lt;/p&gt;

&lt;p&gt;Different models tend to have different strengths and blind spots. Having a second model review the output often surfaces issues that would otherwise make it into a PR.&lt;/p&gt;

&lt;p&gt;The goal is not to remove human review.&lt;/p&gt;

&lt;p&gt;The goal is to ensure humans spend their time reviewing decisions and outcomes rather than catching avoidable mistakes.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Deterministic Checks Matter More Than AI Reviews
&lt;/h2&gt;

&lt;p&gt;AI reviews are helpful.&lt;/p&gt;

&lt;p&gt;Deterministic checks are mandatory.&lt;/p&gt;

&lt;p&gt;Linting, formatting, tests, type checks, and validation should run automatically and consistently.&lt;/p&gt;

&lt;p&gt;The key insight is simple:&lt;/p&gt;

&lt;p&gt;If something must happen every single time, do not rely on AI to remember it.&lt;/p&gt;

&lt;p&gt;Automate it.&lt;/p&gt;

&lt;p&gt;Start with one check if necessary. A single enforced linting rule provides more value than an elaborate workflow that nobody adopts.&lt;/p&gt;

&lt;p&gt;Once that foundation exists, expand gradually.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Small Tasks Produce Better Results
&lt;/h2&gt;

&lt;p&gt;Large tasks create large outputs.&lt;/p&gt;

&lt;p&gt;Large outputs create difficult reviews.&lt;/p&gt;

&lt;p&gt;Whether the reviewer is a human or an AI model, review quality drops as scope increases.&lt;/p&gt;

&lt;p&gt;Breaking work into milestones, small tickets, and focused PRs improves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementation quality&lt;/li&gt;
&lt;li&gt;Review quality&lt;/li&gt;
&lt;li&gt;Iteration speed&lt;/li&gt;
&lt;li&gt;Rollback safety&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A smaller change is easier to reason about, easier to validate, and easier to ship.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Standardize Principles, Not Tools
&lt;/h2&gt;

&lt;p&gt;One mistake teams often make is trying to standardize every tool and workflow.&lt;/p&gt;

&lt;p&gt;What matters more is standardizing the engineering principles.&lt;/p&gt;

&lt;p&gt;Different engineers can use different tools as long as they follow the same expectations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan before implementing&lt;/li&gt;
&lt;li&gt;Build feedback loops into execution&lt;/li&gt;
&lt;li&gt;Use deterministic validation&lt;/li&gt;
&lt;li&gt;Keep changes small&lt;/li&gt;
&lt;li&gt;Follow shared engineering practices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Consistency of thinking matters more than consistency of tooling.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Current Workflow
&lt;/h2&gt;

&lt;p&gt;Today, my workflow is fairly straightforward.&lt;/p&gt;

&lt;p&gt;I work inside a development sandbox and use both Claude Code and Codex depending on the task.&lt;/p&gt;

&lt;p&gt;Before opening a PR:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local hooks run validation&lt;/li&gt;
&lt;li&gt;Tests execute locally&lt;/li&gt;
&lt;li&gt;Linting and formatting are enforced&lt;/li&gt;
&lt;li&gt;The same checks that run in CI run locally first&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After implementation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One model reviews the generated code&lt;/li&gt;
&lt;li&gt;A second model reviews the review&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is significantly less back-and-forth during code review and higher confidence before a human reviewer ever looks at the change.&lt;/p&gt;

&lt;p&gt;I also use Git worktrees extensively to isolate parallel streams of work.&lt;/p&gt;

&lt;p&gt;That led to one of the more important lessons I've learned about AI-assisted development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Natural Language for Guidance. Hooks for Guarantees.
&lt;/h2&gt;

&lt;p&gt;Initially, I documented a simple rule in AGENTS.md:&lt;/p&gt;

&lt;p&gt;Always use worktrees.&lt;/p&gt;

&lt;p&gt;For a while, it worked.&lt;/p&gt;

&lt;p&gt;Then it didn't.&lt;/p&gt;

&lt;p&gt;When I asked Claude why it occasionally ignored the instruction, the answer was surprisingly accurate: instructions are guidance, not enforcement.&lt;/p&gt;

&lt;p&gt;A model can follow them.&lt;/p&gt;

&lt;p&gt;A model can also drift from them.&lt;/p&gt;

&lt;p&gt;This is the distinction that matters when building reliable AI workflows.&lt;/p&gt;

&lt;p&gt;Use natural-language instructions for preferences.&lt;/p&gt;

&lt;p&gt;Use deterministic systems for requirements.&lt;/p&gt;

&lt;p&gt;If something is mandatory, enforce it with hooks, automation, validation, or policy.&lt;/p&gt;

&lt;p&gt;Do not rely on a probabilistic system to provide deterministic guarantees.&lt;/p&gt;

&lt;p&gt;Once I moved worktree enforcement into hooks, the issue disappeared.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;The most useful mental model I've found is to treat AI like another engineer on the team.&lt;/p&gt;

&lt;p&gt;A very fast engineer.&lt;/p&gt;

&lt;p&gt;A very capable engineer.&lt;/p&gt;

&lt;p&gt;But still an engineer operating within a system.&lt;/p&gt;

&lt;p&gt;Good engineering organizations do not rely on individual engineers to remember every rule, every process, and every validation step.&lt;/p&gt;

&lt;p&gt;They create systems that make the right thing easy and the wrong thing difficult.&lt;/p&gt;

&lt;p&gt;The same principle applies to AI.&lt;/p&gt;

&lt;p&gt;Use strong models for planning.&lt;/p&gt;

&lt;p&gt;Use automated feedback loops during execution.&lt;/p&gt;

&lt;p&gt;Enforce deterministic validation.&lt;/p&gt;

&lt;p&gt;Keep changes small.&lt;/p&gt;

&lt;p&gt;And whenever something absolutely must happen every time, automate it.&lt;/p&gt;

&lt;p&gt;PS: I'm building Ethos in public — an AI agent with a soul: locked core values, evolving expression, governed self-improvement. If this kind of thing interests you, come say hi: &lt;a href="https://x.com/EthosAgentAI" rel="noopener noreferrer"&gt;@EthosAgentAI&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
