AI coding agents are amazing, but lean on them too hard and your engineering skills atrophy. Aviation already lived through this. Here's what we can steal from how they fixed it.
Their findings are uncomfortable: code churn (lines reverted or rewritten within two weeks of being committed) has roughly doubled since the pre-AI baseline.
Whether you are hand crafting code or using AI tools, you goal should be to solve the problem in front of you so well, that you don’t have to touch that part of the code for years. It’s not always possible, but that’s a good goal to strive for.
A better way to leverage agentic coding imo is:
Pretend you’re a senior engineer and you hate this implementation. What would you do better
Find the edge cases in this PR and write test cases to prove them
Quiz me on my understanding of this part of the codebase
Here are very detailed descriptions of real user flows. How can we design tests to cover this behavior
Etc
There are a lot of idiots that just put Claude on autopilot and merge everything without reading the code. Thats like if the airlines got rid of the pilot and only had autopilot in an empty cockpit. Of course things are gonna go wrong
90% of the time the garbage spat out by AI agents takes longer to turn into respectable code than it’d take to code it by yourself. There’s also the prompt black hole where by the time you’ve written a spec and prompt air tight enough for the bots to produce what you want, the effort is almost equivalent to doing the coding yourself and using the LLM just for boilerplate generation. But the benefit of having done it yourself is that you have developed a better understanding of the issue and have been able to make all the compromises and adjustments as you were working. Unlike with agent code where the whole thing was written purely based on your assumptions you made in the prompt and now you have to discover any issues those assumptions caused and rectify retrospectively. Overall not only is the agent generated code process less flexible, it is not any faster for anything that’s not the simplest case, it will obfuscate bad design and assumptions in design, you will be less likely to catch mistakes or unwanted side effects, and you will overall have poorer understanding and intuition about the final solution.
Whether you are hand crafting code or using AI tools, you goal should be to solve the problem in front of you so well, that you don’t have to touch that part of the code for years. It’s not always possible, but that’s a good goal to strive for.
A better way to leverage agentic coding imo is:
There are a lot of idiots that just put Claude on autopilot and merge everything without reading the code. Thats like if the airlines got rid of the pilot and only had autopilot in an empty cockpit. Of course things are gonna go wrong
90% of the time the garbage spat out by AI agents takes longer to turn into respectable code than it’d take to code it by yourself. There’s also the prompt black hole where by the time you’ve written a spec and prompt air tight enough for the bots to produce what you want, the effort is almost equivalent to doing the coding yourself and using the LLM just for boilerplate generation. But the benefit of having done it yourself is that you have developed a better understanding of the issue and have been able to make all the compromises and adjustments as you were working. Unlike with agent code where the whole thing was written purely based on your assumptions you made in the prompt and now you have to discover any issues those assumptions caused and rectify retrospectively. Overall not only is the agent generated code process less flexible, it is not any faster for anything that’s not the simplest case, it will obfuscate bad design and assumptions in design, you will be less likely to catch mistakes or unwanted side effects, and you will overall have poorer understanding and intuition about the final solution.