· ai, engineering, leadership
How AI refines software development teams
Most of the debate about AI in software is about whether it will replace developers. In the teams I’ve worked with, the more useful question is what it changes about how a team works together. My short answer: AI takes friction out of the work, and in doing so it exposes how good the team’s habits really are.
Where the time actually goes
Writing new code was never most of the job. A lot of an engineer’s week goes to reading unfamiliar code, writing boilerplate, chasing a failing test, updating docs, and waiting on review. AI tools are good at exactly this layer:
- Reading code. Asking an assistant “where is this value set, and who calls it?” across a large service is faster than grepping through modules by hand.
- Scaffolding. DTOs, mappers, migrations, test fixtures, and CI config are predictable, and a model produces a solid first draft in seconds.
- Tests. Generating edge-case tests for a function you just wrote is cheap now, so there’s less excuse to skip them.
- First-pass review. An automated reviewer catches null checks, missing error handling, and inconsistent naming before a human looks, so human review can focus on design.
None of this is glamorous, but it’s where the hours went. Getting them back shows up directly in delivery dates.
Standards matter more, not less
An assistant writes code that looks like the code around it. If the codebase is consistent, well-tested, and clearly structured, the output is too. If it’s a mix of five styles and no tests, the model will happily produce a sixth style with no tests, faster than any person could.
So the teams that benefit most are the ones that already invested in:
- clear module boundaries and naming conventions,
- a fast, trustworthy test suite,
- written decisions (ADRs, READMEs, a short
CONTRIBUTING.md) that both people and tools can read.
That documentation used to be “nice to have.” Now it’s context the tools run on.
The role of the senior engineer shifts
When producing code gets cheaper, judging code becomes the scarce skill. Senior engineers spend less time typing and more time on the decisions a model can’t make on its own: where a service boundary belongs, what failure modes matter, what we should not build. Reviewing AI-assisted changes well means asking “is this the right change?” and not only “does this compile?”
For junior engineers, AI is a patient pair programmer that explains unfamiliar code at any hour. The risk is that they accept output they don’t understand. The fix is the same as it always was: review, pairing, and asking them to explain their changes, not just ship them.
What I’d recommend to a team starting out
- Start with the boring work. Tests, docs, migrations, and review checklists. Low risk, fast payoff.
- Write down your conventions. If a new hire couldn’t follow them, neither can a model.
- Keep humans accountable. Whoever merges the change owns it, whoever or whatever wrote it.
- Measure delivery, not lines of code. Lead time, review turnaround, and escaped defects tell you whether it’s working.
AI doesn’t make a weak team strong. It makes a disciplined team faster, and it makes the gaps in an undisciplined one visible sooner. That’s a refinement worth having.