Source URL: https://simonwillison.net/2025/Jun/10/ai-assisted-coding/#atom-everything
Source: Simon Willison’s Weblog
Title: AI-assisted coding for teams that can’t get away with vibes
Feedly Summary: AI-assisted coding for teams that can’t get away with vibes
This excellent piece by Atharva Raykar offers a bunch of astute observations on AI-assisted development that I haven’t seen written down elsewhere.
Building with AI is fast. The gains in velocity are important, because when harnessed correctly, it allows teams to tighten feedback loops with users faster and make better products.
Yet, AI tools are tricky to use. Hold it wrong, and you can generate underwhelming results, worse still, slow down your velocity by drowning your project in slop and technical debt.
Atharva notes that AI is a multiplier: the more expertise you have in software engineering, the better the results you can get from LLMs. Furthermore, what helps the human helps the AI.
This means food test coverage, automatic linting, continuous integration and deployment, good documentation practices and “clearly defined features, broken down into multiple small story cards".
If a team has all of this stuff in place, AI coding assistants will be able to operate more reliably and collaborate more effectively with their human overseers.
I enjoyed his closing thoughts about how heavier reliance on LLMs change our craft:
Firstly, It’s less valuable to spend too much time looking for and building sophisticated abstractions. DRY is useful for ensuring patterns in the code don’t go out of sync, but there are costs to implementing and maintaining an abstraction to handle changing requirements. LLMs make some repetition palatable and allow you to wait a bit more and avoid premature abstraction.
Redoing work is now extremely cheap. Code in the small is less important than structural patterns and organisation of the code in the large. You can also build lots of prototypes to test an idea out. For this, vibe-coding is great, as long as the prototype is thrown away and rewritten properly later. […]
Tests are non-negotiable, and AI removes all excuses to not write them because of how fast they can belt them out. But always review the assertions!
Via lobste.rs
Tags: ai-assisted-programming, llms, ai, generative-ai
AI Summary and Description: Yes
**Summary:** The text discusses the impact of AI-assisted development on software engineering practices. It highlights the importance of adopting strong foundational practices to maximize the benefits of AI tools, particularly LLMs, while emphasizing the need for effective testing and project management to avoid pitfalls.
**Detailed Description:** The piece by Atharva Raykar provides insightful observations about AI-assisted development that are particularly valuable for professionals in software engineering and AI security. The key points can be summarized as follows:
– **Efficiency Gains:** AI tools can significantly accelerate the software development process, enabling tighter feedback loops with users and leading to improved products.
– **Risks of Misuse:** While AI can be a powerful asset, incorrect usage can lead to poor results and increased technical debt, ultimately hindering velocity and project success.
– **Role of Expertise:** The effectiveness of AI coding assistants, especially LLMs, is heavily influenced by the user’s level of expertise. More skilled software engineers can leverage these tools more effectively.
– **Impact of Best Practices:** Establishing good practices in test coverage, linting, CI/CD, and clear project features enhances the AI’s capabilities, allowing it to collaborate more effectively with human developers.
– **Changing Development Paradigms:**
– Over-reliance on complex abstractions may lessen, as LLMs can handle repetitive tasks more efficiently, thus allowing developers to focus on structural patterns and larger code organization.
– Prototyping becomes easier and cheaper, fostering a culture of experimentation, with the understanding that prototypes can be discarded and rebuilt.
– **Emphasis on Testing:** Tests are crucial, and with AI’s ability to generate tests quickly, there’s no longer an excuse to forego them, although human oversight remains essential.
These insights are relevant for security and compliance professionals as they navigate the evolving landscape of AI applications in software development. Ensuring secure practices in deploying AI tools, safeguarding code integrity, and maintaining rigorous testing standards are critical to preserving operational security and enhancing compliance measures within development environments.