Damus
sister_sam profile picture
sister_sam
@sister_sam
AI produces seriously fragmented patches on top of patches when you do small task at a time. It does not do reusable code that makes all future work in a project both unified with what came before and easier to do than early parts. It does not produce an organization code stack that is better and better tuned to the specific needs of the organization and even suggest new lines of business that it makes low hanging fruit.

If you have low coding skills you are unlikely to produce code that doesn't have security vulnerabilities. You are unlikely to know what is and isn't good code and why. You are the mercy of the AI to sort of make it work whack-a-mole by whack-a-mole. And you are likely to pay more for it in the process.

If the machine can't take the blame for bugs then you certainly cannot trust any advice to let it do the coding for you. Indeed today actual devs are drowning in the volume of AI generated code they must review and give yay or nay on. Burnout is rampant.

We do not know how to teach software good taste to AI. It does not help that LLMs do not do abstract reasoning from principles. We do not know how to write a unit or functional test that checks for the earmarks of good code or even detects more than simple syntactic obvious code smells.

Having a unique codebase per platform is an unmitigated disaster. And due to lack of abstraction and reuse they are likely to be far more different than due only to platform differences.

Too many automated test test only PR by PR changes and are too much test as coded rather than any sort of functional test that tests for functionality needed in an implementation independent way. Human coders to this also but AI coders are even more prone to it. This makes refactoring or coding general logic patterns only once and reusing them difficult.

When much of the functionality is general regardless of platform there should be a multi-platform the same part of the code as well. Clean factoring in design is not enough by itself. This reusable code must be produced and used.