Using AI for development: the good and the bad

I have finally started to use Copilot for development work.

Its a power tool. You can do more faster with it but need to be able to understand what it produces.

It will hallicinate (in one case provide a randomly generated value rather than correct hash).

It is great at finding and suggesting fixes to race conditions in a large codebase.

Now rather than just rerunning a flaky test I ask copilot to find why it is flaky.

If you can still understand the codebase after a transformation then it can be a positive thing. Just generating code and you not understaning it is a problem.

This is where TDD practices really help. The tests can give the AI context about the problem being solved. They also act as guardrails for changes.

Leave a comment