Where is the coding assistant sweet spot?
How to get to 10X
There are times when coding assistants (CA) work really well, and times when they struggle. When they work they can be truly amazing time savers, but when they don’t they can be a time sink. Its difficult to see how this one step forward two steps back achieves 10X productivity. Maybe on an individual task, but not on average over a sustained period.
To get that huge productivity boost we’d need to hit the time savers, and avoid the time sinks. Unfortunately the tasks capable of the greatest time savings, by virtue of doing lots of work for us, are the ones that are most likely to generate time sinks when they go awry.
To optimize our productivity, we need to define tasks for the CA that are narrow enough that it is likely to complete quickly and correctly on the first try (or rapidly iterate) and that we can verify efficiently. But that leaves us with a conundrum:
A task too narrow is actually less efficient with a CA than without (e.g. renaming a method). The instructing, thinking, editing, summarizing is slower than a typical refactoring tool would be, and carries with it the possibility of error.
A task too broad will increase time sink potential.
We need to choose tasks that are narrow enough to have high success rate, and broad enough to accomplish more work faster than could be done without the CA. That’s the goldilocks zone. But even if you hit it, you’d need to string a lot of them together to get to 10X average productivity boost.