Part of “Conquering Entropy”
Most of the issues I person pinch AI-generated codification are related to trust. Do I spot the personification who wrote this ticket? Do I spot that the technologist who opened this PR understood the summons and guided the coding supplier to instrumentality it properly? Do I spot the coding agent’s implementation? Do I spot our trial suite to drawback regressions earlier they deed production? Do I spot our CI/CD to decently build, test, and deploy our change? Do I spot our observability setup to alert america erstwhile the ai-generated codification breaks production? Do I spot the AI SRE (Site Reliability Engineer) to decently diagnose the rumor and thief america mitigate it? Do I spot GitHub not to person an incident erstwhile we request it the most?
Trust is difficult to gain and easy to lose. So I deliberation it’s important to foster a civilization of spot wrong the engineering team. You must spot engineers to do the correct thing.
Encouraging Accountability
I find it adjuvant to intelligibly pass thing for illustration this: “You are accountable for what you ship. If this breaks accumulation and you authored the PR, you should beryllium location to hole it.”
If engineers are made accountable for the codification they ship, they should beryllium fixed the agency to nutrient it pinch their preferred methods. Even if you’re not AI-pilled, you person to admit that AI agents do make a batch of codification very fast. Code still needs to beryllium generated, and the anticipation is that now it’s inexpensive to make a batch of it. To header pinch this, engineers must beryllium allowed to put immoderate measures successful spot to guarantee the value of the codebase does not degrade.
In a patient organization, the engineers should spot each different to only push codification of reasonable quality. I opportunity reasonable because it’s not pragmatic to obsess complete value and effort to vessel ever 100% cleanable code. Even earlier coding agents astir codification was already a buggy mess! So it’s understandable erstwhile a “good enough” solution is delivered. Often, we waste and acquisition velocity of transportation for quality, and incur immoderate method debt.
Here are immoderate practices I person recovered useful to facilitate engineering accountability successful this caller era of coding:
Coding Guidelines
Have a clear exertion strategy: return immoderate clip to determine what matters for your codebase and put successful clear guidelines. Both for humans and for the coding agents. Even if the humans don’t publication the guidelines, their coding agents will, and will travel them (mostly).
Deterministic Tooling
Make dense usage of deterministic tooling to guarantee codification quality. Typed languages, linters, dormant codification detection, information scans, CI/CD, and truthful on. All of these devices existed earlier coding agents and thief america successful the conflict against slop. (Stay tuned for a follow-up station pinch circumstantial recommendations!)
Enforce Small PRs
Empower the engineers to cull unreviewable PRs. If possible, codify this criteria truthful immoderate unreviewable PRs are instantly rejected. Of course, make judge to time off room for exceptions.
Own the Tests
Write trial cases by hand. This is akin to the occupation of a business analyst. Deeply deliberation astir the characteristic and specify due trial scenarios. Discuss this wrong the team. Coding agents tin instrumentality the tests, but they should beryllium defined by humans.
Taste successful Product
Work successful tandem pinch merchandise to person a coherent merchandise vision. It’s very easy to spell crazy pinch AI and instrumentality immoderate characteristic comes to mind. Make judge you only instrumentality useful features that really bring worth to users!
Prototype
Throwaway code. Since codification is very easy to make now, it’s a bully opportunity to effort different approaches. Don’t conscionable fto the coding supplier make 1 solution. For example, effort 3 radically different approaches and prime the 1 that champion fits the problem and existing system.
Focus connected the Outcome
Be pragmatic astir the result. Sometimes the codification is not the result. The consequence is simply a report, aliases a instrumentality that helps you execute thing else. For cases for illustration this the value of the codification is not that applicable arsenic agelong arsenic the consequence is useful.
English (US) ·
Indonesian (ID) ·