Coding by AI Experience
In my current company, we recently started an exciting new project called WorkBrain. Its goal is to use customer activity data to generate new insights and help people work more efficiently. The entire project has been built with AI assistance—in fact, I have not written a single line of code myself. Instead, I provide guidance to multiple AI coding agents (Copilot), review their output, and verify their work. Along the way, I have gained many valuable lessons. This blog is an attempt to capture and share what I have learned.
- Pre-AI Software Engineering Practices Still Matter
The software industry accumulated decades of hard-earned experience before the AI coding era, and most of that knowledge remains highly relevant today. Project management, for example, is still critical—the only difference is that some of your team members are now AI agents.
If a project follows a traditional waterfall approach and is built layer by layer, many of the same challenges we faced in the past will still arise. On the other hand, agile practices such as Scrum and user stories remain just as valuable as ever. Delivering incremental functionality in every sprint helps smooth the development process, increases the likelihood of success, and improves team efficiency, even when much of the code is generated by AI.
- Balancing Perfectionism and Pragmatism in Code Reviews
A highly perfectionistic senior engineer can unintentionally become a bottleneck in an AI-driven project. If they are constantly dissatisfied with pull request quality, request extensive revisions, or insist on introducing standards that do not exist elsewhere in the codebase, development can slow dramatically.
This makes it especially important to establish clear coding standards from the beginning. Code review guidelines should be well documented and provided to AI coding agents as part of their instructions so they can generate code that aligns with team expectations from the start. Once consistent standards are in place, it becomes much easier to identify and address code that deviates from them.
- Verification Is Expensive
While AI can generate code quickly, verifying that code is far from free. AI often produces solutions that differ from what you originally intended, and reviewing those differences takes time and effort.
The key is to make it as easy as possible for the AI to succeed and for yourself to validate its output. Keep pull requests small and focused. A common misconception is that you can write a comprehensive design document and ask AI to generate an entire system from it in one shot. In practice, the larger the scope you give the AI, the more issues it tends to introduce, and the more expensive verification becomes.
- Specification-Driven Development
Focus on clearly defining what the software should do, not how it should be implemented. Describe the desired functionality and write precise acceptance criteria. With clear requirements, AI can often generate the implementation and even validate its own work against the specified criteria.
Do not confuse requirements with implementation details. When priorities become misplaced, you may end up spending significant time dealing with low-quality AI-generated code. Clear specifications and well-defined acceptance criteria are often the most effective way to guide AI toward producing reliable results.
Written by Binwei@Shanghai