Live data from Hacker News

AI didn't simplify software engineering: It just made bad engineering easier

robenglander.com

41–50 of 119 posts

Re: AI didn't simplify software engineering: It just made bad engineering easier

#41
Is that why there are so many outages across many companies adopting AI, including GitHub, Amazon, Cloudflare and Anthropic even with usage?

Maybe if they "prompted the agent correctly", you get your infrastructure above at least 5 9s.

If we continue through this path, not only so-called "engineers" can't read or write code at all, but their agents will introduce seemingly correct code and introduce outages like we have seen already, like this one [0].

AI has turned "senior engineers" into juniors, and juniors back into "interns" and cannot tell what is maintainable code and waste time, money and tokens reinventing a worse wheel.

[0] https://sketch.dev/blog/our-first-outage-from-llm-written-co...

Re: AI didn't simplify software engineering: It just made bad engineering easier

#43
Put a bad driver in an F1 car and you won't make them a racer. You will just help them crash faster. Put a great driver in that same car, and they become unstoppable.

Technology was never equaliser. It just divides more and yes ultimately some developers will get paid a lot more because their skills will be in more demand while other developers will be forced to seek other opportunities.

Re: AI didn't simplify software engineering: It just made bad engineering easier

#44

Earlier quoted context omitted.

In corporate app development, I would see tests to check that the mocks return the expected values. Like, what are we even doing here?

Someone was asked to test untestable code so verifying mock contents was the best they could come up with.

No. Someone was asked to meet an arbitrary code coverage threshold. I'm dealing with this malicious compliance/weaponized incompetence at $current_job

Re: AI didn't simplify software engineering: It just made bad engineering easier

#45
post #21

I disagree with the premise. It made all engineering easier. Bad and good. I believe vibe coding has always existed. I've known people at every company who add copious null checks rather than understanding things and fixing them properly. All we see now is copious null checks at scale. On the other hand, I've also seen excellent engineering amplified and features built by experts in days which would have taken weeks.

Well, it's made bad engineering massively easier and good engineering a little easier.

So much so that many people who were doing good engineering before have opted to move to doing three times as much bad engineering instead of doing 10% more good engineering.

Re: AI didn't simplify software engineering: It just made bad engineering easier

#46
Naw, I just yesterday caught something in test that would've made it to prod without AI. It happens all the time.

You can't satisfy every single paranoia, eventually you have to deem a risk acceptable and ship it. Which experiments you do run depends on what can be done in what limited time you have. Now that I can bootstrap a for-this-feature test harness in a day instead of a week, I'm catching much subtler bugs.

It's still on you to be a good engineer, and if you're careful, AI really helps with that.

Re: AI didn't simplify software engineering: It just made bad engineering easier

#47
A -> (expletive) -> B

I think we're all in denial about how bad software engineering has gotten. When I look at what's required to publish a web page today vs in 1996, I'm appalled. When someone asks me how to get started, all I can do is look at them and say "I'm so sorry":

https://xkcd.com/1168/

So "coding was always the hard part". All AI does is obfuscate how the sausage gets made. I don't see it fixing the underlying fallacies that turned academic computer science into for-profit software engineering.

Although I still (barely) hold onto hope that some of us may win the internet lottery someday and start fixing the fundamentals. Maybe get back to what we used to have with apps like HyperCard, FileMaker and Microsoft Access but for a modern world where we need more than rolodexes. Back to paradigms where computers work for users instead of the other way around.

Until then, at least we have AI to put lipstick on a pig.

Re: AI didn't simplify software engineering: It just made bad engineering easier

#48

AI Didn't Simplify Blogging: It Just Made Bad Blogging Easier I was hopeful that the title was written like LLM-output ironically, and dismayed to find the whole blog post is annoying LLM output.

Robots making fun of us complaining about them.

Re: AI didn't simplify software engineering: It just made bad engineering easier

#49

When I see this: "One of the longest-standing misconceptions about software development is that writing code is the difficult part of the job. It never was." I don't think I can take this seriously. Sure, 'writing code' is not the difficult often, but when you have time constraints, 'writing code' becomes a limiting factor. And we all do not have infinite time in our hands. So AI not only enables something you just c…

Agree. Writing code has always been the most time-consuming part that distracts me from actual design. AI just emphasizes the fact that anyone can do the keyboard mashing while reading code is the actual skill that matters.

Give a woodcutter a chainsaw instead of an axe and he'll fell ten times more trees. He'll also likely cause more than ten times the collateral damage.

Re: AI didn't simplify software engineering: It just made bad engineering easier

#50
post #21

I disagree with the premise. It made all engineering easier. Bad and good. I believe vibe coding has always existed. I've known people at every company who add copious null checks rather than understanding things and fixing them properly. All we see now is copious null checks at scale. On the other hand, I've also seen excellent engineering amplified and features built by experts in days which would have taken weeks.

In corporate app development, I would see tests to check that the mocks return the expected values. Like, what are we even doing here?

I'm trying to wrap my head around here.

So there are tests that leverage mocks. Those mocks help validate software is performing as desired by enabling tests to see the software behaves as desired in varying contexts.

If the software fails, it is because the mocks exposed that under certain inputs, undesired behavior occurs, an assert fails, and a red line flags the test output.

Validating that the mocks return the desired output.... Maybe there is a desire that the mocks return a stream of random numbers and the mock validation tests asserts said stream adheres to a particular distribution?

Maybe someone in the past pushed a bad mock into prod, that mock validated a test that would have failed given better mock, and a post mortem when the bad software, now pushed into prod, was traced to a bad mock derived a requirement that all mocks must be validated?

Post reply on HN