๐Ÿค– 100% AI Code Generation: Why Engineering Practices Matter More Than Ever ๐Ÿค–

Originally published on LinkedIn

๐Ÿค– 100% AI Code Generation: Why Engineering Practices Matter More Than Ever ๐Ÿค–

Thereโ€™s almost no reason for an engineer to manually code anymore. I say that as someone who now works entirely in an ๐€๐ˆ-๐Ÿ๐ข๐ซ๐ฌ๐ญ, ๐œ๐จ๐๐ž-๐ ๐ž๐ง๐ž๐ซ๐š๐ญ๐ž๐ ๐ฐ๐š๐ฒ. I generate more code than ever before, at a higher pace, and to higher standards. But the key isnโ€™t the code itselfโ€”itโ€™s the ๐ž๐ง๐ ๐ข๐ง๐ž๐ž๐ซ๐ข๐ง๐  ๐๐ข๐ฌ๐œ๐ข๐ฉ๐ฅ๐ข๐ง๐ž around it.

Iโ€™ve been practicing with AI since it could barely string together a complex function. The approach has evolved, but hereโ€™s where I am today:

โšก ๐๐ซ๐จ๐œ๐ž๐ฌ๐ฌ๐ž๐ฌ, ๐ฌ๐ญ๐ซ๐ฎ๐œ๐ญ๐ฎ๐ซ๐ž, ๐š๐ง๐ ๐ฉ๐ซ๐š๐œ๐ญ๐ข๐œ๐ž๐ฌ ๐š๐ซ๐ž๐งโ€™๐ญ ๐จ๐ฉ๐ญ๐ข๐จ๐ง๐š๐ฅโ€”๐ญ๐ก๐ž๐ฒโ€™๐ซ๐ž ๐ž๐ฏ๐ž๐ซ๐ฒ๐ญ๐ก๐ข๐ง๐ . Agile and delivery pressure chipped away at documentation, guidelines, and structure over the years. In the new โ€œsuper-agileโ€ AI era, these foundations are more important than ever. Why? Because if theyโ€™re well-defined, AI knows where to put code, how to structure it, and what โ€œgoodโ€ looks like.

๐Ÿง  ๐ˆ๐ญโ€™๐ฌ ๐š๐ฅ๐ฅ ๐š๐›๐จ๐ฎ๐ญ ๐œ๐จ๐ง๐ญ๐ž๐ฑ๐ญ. ๐‚๐จ๐ง๐ญ๐ž๐ฑ๐ญ ๐ข๐ฌ ๐ค๐ข๐ง๐ . AI doesnโ€™t โ€œknowโ€ in the human sense. It relies on the context you provide. If your repo, guidelines, and practices give it the right signals, it will generate code that fits seamlessly. If not, it will make assumptions and thatโ€™s where risk creeps in. Every artifact, every definition, every standard adds to the context AI uses.

๐Ÿงช ๐“๐ƒ๐ƒ ๐จ๐ง ๐ฌ๐ญ๐ž๐ซ๐จ๐ข๐๐ฌ. I donโ€™t touch a codebase with AI until Iโ€™ve prompted it to generate the required testing base. In legacy systems, that means creating unit tests first, before anything. Donโ€™t tell me itโ€™s too hard or take too long, it isnโ€™t anymore, with AI thereโ€™s no excuse.

๐Ÿ“ ๐‚๐จ๐๐ข๐ง๐  ๐ฌ๐ญ๐š๐ง๐๐š๐ซ๐๐ฌ ๐š๐ซ๐ž ๐ง๐จ๐ง-๐ง๐ž๐ ๐จ๐ญ๐ข๐š๐›๐ฅ๐ž. Define them once, maintain them, and ensure theyโ€™re applied on every prompt. Not just an onboarding doc that gathers dust, or for a PR debate. Make them part of the process AI follows.

๐Ÿ›๏ธ ๐€๐ซ๐œ๐ก๐ข๐ญ๐ž๐œ๐ญ๐ฎ๐ซ๐š๐ฅ ๐ฉ๐š๐ญ๐ญ๐ž๐ซ๐ง๐ฌ ๐ฆ๐ฎ๐ฌ๐ญ ๐›๐ž ๐ž๐ฑ๐ฉ๐ฅ๐ข๐œ๐ข๐ญ. SOA, microservices, repository patterns, DI, whatever your team uses, define it. AI will apply it consistently, every time, if you give it the rules.

๐Ÿ“ ๐‘๐ž๐ช๐ฎ๐ข๐ซ๐ž๐ฆ๐ž๐ง๐ญ๐ฌ ๐š๐ง๐ ๐๐จ๐œ๐ฎ๐ฆ๐ž๐ง๐ญ๐š๐ญ๐ข๐จ๐ง ๐›๐ฎ๐ข๐ฅ๐ญ ๐ข๐ง. Donโ€™t leave feature documentation as an afterthought. Define how and where requirements, test cases, and documentation should live in the repo. When AI knows, it follows. When it doesnโ€™t, chaos creeps in.

โœ… ๐“๐ก๐ž ๐ฅ๐ž๐ฌ๐ฌ๐จ๐ง: With AI generating all the code, the role of engineering shifts. Weโ€™re no longer valued for typing lines, but for designing the processes, practices, and structures that make the code reliable, maintainable, and scalable. AI is fastโ€”but only as good as the rails we lay down for it. And all of that comes back to ๐œ๐จ๐ง๐ญ๐ž๐ฑ๐ญ.

โœจ And yes, system and architecture documentation deserves its own post. As an architect, Iโ€™ll dive into that next.

#AIEngineering #AIWorkflow #WritingWithAI