Skip to content

AI coding tools: when they started earning their keep

August 9, 2025 (1y ago)

387 views

I’ve been through the whole hype cycle with AI coding tools, from early disappointment to actually getting work out of them. What changed wasn’t the models getting cleverer. It was the tools finally being allowed to do things.

The early days: GitHub Copilot in VS Code

When I first tried GitHub Copilot inside VS Code, I wanted it to be magic. It was mostly noise. The suggestions were often irrelevant, and correcting them cost more than they saved. It was easier to write the code myself.

Cursor and Zed

Later I tried Cursor and Zed. Cursor at that stage felt like a slightly unpolished VS Code clone, though I could see where it was going. Zed was far more polished, fast and clean and genuinely pleasant to use, but the underlying idea was the same one: edit text in files.

Claude Code and OpenAI Codex

Everything changed when I started using Claude Code and OpenAI Codex. These could move files, run tests, and execute Git commands, so they behaved less like autocomplete and more like something working alongside me in my dev environment. The same capabilities turned up in Cursor and Zed later, and both got a lot better for it.

My rule of thumb: AI for the gruntwork

The biggest win has been offloading anything that doesn’t feel bespoke:

  • Boilerplate: DTOs, interface stubs, config files.
  • Unit test scaffolding, which gets me to a decent starting point fast.
  • Build pipeline tweaks, YAML edits, CI/CD job wiring.
  • Terraform and infrastructure scaffolding, which is repetitive and rules-based enough that AI rarely gets it wrong.

The creative work and the business logic stay firmly with me. That’s where context and intent matter most.

Two examples

  1. The Pride avatar post, where AI handled the image transformation boilerplate and I worked on the concept.
  2. The GitHub avatar sync post, where it automated the tedious API calls and formatting while I refined the logic.

These tools are no longer a gimmick in my workflow, but they work best when I treat them as a junior developer who’s brilliant at repetitive work. I delegate the gruntwork, keep the decisions, and review everything before it ships. Less time wiring boilerplate means more head space for the architecture problems, which is the part I actually want to be doing.

Written by Sam Ainsworth.

my face
© Sam Ainsworth 2024 - 2026. All Rights Reserved.privacy