Usefulness depends on intended job to be done. A hair dryer isn't very useful at drying clothes.
If someone spent a lifetime mastering woodworking with hand tools, and then was shown a couple very early rudimentary power tools (lacking safety features, crude features, etc) they would rightly conclude they weren't useful. The artisan can do better work faster with less risk of dismemberment without them.
Prior to LLMs, the world's demand for good software was bottlenecked by access to competent software engineers. The people who want software just want it, they don't care about the craft. They have a different job to be done than the engineer.
An example this reminds me of is a jobs to be done theory thought exercise:
Two different first time home owners need to store yard working tools in their backyard, and determine they need a shed. The first one cares most about minimizing the time it takes to get the shed. The second one has some special constraints to deal with AND also wants to start developing their amateur construction skills. They both need sheds, but they have different values, so:
- the first one buys a shed-kit made of plastic panels that can easily be assembled in 20 minutes.
- the second one buys a power saw, power drill, tool belt, saw horses, lumber, screws, metal roofing, etc and builds a custom shed from relative scratch over a few weekends.
Another example is getting take out vs cooking the meal yourself. There are many many examples.
LLMs are already useful to many. They are also not useful to many others. To assume they aren't useful to anyone just because they aren't useful to you is a sign of absent cognitive empathy. Not acknowledging that other people have other priorities and values they are equally valid to your own.
The author of the article mainly talks about agentic programming, code generation, and reasoning. Ans very rightly identifies a big problem with agentic programming, in my experience. If developers can't maintain the software without AI, it's doubtful they can steer AI to maintain it either. Maybe this is not true and we can tell AI something like 'reduce the number of lines of code' until the essential software is exposed and pared down to a quantity and modularity that humans can then participate.
No doubt, most of the value creation is outside of creating software. But if Nvidia and Anthropic do succeed in making better hardware and better software, then the positive reinforcement loop does seem like it could take off. And coding is a big part of that.
Maybe we don't need to understand the code at all? Hard to fathom.