I invite you to upgrade to a paid subscription. Paid subscribers have told me they have appreciated my thoughts & ideas in the past & would like to see more of them in the future. In addition, paid subscribers form their own community of folks investing in improving software design—theirs, their colleagues, & their profession. Is “genie” just a way of staying vendor neutral? Folks have commented on my genie metaphor. Many have “gotten” what I was trying to imply—this tool will do what you tell it to do, but often in a way counter to what you actually intend. “Genie” also lets me talk generically about the class of tools without talking about any one tool. But that’s not my point. I’m happy to talk about specific tools. It’s just that anything I say today will be obsolete next week. Or maybe tomorrow. Since we’re all exploring, here’s what I’ve found so far. Strategy—A little bit of everythingBack to 3X: Explore/Expand/Extract, the tools themselves are expanding—they have found a wildly profitable niche, they are growing at unprecedented rates, but they are encountering unexpected bottlenecks to growth. Our use of genies is in exploratory mode (it’s a little confusing that we also use genies to explore project ideas—who said this was going to be easy). We augmented coders know we’re onto something but we’re still working out what. The 3X strategy advice is simple:
Thanks to today’s sponsor Unblocked. When I was a young programmer we were berated for not writing more documentation, but that documentation always turned out to be useless by the time we needed it. That experience was my impetus for writing about communicative code (Smalltalk Best Practice Patterns & Implementation Patterns). Unblocked meets the same need in the same moment--I have to change this code but what is going on? Unblocked answers this question with less effort on the part of the original programmer & the answers are always up-to-date. ToolsHere is my experience of the tools so far. The list is by no means comprehensive (comment to suggest other tools I have missed, please). Again, you should be doing your own exploring. Augment CodePros: integrated with VS Code, which I’m already familiar with. Professional user interface. Subsidized ($30/month). Creates its own context from large projects (Augment Code’s major selling point). Cons: uses Claude on the backend so the decisions the genie makes are only so good. I find the genie’s propensity to delete tests absolutely infuriating & trust destroying. This can’t be said to be Augment’s fault at this point but it absolutely must be fixed. Disclosure: Augment Code sponsors this newsletter. CursorPros: VS Code-like. Similar interface to Augment Code (but on the other side, which I’m sure is configurable but 🤷), subsidized (you don’t pay per token). Cons: Less aware of context than Augment. Genie has similar um… proclivities. GitHub CopilotThe Ancestor. I haven’t used the latest but it’s worth exploring. IntelliJPros: actual refactoring tools! But sadly, genies don’t seem to know to use them. Augment works inside IntelliJ, which is how I used it mostly. I didn’t use IntelliJ’s native genie much since I was focused on Augment. It’s worth exploring further. Claude CodeA terminal interface? Really? What’s next, clacking teletype noises? Visually simulated paper tape? Virtually magnetizing sections of a rotating drum? I’m finding the Claude Code genie a bit better than others, but still frightfully prone to volunteering code I don’t want it writing. Roo CodeI like the multiple personality model. However, the UI is clunky for me. Roo keeps asking me if it can do whatever, read a file. I feel like a rat earning pellets by pressing the “go” button. ConclusionI see difference day-to-day in the performance of the same tools, and in the relative performance between tools. Don’t lock in. Keep exploring. Keep giving the vendors feedback—it’s good for all of us. You’re currently a free subscriber to Software Design: Tidy First?. Buying me more time to think & write means more thoughts & ideas for you. |