Tools
AI speeds up my work. It does not replace my judgement
I start by understanding the problem, designing the solution and knowing the technologies involved. AI comes after that, in the parts where it shortens the path.
What changed is not that I write less code. It is that the gap between having a question and having something workable to reason about got much shorter. That does not remove the need to know what to ask, or to check whether the answer holds.
If an AI produces a solution I do not understand, I do not consider the work finished.
I do not do vibe coding: a change is not good because it worked on the first try. I use it as an engineering tool, and I answer for what comes out of it exactly as if I had typed every line — because in production it makes no difference who wrote it.
Detail
Where I use it, and where I do not
Research
- Exploring implementation options before committing to one
- Summarising long documentation to see whether it is worth reading in full
- Hunting for edge cases I had not thought of
Where I draw the line: I check the answers against the documentation and against what the system actually does. A model will describe an API that does not exist with complete confidence.
Development
- Repetitive code: migrations, forms, transformations between shapes
- First drafts of tests, which I then rework
- Complex queries and mechanical refactors
Where I draw the line: Architecture, abstractions and what actually ships are mine to decide. If it produces something I do not understand, the work is not finished.
Review
- Handing it a change and asking it to find the problems
- Pressure-testing a decision I have already made, to see what I missed
Where I draw the line: I review performance, security, maintainability and how it fits the rest of the project. It proposes; I decide.
Then and now
What changed in the process
Before
- Search the docs
- Try it
- Get it wrong
- Debug
- Build
- Review
Now
- Understand
- Design
- Ask
- Verify
- Build
- Test
- Review
Two steps appear that were not there before: ask and verify. The second one is what matters. Without it, all you get is being wrong faster.
An example from this site
The quality gate auditing this site was built exactly that way: I decided what had to be checked and why, and AI sped up writing the checks. The first run found a real bug — the social image was missing on eleven of twelve routes — and later a performance run surfaced another that the gate itself did not cover. Neither was solved by the tool on its own: both needed someone to read the output and understand what it meant.
View the project