Remix.run Logo
rsynnott 5 days ago

This idea that you can get good results from a bad process as long as you have good quality control seems… dubious, to say the least. “Sure, it’ll produce endless broken nonsense, but as long as someone is checking, it’s fine.” This, generally, doesn’t really work. You see people _try_ it in industry a bit; have a process which produces a high rate of failures, catch them in QA, rework (the US car industry used to be notorious for this). I don’t know of any case where it has really worked out.

Imagine that your boss came to you, the tech lead of a small team, and said “okay, instead of having five competent people, your team will now have 25 complete idiots. We expect that their random flailing will sometimes produce stuff that kinda works, and it will be your job to review it all.” Now, you would, of course, think that your boss had gone crazy. No-one would expect this to produce good results. But somehow, stick ‘AI’ on this scenario, and a lot of people start to think “hey, maybe that could work.”

Manfred 5 days ago | parent | next [-]

Reviewing code from less experienced or unmotivated people is also very taxing, both in a cognitive and emotional sense. It will never approach a really good level of quality because you just give up after 4 rounds of reviews on the same feature.

EdwardDiego 4 days ago | parent | next [-]

Except humans learn from your PR comments and in other interactions with more experienced people, and so inexperienced devs become experienced devs eventually. LLMs are not so trainable.

krageon 3 days ago | parent | next [-]

If they're unmotivated enough to not get there after four review rounds for a junior-appropriate feature, they're not going to get better. It's a little impolite to say, but if you spend any significant amount of time coaching juniors you'll encounter exactly what I'm talking about.

EdwardDiego 2 days ago | parent [-]

I have spent plenty, rest assured.

org3 3 days ago | parent | prev | next [-]

Some people say we're near the end of pre-training scaling, and RLHF etc is going to be more important in the future. I'm interested in trying out systems like https://github.com/OpenPipe/ART to be able to train agents to work on a particular codebase and learn from my development logs and previous interactions with agents.

shepherdjerred 3 days ago | parent | prev | next [-]

LLMs can learn if you provide it rules in your repo, and update those rules as you identify the common mistakes the LLM makes

300hoogen 3 days ago | parent | prev [-]

retarded take

dayjaby 3 days ago | parent | next [-]

Can you elaborate or you call it a day after insulting?

EdwardDiego 2 days ago | parent | prev [-]

Thanks for the insightful reply that showed me where I went astray.

btown 3 days ago | parent | prev | next [-]

Here’s the thing about AI though - you don’t need to worry about its confidence or impact on professional development if you’re overly critical, and it will do a turn within seconds. That gives a tremendous amount of flexibility and leverage to the code reviewer. Works better on some types of problems than others, but it’s worth exploring!

hakfoo 3 days ago | parent | prev [-]

With human co-workers, you can generally assume things you can't with AI.

My human co-workers generally have good faith. Even the developer who was clearly on the verge of getting a role elsewhere without his heart in it-- he tried to solve the problems assigned to him, not some random delusion that the words happened to echo. I don't have that level of trust with AI.

If there's a misunderstanding the problem or the context, it's probably still the product of a recognizable logic flow that you can use to discuss what went wrong. I can ask Claude "Why are you converting this amount from Serbian Dinars to Poppyseed Bagels in line 476?" but will its answer be meaningful?

Human code review often involves a bit of a shared background. We've been working with the same codebases for several years, so we're going to use existing conventions. In this situation, the "AI knows all and sees all" becomes an anti-feature-- it may optimize for "this is how most people solve this task from a blank slate" rather than "it's less of a cognitive burden for the overall process if your single change is consistent with 500 other similar structures which have been in place since the Clinton administration."

There may be ways to try to force-feed AI this behaviour, but the more effort you devote to priming and pre-configuring the machine, the less you're actually saving over doing the actual work in the first place.

HarHarVeryFunny 5 days ago | parent | prev | next [-]

Right, this is the exact opposite of the best practices that Edward Deming helped develop in Japan, then brought to the west.

Quality needs to come from the process, not the people.

Choosing to use a process known to be flawed, then hoping that people will catch the mistakes, doesn't seem like a great idea if the goal is quality.

The trouble is that LLMs can be used in many ways, but only some of those ways play to their strengths. Management have fantasies of using AI for everything, having either failed to understand what it is good for, or failed to learn the lessons of Japan/Deming.

thunky 5 days ago | parent | next [-]

> Choosing to use a process known to be flawed, then hoping that people will catch the mistakes, doesn't seem like a great idea if the goal is quality.

You're also describing the software development process prior to LLMs. Otherwise code reviews wouldn't exist.

Jensson 4 days ago | parent | next [-]

People have built complex working mostly bug free products without code reviews so humans are not that flawed.

With humans and code reviews now two humans looked at it. With LLM and code review of the LLM output now one human looked at it, so its not the same. LLM are still far from as reliable as humans or you could just tell the LLM to do code reviews and then it builds the entire complex product itself.

CuriouslyC 4 days ago | parent [-]

People have built complex bug free software without __formal__ code review. It's very rare to write complex bug free software without at least __informal__ code review, and it's luck, not skill.

overfeed 3 days ago | parent [-]

Can't have a code review if you're coding solo[0], unless we are redefining the meaning of "code review" to the point of meaningless by including going over one's own code.

0. The dawn of video games had many titles with 1 person responsible for programming. This remains the case many indy games and small software apps and services. It's a skill that requires expertise and/or dedication.

HarHarVeryFunny 5 days ago | parent | prev | next [-]

Sure - software development is complex, but there seems to be a general attempt over time to improve the process and develop languages, frameworks and practices that remove the sources of human error.

Use of AI seems to be a regression in this regard, at least as currently used - "look ma, no hands! I've just vibe coded an autopiliot". The current focus seems to be on productivity - how many more lines of code or vibe-coded projects can you churn out - maybe because AI is still basically a novelty that people are still learning how to use.

If AI is to be used productively towards achieving business goals then the focus is going to need to mature and change to things like quality, safety, etc.

rsynnott 4 days ago | parent | prev | next [-]

Code reviews are useful, but I think everyone would admit that they are not _perfect_.

5 days ago | parent | prev [-]
[deleted]
GarnetFloride 4 days ago | parent | prev | next [-]

Oh man, that's what I've been smelling with all this. It's the Red Bead Experiment, all over again. https://www.youtube.com/watch?v=ckBfbvOXDvU

overfeed 3 days ago | parent | prev | next [-]

> Management have fantasies of using AI for everything, having either failed to understand what it is good for, or failed to learn the lessons of Japan/Deming.

Third option: they want to automate all jobs before the competition does. Think of it as AWS, but for labor.

giovannibonetti 5 days ago | parent | prev | next [-]

> Quality needs to come from the process, not the people.

Not sure which Japanese school of management you're following, but I think Toyota-style goes against that. The process gives more autonomy to workers than, say, Ford-style, where each tiny part of the process is pre-defined.

I got the impression that Toyota-style was considered to bring better quality to the product, even though it gives people more autonomy.

HarHarVeryFunny 5 days ago | parent [-]

In an ideal world all employees would be top notch, on their game every day, never making mistakes, but the real world isn't like that. If you want repeatable quality then it needs to be baked into the process.

It's a bit like Warren Buffet saying he only wants to invest in companies that could be run by an idiot, because one day they will be.

Edward Deming actually worked with both Toyota and Ford, perhaps more foundationally at Toyota, bringing his process-based-quality ideas to both. Toyota's management style is based around continuous process improvement, combined with the employee empowerment that you refer to.

stockresearcher 4 days ago | parent | prev [-]

> Deming helped develop in Japan

Deming’s process was about how to operate a business in a capital-intensive industry when you don’t have a lot of capital (with market-acceptable speed and quality). That you could continue to push it and raise quality as you increased the amount of capital you had was a side-effect, and the various Japanese automakers demonstrated widely different commitments to it.

And I’m sure you know that he started formulating his ideas during the Great Depression and refined them while working on defense manufacturing in the US during WWII.

jvanderbot 5 days ago | parent | prev | next [-]

What happens is a kind of feeling of developing a meta skill. It's tempting to believe the scope of what you can solve has expanded when you are self-assessed as "good" with AI.

Its the same with any "general" tech. I've seen it since genetic algorithms were all the rage. Everyone reaches for the most general tool, then assumes everything that tool might be used for is now a problem or domain they are an expert in, with zero context into that domain. AI is this times 100x, plus one layer more meta, as you can optimize over approaches with zero context.

CuriouslyC 4 days ago | parent [-]

That's an oversimplification. AI can genuinely expand the scope of things you can do. How it does this is a bit particular though, and bears paying attention to.

Normally, if you want to achieve some goal, there is a whole pile of tasks you need to be able to complete to achieve it. If you don't have the ability complete any one of those tasks, you will be unable to complete the goal, even if you're easily able to accomplish all the other tasks involved.

AI raises your capability floor. It isn't very effective at letting you accomplish things that are meaningfully outside your capability/comprehension, but if there are straightforward knowledge/process blockers that don't involve deeper intuition it smooths those right out.

jvanderbot 4 days ago | parent | next [-]

Normally, one would learn the missing steps, with or without AI.

You're probably envisioning a more responsible use if it (floor raising, "meaningfully inside your comprehension"), that is actually not what I'm referring to at all ( "assumes everything that tool might be used for is now a problem or domain they are an expert in"). A meta tech can be used in many ways and yours is close to what I believe the right method is. But I'm asserting that the danger is massive over reliance and over confidence in the "transferability".

monkeyelite 4 days ago | parent | prev [-]

> If you don't have the ability complete any one of those tasks, you will be unable to complete the goal

Nothing has changed. Few projects start with you knowing all the answers. In the same way AI can help you learn, you can learn from books, colleagues, and trial and error for tasks you do not know.

CuriouslyC 4 days ago | parent [-]

I can say from first hand experience that something has absolutely changed.

Before AI, if I had the knowledge/skill to do something on the large scale, but there were a bunch of minute/mundane details I had to figure out before solving the hard problems, I'd just lose steam from the boredom of it and go do something else. Now I delegate that stuff to AI. It isn't that I couldn't have learned how to do it, it's that I wouldn't have because it wouldn't be rewarding enough.

monkeyelite 4 days ago | parent [-]

That’s great - you personally have found a tool that helps you overcome unknown problems. Other people have other methods for doing that. Maybe AI makes that more accessible in general.

monkeyelite 4 days ago | parent | prev | next [-]

Yep. All the process in the world won’t teach you to make a system that works.

The pattern I see over and over is a team aimlessly putting a long through tickets in sprints until an engineer who knows how to solve the problem gets it on track personally.

steelblueskies 3 days ago | parent | prev | next [-]

Evolution via random mutation and selection.

Or more broadly, the existence of complex or any life.

Sure, it's not the way I would pick to do most things, but when your buzzword magical thinking so deep all that you have is a hammer, even if it doesn't look like a nail you will force your wage slaves to hammer it anyway until it works.

As to your other cases.. injection molded plastic parts for things like the spinning t bar spray arm in some dishwashers. Crap molds, pass to low wage or temp to razorblade fix by hand and box up. Personally worked such a temp job before, among others so yes that bad output manual qc and fix up abounds still.

And if we are talking high failure rates... see also chip binning and foundry yields in semiconductors.

Just have to look around to see the dubious seeming is more the norm.

xyzzy123 5 days ago | parent | prev | next [-]

I have a play project which hits these constraints a lot.

I have been messing around with getting AI to implement novel (to me) data structures from papers. They're not rocket science or anything but there's a lot of detail. Often I do not understand the complex edge cases in the algorithms myself so I can't even "review my way out of it". I'm also working in go which is usually not a very good fit for implementing these things because it doesn't have sum types; lack of sum types oten adds so much interface{} bloat it would render the data structure pointless. Am working around with codegen for now.

What I've had to do is demote "human review" a bit; it's a critical control but it's expensive. Rather, think more holistically about "guard rails" to put where and what the acceptance criteria should be. This means that when I'm reviewing the code I am reasonably confident it's functionally correct, leaving me to focus on whether I like how that is being achieved. This won't work for every domain, but if it's possible to automate controls, it feels like this is the way to go wherever possible.

The "principled" way to do this would be to use provers etc, but being more of an engineer I have resorted to ruthless guard rails. Bench tests that automatically fail if the runtime doesn't meet requirements (e.g. is O(n) instead of O(log n)) or overall memory efficiency is too low - and enforcing 100% code coverage from both unit tests AND fuzzing. Sometimes the cli agent is running for hours chasing indexes or weird bugs; the two main tasks are preventing it from giving up, and stopping it from "punting" (wait, this isn't working, let me first create a 100% correct O(n) version...) or cheating. Also reminding it to check AGAIN for slice sharing bugs which crop up a surprising % of the time.

The other "interesting" part of my workflow right now is that I have to manually shuffle a lot between "deep research" (which goes and reads all the papers and blogs about the data structure) and the cli agent which finds the practical bugs etc but often doesn't have the "firepower" to recognise when it's stuck in a local maximum or going around in circles. Have been thinking about an MCP that lets the cli agent call out to "deep research" when it gets really stuck.

roenxi 5 days ago | parent | prev | next [-]

The issue with the hypothetical is if you give a team lead 25 competent people they'd also get bad results. Or at least, the "team lead" isn't really leading their team on technical matters apart from fighting off the odd attempt to migrate to MongoDB and hoping that their people are doing the right thing. The sweet spot for teams is 3-6 people and someone more interested in empire building than technical excellence can handle maybe around 9 people and still do a competent job. It doesn't depend much on the quality of the people.

The way team leads seem to get used is people who are good at code get a little more productive as more people are told to report to them. What is happening now is the senior-level engineers all automatically get the same option: a team of 1-2 mid-level engineers on the cheap thanks to AI which is entirely manageable. And anyone less capable gets a small team, a rubber duck or a mentor depending on where they fall vs LLM use.

Of course, the real question is what will happen as the AIs get into the territory traditionally associated with 130+ IQ ranges and the engineers start to sort out how to give them a bit more object persistence.

bitwize 4 days ago | parent | prev | next [-]

> Imagine that your boss came to you, the tech lead of a small team, and said “okay, instead of having five competent people, your team will now have 25 complete idiots. We expect that their random flailing will sometimes produce stuff that kinda works, and it will be your job to review it all.”

This is exactly the point of corporate Agile. Management believes that the locus of competence in an organization should reside within management. Depending on competent programmers is thus a risk, and what is sought is a process that can simulate a highly competent programmer's output with a gang of mediocre programmers. Kinda like the myth that you can build one good speaker out of many crappy ones, or the principle of RAID which is to use many cheap, failure-prone drives to provide the reliability guarantees of one expensive, reliable drive (which also kinda doesn't work if the drives came from the same lot and are prone to fail at about the same time). Every team could use some sort of process, but usually if you want to retain good people, this takes the form of "disciplines regarding branching, merging, code review/approval, testing, CI, etc." Something as stifling as Scrum risks scaring your good people away, or driving them nuts.

So yes, people do expect it to work, all the time. And with AI in the mix, it now gains very nice "labor is more fungible with capital" properties. We're going to see some very nice, spectacular failures in the next few years as a result, a veritable Perseid meteor shower of critical systems going boom; and those companies that wish to remain going concerns will call in human programmers to clean up the mess (but probably lowball on pay and/or try to get away with outsourcing to places with dirt-cheap COL). But it'll still be a rough few years for us while management in many orgs gets high off their own farts.

cyphar 5 days ago | parent | prev | next [-]

It also assumes that people who are "good" at the standard code review process (which is tuned for reviewing code written by humans with some level of domain experience and thus finding human-looking mistakes) will be able to translate their skills perfectly to reviewing code written by AI. There have been plenty of examples where this review process was shown to be woefully insufficient for things outside of this scope (for instance, malicious patches like the bad patches scandal with Linux a few years ago or the xz backdoor were only discovered after the fact).

I haven't had to review too much AI code yet, but from what I've seen it tends to be the kind of code review that really requires you to think hard and so seems likely to lead to mistakes even with decent code reviewers. (I wouldn't say that I'm a brilliant code reviewer, but I have been doing open source maintenance full-time for around a decade at this point so I would say I have some experience with code reviews.)

altspace 4 days ago | parent | prev | next [-]

What I took away from the article was that being good at code review makes the person better at guiding the agent to do the job, giving the right context and constraints at the right time… and not that the code reviewer has to fix whatever agent generated… this is also pretty close to my personal experience… LLM models are a bull which can be guided and definitely not a complete idiot…

In a strange kind of analogy, flowing water can cause a lot of damage.. but a dam built to the right specification and turbines can harness that for something very useful… the art is to learn how to build that dam

Terr_ 4 days ago | parent | prev | next [-]

> but as long as someone is checking

I predict many disastrous "AI" failures because the designers somehow believed that "some humans capable of constant vigilant attention to detail" was an easy thing they could have.

gus_massa 5 days ago | parent | prev | next [-]

I'm not sure about the current state of the art, but microprocessors production is (was?) very bad. You make a lot of them in a single silicon wafer, and then test them thoughtfully until you find the few that are good. You drop all the defective ones because they are very cheap piece of sand and charge a lot for the ones that works correctly to cover all the costs.

I'm not sure how this translates to programming, code review is too expensive, but for short code you can try https://en.wikipedia.org/wiki/Superoptimization

CorrectHorseBat 5 days ago | parent | next [-]

Design for test is still a major part of (high volume) chip design. Anything that can't be tested in seconds on wafer is basically worthless for mass production.

rsynnott 4 days ago | parent | prev | next [-]

In that case, tho, no-one’s saying “let’s be sloppy with production and make up for it in the QA” (which really used to be a US car industry strategy until the Japanese wiped the floor with them); the process is as good as it reasonably can be, there are just physical limits. Chip manufacturers spend vast amounts on reducing the error rate.

4 days ago | parent | prev [-]
[deleted]
nurettin 5 days ago | parent | prev | next [-]

I went from ";" to fully working C++ production grade code with good test coverage. To my estimation, 90% of the work was done in an agent prompt. It was a side project, now it will be my job. The process is like they described.

For the core parts you cannot let go of the reins. You have to keep steering it. You have to take short breaks and reload the code into the agent as it starts acting confused. But once you get the hang of it, things that would take you months of convincing yourself and picking yourself back up to continue becomes a day's work.

Once you have a decent amount of work done, you can have the agent read your code as documentation and use it to develop further.

estimator7292 3 days ago | parent | prev | next [-]

Imagine a factory making injection molded plastic toys but instead of pumping out perfect parts 99.999% of the time, the machine gives you 50% and you have to pay people to pull out the bad ones from a full speed assembly line and hope no bad ones get through.

yen223 3 days ago | parent [-]

Is this not how microchips are made?

vrighter 3 days ago | parent [-]

Chips can be and are tested automatically. It's not like there are people running beside a conveyor belt with a microscope. So no, it's not the same thing. One doesn't need people, while the other one does.

Also, a fab is intended to make fully functioning chips, which sometimes it fails to achieve. An LLM is NOT designed to give correct output, just plausible output. Again, not the same goal.

LLMs are an implementation of bogosort. But less efficient.

keeda 4 days ago | parent | prev | next [-]

1. The flaw in this premise is that the process is bad. Aside from the countless anecdotal reports about how AI and agents are improving productivity, there are actual studies showing 25 - 55% boosts. Yes, RCTs at larger size than the METR one that keeps getting bandied about: https://news.ycombinator.com/item?id=44860577 and many more on Google Scholar: https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&as_ylo...

2. Quality control is key to good processes as well. Code review is literally a best practice in the software industry. Especially in BigTech and high-performing organizations. That is, even for humans, including those that could be considered the cream of the industry, code review is a standard step of the delivery process.

3. People have posted their GitHub profiles and projects (including on this very forum) to show how AI is working out for them. Browse through some of them and see how much "endless broken nonsense" you find. And if that seems unscientific, well go back to point 1.

dingnuts 4 days ago | parent [-]

I picked one of the studies in the search (!) you linked. First of all, it's a bullshit debate tactic to try to overwhelm your opponents with vague studies -- a search is complete bullshit because it puts the onus on the other person to discredit the gargantuan amount of data you've flooded them with. Many of the studies in that search don't have anything to do with programming at all.

So right off the bat, I don't trust you. Anyway, I picked one study from the search to give you the benefit of the doubt. It compared leetcode in the browser to LLM generation. This tells us absolutely nothing about real world development.

What made the METR paper interesting was that they studied real projects, in the real world. We all know LLMs can solve well bounded problems in their data sets.

As for 3 I've seen a lot of broken nonsense. Let me know when someone vibe codes up a new mobile operating system or a competitor to KDE and Gnome lol

keeda 2 days ago | parent [-]

> a search is complete bullshit because it puts the onus on the other person to discredit the gargantuan amount of data you've flooded them with.

Alternatively, a search is a way to show that basing your opinions on limited personal experience or a single source is silly given the vast amount of other research out there that largely contradicts it. Worse if that single source itself happens to have flaws that are not sufficiently discussed, e.g. at least one of the 16 participants from the METR study deliberately filtered out large tasks that he strongly prefered do only with AI -- what does that mean for its results?

https://xcancel.com/ruben_bloom/status/1943536052037390531

> Many of the studies in that search don't have anything to do with programming at all.

That's fair, but unfortunately due to the limits of keyword search. For instance "medical coding" is not programming-related at all, but is being impacted by LLMs and gets caught in the keyword search ¯\_ (ツ)_/¯

Anyway if your preference is "real-world projects", here are a couple specific studies (including one that I had already separately mentioned in the linked comment) at much larger scales that show significant productivity boosts of LLM-assisted programming at doing their regular, day-job tasks:

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4945566 (4867 developers across 3 large companies including Microsoft)

https://www.bis.org/publ/work1208.pdf (1219 programmers at a Chinese BigTech)

There are many more, but I left them out as they are based on other methodologies such as the use of standardized tasks for better comparability, or empirical analysis of open-source commits, or developer surveys, or student projects, which may get dismissed as "not an RCT on real-world tasks." Interestingly they all show comparable, positive results, so consider that it's not as straightforward to dismiss other studies as being irrelevant.

moffkalast 5 days ago | parent | prev | next [-]

> Sure, it’ll produce endless broken nonsense, but as long as someone is checking, it’s fine

Well you've just described an EKF on a noisy sensor.

esafak 4 days ago | parent [-]

I do not think anybody is going to get that reference. https://xkcd.com/2501/

moffkalast 4 days ago | parent [-]

Ha yes, I tend to hang around the robotics crowd a bit too much.

I mean the average person surely knows at least what a Jacobian is, right? Right? /s

tempodox 5 days ago | parent | prev | next [-]

> … good results from a bad process …

Even if the process weren’t technically bad, it would still be shit. Doing code review with a human has meaning in that the human will probably learn something, and it’s an investment in the future. Baby-sitting an LLM, however, is utterly meaningless.

ben_w 5 days ago | parent | prev | next [-]

> I don’t know of any case where it has really worked out.

Supermarket vegetables.

HarHarVeryFunny 4 days ago | parent [-]

Are you saying that supermarket vegetables/produce are good?

Quite a bit of it, like Tomatoes and Strawberries, is just crap. Form over substance. Nice color and zero flavor. Selected for delivery/shelf-life/appearance rather actually being any good.

ben_w 4 days ago | parent [-]

> Form over substance. Nice color and zero flavor. Selected for delivery/shelf-life/appearance rather actually being any good.

From an economics POV, that's the correct test.

I was also considering the way the US food standards allows a lot of insect parts in the products, but wasn't sure how to phrase it.

HarHarVeryFunny 4 days ago | parent | next [-]

> I was also considering the way the US food standards allows a lot of insect parts in the products, but wasn't sure how to phrase it.

I don't know how the US compares to other countries in terms of "insects per pound" standards, but having some level of insects is going to be inevitable.

For example, how could you guarantee that your wheat, pre-milling, has zero insects in it, or that your honey has no bee parts in it (best you can do is strain it, then anything that gets through the straining process will be on your toast).

bluefirebrand 4 days ago | parent | prev [-]

> From an economics POV, that's the correct test

Maybe we could stop filtering everything through this bullshit economics race to the bottom then

ben_w 4 days ago | parent [-]

You can campaign for your government to set any legal minimum for quality that you want, but it's essentially nonsensical to expect people not to optimise for cheapest given whatever those constraints are.

yeasku 4 days ago | parent [-]

Apple, Oracle or Nvidia did not get there following your way of thinking

A race to the bottom leaves you like Boeing or Intel.

Late stage capitalism is not a must.

ben_w 4 days ago | parent [-]

Counterpoint: Juicero.

Your list of winners are optimising for what the market cares about, exactly like the supermarkets (who are also mostly winners) are optimising for what the market cares about. For most people, for food specifically, that means "cheap". Unavoidably, because most people have less money than they'd like. Fancy food is rare treat for many.

Apple software currently has a reputation for buggy UI; Oracle has a reputation for being litigious; that just leaves Nvidia who are printing money selling shovels in two sucessive gold rushes, which is fine for a business and means my investment is way up, but also means for high end graphics cards consumer prices are WTF and availability is LOL.

yeasku 3 days ago | parent [-]

As you said Oracle wins money hiring more lawyers every day, not because each day they hire cheaper employees.

See, the only way is not a race to the bottom like all late stage capitalist claim.

What is your point?

nkmnz 5 days ago | parent | prev | next [-]

> This idea that you can get good results from a bad process

This idea is called "evolution"...

> as long as you have good quality control

...and it's QA is death on every single level of the systems: cell, organism, species, and ecosystem. You must consider that those devs or companies with not-good-enough QA will end up dead (from a business perspective).

dwattttt 4 days ago | parent | next [-]

Evolution is extremely inefficient at producing good designs. Given enough time it'll explore more, because it's driven randomly, but most mutations either don't help, or downright hurt an organism's survival.

rsynnott 4 days ago | parent | prev | next [-]

I look forward to software which takes several million years to produce and tends to die of Software Cancer.

Like, evolution is not _good_ at ‘designing’ things.

bluefirebrand 5 days ago | parent | prev [-]

So we're software evolvers now, not engineers?

Sounds like a stupid path forward to me

dwaltrip 4 days ago | parent [-]

We’ve always been software evolvers. Ideas that have been around for decades, such as “a codebase is a garden”, are even more relevant now.

monkeyelite 4 days ago | parent [-]

Iterating on a design is not the same as throwing out crap until it works.

ChrisMarshallNY 5 days ago | parent | prev | next [-]

That depends.

If the engineer, doing the implementation is top-shelf, you can get very good results from a “flawed” process (in quotes, because it’s not actually “bad.” It’s just a process that depends on the engineer being that particular one).

Silicon Valley is obsessed with process over people, manifesting “magical thinking” that a “perfect” process eliminates the need for good people.

I have found the truth to be in-between. I worked for a company that had overwhelming Process, but that process depended on good people, so it hired top graduates, and invested huge amounts of money and time into training and retention.

marklubi 4 days ago | parent | next [-]

Said a little more crass/simply: A people hire A people. B people hire C people.

The first is phenomenal until someone makes a mistake and brings in a manager or supervisor from the C category that talks the talk but doesn't walk the walk.

If you accidentally end up in one that turns out to be the later. It's maddening trying to get anything accomplished if the task involves anyone else.

Hire slow, fire fast.

rhetocj23 4 days ago | parent | prev [-]

Steve Jobs said this decades ago.

Its the content that matters, not the process.

TrinaryWorksToo 4 days ago | parent | prev [-]

Bayesian reasoning would lead me to think that a high rate of failures means even if QA is 99.9% amazing and dev is AI 80% slop, there still will be more poor features and bugs (99.9% * 80% = 79.92%) than if both are mediocore (%90 * %90 = 81%)