Strange, I’ve found the opposite. My current gig has a huge existing legacy codebase with a lot of tests, though. Well, a lot of tests for some segments anyway.
The AI tooling does well with suggesting new methods that look a lot like existing methods. For refactoring work and limited-scope changes (e.g. integrating with a well-documented external API), it’s pretty good.
It still gets trapped in hamster wheels once in a while, but hey, that’s why I keep an eye out and don’t blindly merge everything it suggests.
Honestly, I’ve found it does well in existing codebases that have well established idioms and design patters that can be reproduced, or component written to be extensible so the agent has pre-existing rails to extend functionality, instead of trying to design something that has well established idioms and needs to be extensible.
AI is particularly bad changing existing code. Good luck, lol.
It works best creating new, small things from scratch, like boilerplate or prototypes. At least that’s what we found out at work.
Strange, I’ve found the opposite. My current gig has a huge existing legacy codebase with a lot of tests, though. Well, a lot of tests for some segments anyway.
The AI tooling does well with suggesting new methods that look a lot like existing methods. For refactoring work and limited-scope changes (e.g. integrating with a well-documented external API), it’s pretty good.
It still gets trapped in hamster wheels once in a while, but hey, that’s why I keep an eye out and don’t blindly merge everything it suggests.
Honestly, I’ve found it does well in existing codebases that have well established idioms and design patters that can be reproduced, or component written to be extensible so the agent has pre-existing rails to extend functionality, instead of trying to design something that has well established idioms and needs to be extensible.