This has always been the fun part of programming to me. I know most people hate it, but I really don’t mind being on-call (ok I hate being woken up) and fixing weird bugs that users run into. All these small edge cases that people run into because reality is odd. Of course I’m in scientific programming so that probably colors my view.
It’s always a little disappointing to me when I think I’ve run into something unique but it ends up being user error or something.
I do think people are seeing useful results, but it’s at least several orders of magnitude less than what is claimed.
My metric is: how much code that I create today do I depend on in 3 months (incl learnings and one off data pulls etc.) and its waaay less than what I generate. A lot of it is frankly noise.
It incentivizes work that sounds impressive to laymen. Actual work tends to be technical and might not sound super exciting.
If 20 years ago, a politician had to get up and explain that we were spending millions of dollars training computers to recognize a strawberry, likely the entire field of machine learning would not exist today.
Well the √t stuff looks like nonsense or way overblown, existing tools already do similar things, there’s pretty much a single commit with no follow up commits etc etc.
At least where I am we can’t and shouldn’t know all the requirements of a project beforehand^. Every project is an iterative learning process between the users, product and engineers. The problem is if everyone uses AI to replace their thinking it breaks that process and no one learns anything.
^ I say shouldn’t because I work in research engineering. Most of the needs of our users are pretty unique. We’ve had people come in and try and specify every piece of work, -and ended up building a crud app no one wanted or used.
At least for some people I know it’s not necessarily because there’s pressure from leadership, but because it’s funny that the org spends like $15,000/mo writing HP fanfic or whatever
This is a good way of putting it. I ship individual features faster, but the end to end process of shipping software has remained the roughly same because the vast majority of my time is building the “theory”.
Conversely, the value of software has dropped to 1/10 of what it was before Claude code existed.
I’m being glib, but there’s a whole class of software (eg simple crud apps) that just don’t have any marginal value anymore. So it doesn’t matter if it’s 10X faster or 100X faster. 100 x $0 is still 0.
Meetings are too easy to game. I worked with a bunch of new managers from LEGACY_CORP and learned the extremes of how to BS.
As an example, if you think there might be any sort of pushback, just never stop talking. Once a manager talked for 35 straight minutes to answer a question on an unpopular decision. By the end there were no follow-ups because everyone was too confused and checked out to care.
1. Everything is specified, written and tested by me, then cleaned up by AI. This is for the core of the application.
2. AI writes the functions, then sets up stub tests for me to write. Here I’ll often rewrite the functions as they often don’t do what I want, or do too much. I just find it gets rid of a lot of boilerplate to do things this way.
3. AI does everything. This is for experiments or parts of an application that I am perfectly willing to delete. About 70% of the time I do end up deleting these parts. I don’t allow it to touch 1 or 2.
Of course this requires that the architecture is setup in a way where this is possible. But I find it pretty nice.
Case in point, just this morning I contributed a one-line change to an open source repo and the CI started failing.
I asked Claude (Opus High Effort) and pasted in all the logs. I went back and forth and it very confidently made over 20 separate changes in the repo, none of which fixed the issue. Eventually I stepped in and figured out it was a versioning issue.
I fear what would happen if I ran “10 agents for 10 days” on this simple issue.
It’s always a little disappointing to me when I think I’ve run into something unique but it ends up being user error or something.