<?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: Isamu Arimoto</title>
    <description>The latest articles on DEV Community by Isamu Arimoto (@isamu).</description>
    <link>https://dev.to/isamu</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4043370%2F2e4876ea-5961-4167-9592-045173eb6fef.jpg</url>
      <title>DEV Community: Isamu Arimoto</title>
      <link>https://dev.to/isamu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/isamu"/>
    <language>en</language>
    <item>
      <title>AI Changed the Bottleneck of Software Development</title>
      <dc:creator>Isamu Arimoto</dc:creator>
      <pubDate>Thu, 23 Jul 2026 08:27:52 +0000</pubDate>
      <link>https://dev.to/isamu/ai-changed-the-bottleneck-of-software-development-58og</link>
      <guid>https://dev.to/isamu/ai-changed-the-bottleneck-of-software-development-58og</guid>
      <description>&lt;p&gt;For decades, software engineering was constrained by one thing: writing code.&lt;/p&gt;

&lt;p&gt;Today, that bottleneck is disappearing.&lt;/p&gt;

&lt;p&gt;With tools like Claude Code, Codex, and other coding agents, generating thousands of lines of code is almost free. The new constraint is no longer how fast we can write code—it's how fast we can keep a codebase healthy.&lt;/p&gt;

&lt;p&gt;That is a fundamentally different problem.&lt;/p&gt;

&lt;p&gt;AI Doesn't Create Bad Code. It Creates Code Too Easily.&lt;/p&gt;

&lt;p&gt;Modern coding agents are remarkably good at producing working code.&lt;/p&gt;

&lt;p&gt;But they also tend to:&lt;/p&gt;

&lt;p&gt;create another helper function instead of reusing an existing one&lt;br&gt;
leave dead utilities after refactoring&lt;br&gt;
grow functions to hundreds of lines&lt;br&gt;
fall back to any when type inference becomes difficult&lt;br&gt;
introduce subtle architectural violations that are hard to notice in code review&lt;/p&gt;

&lt;p&gt;None of these are catastrophic individually.&lt;/p&gt;

&lt;p&gt;Together, they slowly increase technical debt.&lt;/p&gt;

&lt;p&gt;The challenge isn't intelligence—it's scale.&lt;/p&gt;

&lt;p&gt;When an AI can generate code 10× faster than a human, it can also generate technical debt 10× faster.&lt;/p&gt;

&lt;p&gt;Human Code Review Doesn't Scale Either&lt;/p&gt;

&lt;p&gt;Even experienced reviewers can't remember a 300,000-line codebase.&lt;/p&gt;

&lt;p&gt;Suppose a pull request adds another truncate() function.&lt;/p&gt;

&lt;p&gt;Is there already one somewhere else?&lt;/p&gt;

&lt;p&gt;Maybe.&lt;/p&gt;

&lt;p&gt;Maybe there are six.&lt;/p&gt;

&lt;p&gt;No reviewer can reliably answer that from memory.&lt;/p&gt;

&lt;p&gt;The same applies to unused exports, circular dependencies, or architectural boundaries.&lt;/p&gt;

&lt;p&gt;These aren't problems humans should spend their time searching for.&lt;/p&gt;

&lt;p&gt;They're mechanical problems.&lt;/p&gt;

&lt;p&gt;Let Machines Enforce Code Hygiene&lt;/p&gt;

&lt;p&gt;The obvious solution is to automate the boring parts.&lt;/p&gt;

&lt;p&gt;Our development workflow combines several layers of static analysis:&lt;/p&gt;

&lt;p&gt;ESLint for complexity and coding standards&lt;br&gt;
SonarJS for maintainability and type safety&lt;br&gt;
jscpd for duplicated code&lt;br&gt;
Knip for dead code detection&lt;/p&gt;

&lt;p&gt;Each tool catches a different class of problems.&lt;/p&gt;

&lt;p&gt;No single tool is sufficient.&lt;/p&gt;

&lt;p&gt;Together, they continuously protect the codebase while developers—and AI agents—focus on solving actual problems.&lt;/p&gt;

&lt;p&gt;DRY Matters Even More in the AI Era&lt;/p&gt;

&lt;p&gt;Many people think DRY ("Don't Repeat Yourself") is mainly about maintainability.&lt;/p&gt;

&lt;p&gt;Today, it has another benefit.&lt;/p&gt;

&lt;p&gt;AI agents consume context.&lt;/p&gt;

&lt;p&gt;Six duplicated implementations don't just increase maintenance cost—they also increase token consumption.&lt;/p&gt;

&lt;p&gt;Large functions require more context.&lt;/p&gt;

&lt;p&gt;Duplicate utilities require more searching.&lt;/p&gt;

&lt;p&gt;Dead code increases noise.&lt;/p&gt;

&lt;p&gt;A cleaner codebase is also a cheaper codebase for AI.&lt;/p&gt;

&lt;p&gt;Good architecture now directly improves AI efficiency.&lt;/p&gt;

&lt;p&gt;CI Should Prevent Regression, Not Punish History&lt;/p&gt;

&lt;p&gt;One lesson we've learned is that not every static analysis tool should block a pull request.&lt;/p&gt;

&lt;p&gt;Some checks can accurately identify new problems.&lt;/p&gt;

&lt;p&gt;Those belong in CI.&lt;/p&gt;

&lt;p&gt;Others can only report the current state of the repository.&lt;/p&gt;

&lt;p&gt;Those should provide visibility rather than block development.&lt;/p&gt;

&lt;p&gt;The goal isn't to eliminate all technical debt overnight.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;Never create new debt faster than you remove the old one.&lt;/p&gt;

&lt;p&gt;The New Engineering Skill&lt;/p&gt;

&lt;p&gt;As AI continues to improve, writing code becomes less valuable as a competitive advantage.&lt;/p&gt;

&lt;p&gt;The differentiator shifts toward something else:&lt;/p&gt;

&lt;p&gt;Designing systems that remain understandable, modular, and maintainable—even when most of the code is written by machines.&lt;/p&gt;

&lt;p&gt;Software engineering is becoming less about typing code and more about managing the quality of an ever-growing codebase.&lt;/p&gt;

&lt;p&gt;The bottleneck has moved.&lt;/p&gt;

&lt;p&gt;The teams that recognize this early will build software faster—not because their AI writes more code, but because their systems stay clean enough for AI to keep writing it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
