Hacker News new | ask | show | jobs
by FloorEgg 12 hours ago
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.

3 comments

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.

> Maybe we don't need to understand the code at all? Hard to fathom.

Doesn't seem too crazy. This is the life of every customer (and most managers) of a software dev. To fathom it, think of yourself as the unicorn customer that can define projects, specs, and methods with competence, and even make architectural calls, with the AI being the dev.

To me, this is the incredibly clear eventuality of our profession, within the next 5-10 years. You writing code will be the same as most devs who try to hand write ASM: you will very very rarely be able to beat the compiler at its own game. And, just as now, there's a very small chance you'll go read what compiler produces.

I'm a decent full stack web developer, who knows almost nothing about kernel architecture or machine code. Before LLMs I could make a functional app, despite not understanding several layers the app ran on top of.
Those layers are deterministic though...
Determinism is NOT a requirement, as proven by your existence of software devs. Again, shift the perspective to the people you work for, or to your fellow dev. They get along fine with you, who are also not deterministic. They check your output by setting requirements that you can prove are true in a way that satisfies them. You yourself guarantee correctness by tests, because you learned long ago that you yourself are not to be trusted, and are not capable of writing 100% correct code on first pass, except for the most trivial tasks. Your lack of determinism is built into your workflow, with tools like linters, code analysis, etc, to help deal with it all.
Do you think this necessarily sends us as a society (as a species) towards a future where we eventually stop understanding technology and science itself?

Like in Asimov's Foundation or Liu Cixin's 'Taking Care of God'.

Maybe we need two tiers of technology. Human in the loop up to the point of AI, and then the AI layer which depends on the human stack.

Not really. It is true that supply chain attack concerns has put increased pressure on compiler makers to make compilers deterministic, but historically they haven't been, generally speaking. It was long thought that determinism didn't matter. Where compilers do differ from LLMs is that compiler output correctness is binary, while LLM output correctness is probabilistic.

However, compilers have long suffered from inputs not being correct, so we have put a lot of effort into finding ways to validate that the input is correct relative to the output. Which turns out works just as well for LLMs, to the point that validating that the input is correct relative to the output ends up offering the same assurances for both compilers and LLMs alike. Compiler output correctness alone is not actually all that beneficial in practice because, again, it is only as useful as the correctness of the input and inputs are not trustworthy without "double entry accounting" to go along with it. Once you have "double entry accounting" in place then you already have what you need to turn LLM correctness into being binary as well.

I agree. Although the author didn't delve into it he seems to hint that it may not prove useful enough to the companies that spend money on tokens to justify the huge investments in AI. For me yes, it's very useful. But what remains to be seen is is it useful to the entities and people willing and able to spend huge amounts of money in AI in exchange for increased productivity or profit... And if so is it useful to generate a cash return on the huge cost investments in datacenters that AI demands
> A hair dryer isn't very useful at drying clothes.

More useful for drying clothes than a blender would be though. Or an LLM for that matter. No real point here I just thought it was an interesting example you used because it's still something that does work if you're lacking better options

> Another example is getting take out vs cooking the meal yourself

Interesting analogy

Buying ingredients and Cooking for yourself is almost guaranteed to be cheaper and healthier for your body in the long run. It's pretty difficult to eat out cheaply and very difficult to eat out healthily.

I dunno, might turn out to be some parallels there. I suspect that much like eating too much takeout, LLM usage makes us less fit.

As someone who cooks most of my own meals (and almost never eats out) I agree. I also know quite a few people who don't know how to cook at all and the thought of cooking stresses them out.

So far it seems that we can't all be good/capable at everything.

Maybe you write all your own code and cook your own meals, but do you do your own taxes? would you defend yourself in court? would you fix your car yourself?

Some people may answer yes to all the above, but most people outsource most things. Many people can't afford to outsource to other people, but can afford to outsource to LLMs.

Again it comes down to the job to be done:

- does the person want to develop or practice a skill, or do they just want it done? What is their budget, and how important is it to them to minimize certain risks?

> does the person want to develop or practice a skill, or do they just want it done

I'm probably biased, but I think when it comes to professional work it should always, 100% of the time be the former. People who "just want it done" are the reason every piece of commercial software is becoming dogshit

> So far it seems that we can't all be good/capable at everything

Sure, but then stay the fuck out of the area I'm good at.

That's the whole thing. I earn money by building software. I spend money at a restaurant to buy food from people who are good at cooking.

If people who are good at cooking use AI to build their websites, then people like me don't have jobs, don't have money to buy food from them anymore. Specializing is how society functions. People no longer need my specialty thanks to AI? I can't get food anymore?

Kind of a shitty deal for me!