AI coding - From Tactics to Strategy
One of the pitfalls of being an early adopter of AI-coding tools like Copilot is that you anchor on early patterns, and don’t push the model hard enough today. For example, early Copilot usage was focused on line, paragraph or simple method completion. It popularized “comment-oriented” programming, where you’d start by writing a somewhat detailed comment and Copilot would generate it for you.
The overall philosophy was still one of hand-writing code, but with lots of help from the model. I call this the tactical era of AI-driven coding, based on roughly GPT-3.5/4-class models.
We’re now firmly in the strategic era of AI-driven coding, with agent-modes widely available in Cursor and VS Code, and even on the command-line with Aider, Claude Code etc.
This enables vibe coding, and moving the level of programming even higher in abstraction, encouraging starting with specs. Another mode is test-driven development: “Claude is really good at test driven development, so we often ask Claude to write tests first and then ask Claude to iterate against the tests​”.
The philosophy is to treat hand-editing code (“artisanal hand-crafted commits”!) as a last resort. Context is king! The more context, the better. It could be specs, background info, existing code, library documentation, or even multi-model input like images, video or sound.
The role of the programmer is shifting towards guiding strategic aka agentic coding with the right context.