# AI Writes "Better" Code Than a Developer **TLDR**: Using AI to write code shifts software development from an artistic craft to a systematic process. It’s time to move away from pursuing perfection and instead focus on efficiency and iteration. Trust the process. ### 80% Quality is Good Enough AI-generated code might be 80% as good as code written by a skilled developer. However, the outcome is still functional and "good enough" for many purposes. Instead of spending days writing code manually, developers can use AI to generate functional code in minutes. Starting with AI-generated code allows for rapid rewriting and iteration. AI’s strengths—speed, iteration, and efficiency—mean that it can quickly improve its output over multiple iterations. This iterative process helps AI quickly become better than developer written and managed code. Rapid cycles of refining code ultimately yield reliable and effective solutions while dramatically reducing the time and effort involved. For many tasks, the extra 20% quality that a developer could add is unnecessary. AI can do the job well enough, enabling developers to focus their energy on more valuable challenges that require human creativity and insight. Additionally, manually written code often comes with significant maintenance costs—human-created codebases can be inconsistent, harder to refactor, and require ongoing oversight. AI-generated code, on the other hand, can be quickly iterated on and improved without the burden of extensive manual maintenance. Many developers still think their manually written code is superior, but even if AI falls short, the opportunity cost of manual perfection is often unjustifiable. By taking on repetitive, predictable work, AI frees developers to concentrate on "alpha areas"—those tasks that provide the highest competitive advantage. Instead of perfecting low-impact components, developers can focus on creative, strategic work that truly drives differentiation. ### AI is the New Competitive Standard In the modern tech landscape, AI has established a new performance benchmark. Just like investors expect a certain Internal Rate of Return (IRR) from investments, AI sets a standard for productivity that companies must aim to meet. The human role is now to leverage AI as extensively as possible, creating processes that maximize efficiency and scalability. Once foundational processes are automated by AI, developers can shift their focus to tasks with "alpha"—those high-value, strategic activities that provide the most competitive differentiation. ### Humans Should Focus on Alpha Developers should focus on the aspects of development that are crucial to product success and competitive differentiation. Here’s how to identify alpha areas effectively: 1. **Assess Competitive Advantage**: Alpha areas are those that most significantly contribute to the product's market differentiation. Enhancing a unique recommendation system or optimizing an innovative core algorithm is more valuable than focusing on routine backend operations. 2. **Evaluate Strategic Impact**: Prioritize tasks that have long-term effects on strategic goals. Areas that enhance user retention, boost core business capabilities, or foster innovation are often alpha areas where human insight can add significant value. 3. **Opportunity Cost Analysis**: Weigh the opportunity cost of spending time on a particular task. If perfecting a feature brings limited returns, it’s likely not an alpha area. Developers need to identify which features provide diminishing returns and prioritize efforts accordingly. ### Decision-Making Process: AI vs. Developer-Written Code To effectively decide whether AI or a developer should write a piece of code, developers need to adopt a mindset shift: from "let me write this code" to "how can AI write this code for me?" This perspective is key to maximizing efficiency and focusing human talent on what truly matters. ### Heuristics: 1. **AI-First Mentality**: Assume AI can write the code. Always aim to have AI write, automate, and manage code based on a requirements or specifications document. Start with AI whenever possible. 2. **Quality Tolerance Assessment**: Determine the acceptable level of quality. If functionality is the primary requirement and AI-generated code works, write tests to verify it and move forward. For many internal tools or non-critical functions, AI's output will suffice. 3. **Evaluate Opportunity Cost**: Ask yourself, “Is my time better spent on this task, or could it be more valuable elsewhere?” If manually writing the code diverts attention from irreplaceable creative or problem-solving work, delegate it to AI. 4. **Prototype vs. Production Quality**: Use AI to quickly generate code for prototyping, testing, and validation. Human developers can later refine and polish this code if it needs to be taken to production quality. This approach ensures that only the most promising concepts receive detailed attention. 5. **Iterate with AI**: Begin by allowing AI to generate the initial version of the code. Assess if it meets the requirements or needs further refinement. Tasks that are highly iterable—meaning they can go through quick, repeated refinements—are well-suited for AI. AI’s ability to iterate rapidly, with developer guidance, leads to faster and often better outcomes. ### A New Definition of Quality Quality is still important, but the definition of quality has shifted. Today, quality means continually improving the AI processes and refining the workflow to make the code generation and iteration as effective as possible. Quality is not just about the code but about the continuous improvement of AI systems and processes to make them more effective over time.
Posts
