Claude
I have been using Claude Code (and infrequently Codex) fairly frequently over the last few months on a variety of side projects. Some personal reflections:
These tools are extremely capable. My most recent project is a fairly complex 20k LoC machine-learning focused project. I have perhaps written 0.5% of the code by hand, the rest is entirely model generated. I am happy with the quality of the code, it is structured well and seems fairly close to what I would have written.
Usefulness is highly correlated to my own competenency. During a different project (recent, but prior to the latest batch of model releases) I tried and ultimately failed to implement a simple GUI for a virtual version of an esoteric card game. In comparison to the ML-based project I have no experience with this kind of thing, I don't know the libraries, and what is or isn't possible, and can't precisely specify what I want the models to do.
The activation energy to start anything new is much much lower - Claude can whizz through setting up a basic repo, deal with the hassle of installing dependencies, getting weird stuff to compile etc. really quickly and easily, which is a huge quality of life improvement.
No more beautiful flow state as I zoom through the codebase, plans held delicately in my head as code flows straight from brain to screen. The juddering stop-start nature of prompting the agent and waiting an indeterminate amount of time to review the changes is significantly less satisying.
I believe that on a good day, without distractions or interuptions, it would take me a comparable or shorter amount of time to implement a small or medium complexity change (touching a handful of files) by hand as it would to type out a specific enough instruction to the model and wait for it to complete. The advantage of the former being that the code would end up in the exactly desired state, the advantage of the latter being that I could be doing something else whilst the tokens whirred.
Claude is brilliant at writing throwaway scripts for benchmarking, exploration or visualisation. The kind of things that are always very useful to do, but rarely actually done.
I have not yet found a good ergonomic way of reviewing and interacting with the changes Claude generates that fits in with how I like to code (tmux+vim). The way that Cursor does it seems great, but I don't want to use a VSCode fork.
I used to feel that my programming skills (particularly in Python) had a high value. It would be wishful thinking to not accept that they have not significantly depreciated over the last couple of years. It seems that for now my more high-level architectural skills and experience might be holding their value (some would claim they have appreciated), but if this is true I'm not sure how durable this is.
I personally can't see any slowdown in the rate of improvement of these tools. It's mad to think that we're less than four years from the release of ChatGPT. It is hard to imagine what could change over the next four years.