Live data from Hacker News

The recurring dream of replacing developers

caimito.net

411–420 of 535 posts

Re: The recurring dream of replacing developers

#411

Earlier quoted context omitted.

> Instead of writing lines of code you are writing requirements. https://www.commitstrip.com/en/2016/08/25/a-very-comprehensi...

The way I would approach writing specs and requirements as code would be to write a set of unit-tests against a set of abstract classes used as arguments of such unit-tests. Then let someone else maybe AI write the implementation as a set of concrete classes and then verify that those unit-tests pass. I'm not sure how well that would work in practice, nor why such an approach is not used more often than it is. But ye…

The problem is that a sufficient black box description of a system is way more elaborate then the white box description of the system or even a rigorous description of all acceptable white boxes (a proof). Unit tests contain enough information to distinguish an almost correct system from a more correct one, but there is way more information needed to even arrive at the almost correct system. Also even the knowledge which traits likely separate an almost correct one from the correct one likely requires a lot of white box knowledge.

Unit tests are the correct tool, because going from an almost correct one to a correct one is hard, because it implies the failure rate to be zero and the lower you go the harder it is to reduce the failure rate any further. But when your constraint is not infinitesimal small failure rate, but reaching expressiveness fast, then a naive implementation or a mathematical model are a much denser representation of the information, and thus easier to generate. In practical terms, it is much easier to encode the slightly incorrect preconception you have in your mind, then try to enumerate all the cases in which a statistically generated system might deviate from the preconception you already had in your head.

Re: The recurring dream of replacing developers

#412
post #373

Earlier quoted context omitted.

But you admit that fewer humans would be needed as “LLMs would have been good at subsets of that project”, so some impact already and these AI tools only get better.

If that is the only thing that you took out of that conversation, then I don't really believe that that job might've been suitable for you in the first place. Now I don't know which language they used for the project (could be python or could be C/C++ or could be rust) but its like "python would have been good at subsets of that project", so some impact already and these python tools only get better Did python remove…

[flagged]

Re: The recurring dream of replacing developers

#413

In the end, I think the dream underneath this dream is about being able to manifest things into reality without having to get into the details. The details are what stops it from working in every form it's been tried. You cannot escape the details. You must engage with them and solve them directly, meticulously. It's messy, it's extremely complicated and it's just plain hard. There is no level of abstraction that sav…

It's a cliché that the first 90% of a software project takes 90% of the time and the last 10% also takes 90% of the time, but it's cliché because it's true. So we've managed to invent a giant plausibility engine that automates the 90% of the process people enjoy leaving just the 90% that people universally hate.

I am an AI hater (atleast in some of its current context precisely used for this) and you have worded some things I like to say in a manner I hadn't thought of and I agree with all you said and appreciate what you said man!

Now, I do agree with you and this is why I feel like AI can be good at just prototyping or for internal use cases, want to try out something no idea, sure use it or I have a website which sucks and I can quickly spin up an alternative for person use case, go for it, maybe even publish it to web with open source.

Take feedback from people if they give any and run with it. So in essense, prototyping's pretty cool.

But whenever I wish to monetize or the idea of monetize, I feel like we can take some design ideas or experimentation and then just write them ourselves. My ideology is simple in that I don't want to pay for some service which was written by AI slop, I mean at that point, just share us the prompt.

So at this point, just rewrite the code and actually learn what you are talking about (like I will give an example, I recently prototyped some simple firecracker ssh thing using gliderlabs/ssh golang package, I don't know how the AI code works, its just I built for my own use case, but If I wish to ever (someday) try to monetize it in any sense, rest assured I will try to learn how gliderlabs/ssh works to its core and build it all by my hands)

TLDR: AI's good for prototyping but then once you got the idea/more ideas on top of it, try to rewrite it in your understanding because as others have said the AI code you won't understand and you would spend 99% time on that 1% which AI can't but at that point, why not just rewrite?

Also if you rewrite, I feel like most people will be chill then buying even Anti AI people. Like sure, use AI for prototypes but give me code which I can verify and you wrote/ you understand to its core with 100% pinning of this fact.

If you are really into software projects for sustainability, you are gonna anger a crowd for no reason & have nothing beneficial come out of it.

So I think kind of everybody knows this but still AI gets to production because sustainability isn't the concern.

This is the cause. sustainability just straight up isn't the concern.

if you have VC's which want you to add 100's of features or want you to use AI or have AI integration or something (something I don't think every company should or their creators should be interested in unless necessary) and those VC's are in it only for 3-5 years who might want to dump you or enshitten you short term for their own gains. I can see why sustainability stops being a concern and we get to where we are.

Or another group of people most interested are the startup entrepreneur hustle culture people who have a VC like culture as well where sustainability just doesn't matter

I do hope that I am not blanket naming these groups because sure some might be exceptions but I am just sharing how the incentives aren't aligned and how they would likely end up using AI 90% slop and that's what we end up seeing in evidence for most companies.

I do feel like we need to boost more companies who are in it for the long run/sustainable practices & people/indie businesses who are in it because they are passionate about some project (usually that happens when they face the problem themselves or curiosity in many cases), because we as consumers have an incentive stick as well. Hope some movement can spawn up which can capture this nuance because i am not anti AI completely but not exactly pro either

Re: The recurring dream of replacing developers

#414
post #384

Earlier quoted context omitted.

The way I would approach writing specs and requirements as code would be to write a set of unit-tests against a set of abstract classes used as arguments of such unit-tests. Then let someone else maybe AI write the implementation as a set of concrete classes and then verify that those unit-tests pass. I'm not sure how well that would work in practice, nor why such an approach is not used more often than it is. But ye…

“write a set of unit-tests against a set of abstract classes used as arguments of such unit-tests.” An exhaustive set of use cases to confirm vibe AI generated apps would be an app by itself. Experienced developers know what subsets of tests are critical, avoiding much work.

> Experienced developers know what subsets of tests are critical, avoiding much work.

And, they do know this for the programs written by other experienced developers, because they know where to expect "linearity" and were to expect steps in the output function. (Testing 0, 1, 127, 128, 255, is important, 89 and 90 likely not, unless that's part of the domain knowledge) This is not necessarily correct for statistically derived algorithm descriptions.

Re: The recurring dream of replacing developers

#415
post #412

Earlier quoted context omitted.

If that is the only thing that you took out of that conversation, then I don't really believe that that job might've been suitable for you in the first place. Now I don't know which language they used for the project (could be python or could be C/C++ or could be rust) but its like "python would have been good at subsets of that project", so some impact already and these python tools only get better Did python remove…

[flagged]

I went back because of course I could've just pointed out one picture but still wanted to give the whole picture.

my conclusion is rather the fact that this is a very high stakes project (both emotionally and mentally and economically) and AI are still black boxes with chances of being much more error prone (atleast in this context) and chances of it missing something to cause the -75 million and deaths of many is more likely and also that in such a high stakes project, LLM's shouldn't be used and having more engineers in the team might be worth it.

> I doubt you have a clue regarding my suitability for any project, so I’ll ignore the passive l-aggressive ad hominem.

Aside from the snark presented at me. I agree. And this is why you don't see me in a project regarding such high stakes project and neither should you see an LLM at any costs in this context. These should be reserved to the caliber of people who have both experience in the industry and are made of flesh.

Re: The recurring dream of replacing developers

#416

Earlier quoted context omitted.

> Reality Has A Surprising Amount Of Detail Every time we make progress complexity increases and it becomes more difficult to make progress. I'm not sure why this is surprising to many. We always do things to "good enough", not to perfection. Not that perfection even exists... "Good enough" means we tabled some things and triaged, addressing the most important things. But now to improve those little things now need t…

I think we're all coping a bit here. This time, it really is different. The fact is, one developer with Claude code can now do the work of at least two developers. If that developer doesn't have ADHD, maybe that number is even higher. I don't think the amount of work to do increases. I think the number of developers or the salary of developers decreases. In any case, we'll see this in salaries over the next year or t…

If LLMs are good at writing software, then there's lots of good software around written by LLMs. Where is that software? I don't see it. Logical conclusion: LLMs aren't good at writing software.

Re: The recurring dream of replacing developers

#417

In the end, I think the dream underneath this dream is about being able to manifest things into reality without having to get into the details. The details are what stops it from working in every form it's been tried. You cannot escape the details. You must engage with them and solve them directly, meticulously. It's messy, it's extremely complicated and it's just plain hard. There is no level of abstraction that sav…

> You cannot escape the details. You must engage with them and solve them directly, meticulously. It's messy, it's extremely complicated and it's just plain hard.

Of course you can. The way the manager ignores the details when they ask the developer to do something, the same way they can when they ask the machine to do it.

Re: The recurring dream of replacing developers

#418
post #363

Earlier quoted context omitted.

To put an economic spin on this (that no one asked for), this is also the capitalist nirvana. I don't have an immediate citation but from my experience software engineer salary is usually one of the biggest items on a P&L which prevents the capitalist approaching the singularity: limitless profit margin. Obviously this is unachievable but one of the major obstacles to this is in the process of being destablised and d…

Sam Altman’s real job is pushing AI hopium on execs who will believe anything in pursuit of that nirvana.

Which is hilarious, because AI is making it easier and easier to bring a good idea to market with much less external financing than usual.

You can argue about security, reliability, and edge cases, but it's not as if human devs have a perfect record there.

Or even a particularly good one.

What are those execs bringing to the table, beyond entitlement and self-belief?

Re: The recurring dream of replacing developers

#419

Earlier quoted context omitted.

This rings true and reminds me of the classic blog post “Reality Has A Surprising Amount Of Detail”[0] that occasionally gets reposted here. Going back and forth on the detail in requirements and mapping it to the details of technical implementation (and then dealing with the endless emergent details of actually running the thing in production on real hardware on the real internet with real messy users actually using…

> Reality Has A Surprising Amount Of Detail Every time we make progress complexity increases and it becomes more difficult to make progress. I'm not sure why this is surprising to many. We always do things to "good enough", not to perfection. Not that perfection even exists... "Good enough" means we tabled some things and triaged, addressing the most important things. But now to improve those little things now need t…

> As engineers, scientists, researchers, etc our literal job is to break down problems into many smaller problems and then solve them one at a time.

Our literal job is also to look for and find patterns in these problems, so we can solve them as a more common problem, if possible, instead of solving them one at a time all the time.

Re: The recurring dream of replacing developers

#420
post #229

Earlier quoted context omitted.

If AI tools make expert developers a lot more productive on large software projects, while empowering non-developers to create their own little programs and automations, I am not sure how that would increase the number of people with “software developer” as their full-time job.

It happened with tools like Excel, for example, which matches your description of empowering non-developers. It happens with non-developers setting up a CMS and then, when hitting the limits of what works out of the box, hiring or commissioning developers to add more complex functions and integrations. Barring AGI, there will always be limitations, and hitting them induces the desire to go beyond.

> when hitting the limits of what works out of the box, hiring or commissioning developers to add more complex functions and integrations.

You aren't going to going to do that to AI systems. If, after a couple of weeks you hit the limit of what the AI could do in a million+ LoC, you aren't going to be able to hire a human dev to modify or replace that system for you, because:

1. Humans are going to be needing a ramp up time and that's damn costly (even more costly when there are fewer of them).

2. Where are you going to find humans who can actually code anymore if everyone has been doing this for the last 10 years?

Post reply on HN