Live data from Hacker News

Vibe Debugging: Enterprises' Up and Coming Nightmare

marketsaintefficient.substack.com

21–30 of 69 posts

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#21

> I suspect best practices for "vibe coding" will end up like test-driven development: a proven method for writing better software that many engineers still choose to skip. I’d like to see the proof for TDD; last I heard it slowed development with only minor reliability improvements.

Who did you hear the it slowed development from? My personal experience (and I think the experience of many who do it full time) is that it makes things faster.

I wrote a full fledged 3D exporter in 6 days without a single test case. Used by thousands of people every day.

How did I test and debug? Run my code and printf.

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#22
AI makes it quicker and cheaper to ship something. The problem with most companies is shipping the wrong thing.

VCs hope that with AI they can have a larger portfolio, shipping more things, so that by sheer luck, one is a success. That's why many employees are critical of the AI hype while VCs and C-level love it. The whole discussion about maintainability doesn't even register on the radar, employees vs. VCs and C-level are operating at a different definition of "failure".

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#23

> I suspect best practices for "vibe coding" will end up like test-driven development: a proven method for writing better software that many engineers still choose to skip. I’d like to see the proof for TDD; last I heard it slowed development with only minor reliability improvements.

The proof for TDD is usually looking at bug detection rates. Similar for code review. OTOH, the "design damage" of TDD is something overlooked by those metrics.

What it boils down to: - TDD in the hands of a junior is very good. Drastically reduces bugs, and teaches the junior how to write code that can be tested and is not just a big long single method of spaghetti with every data structure represented as another dimension on some array.

- TDD in the hands of a midlevel can be a mixed bag. They've learned how to do TDD well, but have not learned when and why TDD can go bad. This creates design damage, where everything is shoe-horned into TDD and the goal of 90% line coverage is a real consideration. This is maximum correctness but also potentially maximum design damage.

- TDD in the hands of a senior is a power tool. The "right" tests are written for the right reasons with the right level of coupling and the tests overall are useful. Every really complicated algorithm I've had to write, TDD was a life saver for getting it landed.

Feels a lot like asking someone if they prefer X or Y and they say "X" is the industry best practice. My response universally is now an eye brow raise "oh, is it? For which segments of the industry? Why? How do we know it's actually a best practice? Okay, given our context, why would it be a best practice for US". Juniors don't know the best practices, mid-levels apply them everywhere, seniors evaluate and consider when best practices are not best practices.

TDD slows development when tests are written in a blind way with an eye on code coverage and not correctness and design. TDD speeds up development in being a good way to catch errors and is one of the best ways to ensure correctness.

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#24
post #22

AI makes it quicker and cheaper to ship something. The problem with most companies is shipping the wrong thing. VCs hope that with AI they can have a larger portfolio, shipping more things, so that by sheer luck, one is a success. That's why many employees are critical of the AI hype while VCs and C-level love it. The whole discussion about maintainability doesn't even register on the radar, employees vs. VCs and C-l…

queue the South Park "They took meh jeb!"

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#26

Wasn’t the point of vibe coding to write throwaway code you will never maintain or care about? Why do people think it means we can write enterprise applications without understanding the code/specifications?

That was the theory, but it ran straight into the reality that most of the time “throwaway prototyping code” gets shipped straight to production and never updated, because it’s addressing real needs right now and there’s no time to fix it because a dozen other feature requests and support issues have arrived in the meantime.

The quip that “there’s nothing more permanent than a temporary solution” has been a truism of software engineering since long before AI arrived on the scene, vibe coding is just making the problem much worse.

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#28
Up until now I considered the enterprise nightmare of vibe debugging to be a data/governance problem involving something like:

Dev: enables verbose/debug logging

App: encounters error, creating big log file

Dev: uploads entire logfile, containing secrets, to 3rd party LLM and asks "read this log and identify the problem"

meanwhile...

LLM: leaks prompt, logs, and secrets to hackers

LLM: uses prompt for training data, then provides secrets as responses to other users

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#29

> To fix this bug, I need to understand the code. Almost every day on this site for the past few months has been an instance of Mugatu's "I feel like I'm taking crazy pills!" moment.

Hah! Especially seeing the same articles, and pro/con discussions feels like a form of the preceding lines: _"There's only one subject on HN for Christ's sake. _Tips For Agentic AI Use_,_Gemini CLI_, _Building X with Claude_, they're the same thing!"_

Re: Vibe Debugging: Enterprises' Up and Coming Nightmare

#30
post #7

> 81% of developers agreed that AI increases their productivity I've had a few AI generated PRs come my way and the code-review process is, shall we say, not fun. It takes me a lot more time to review these PRs, there is way more back-and-forth between me and the 'developer', and it takes much more time to get the PR merged. That's not saying anything about the increased difficulty in modifying this code in the futur…

I think employees (myself included) often think, "I'm more productive" when in reality what they are actually experiencing is, "My job is now easier." Easy does not necessarily mean more productive when you're trading ease for something else. In the case of coding, you're trading ease for things like understanding and maintainability.

Yes, exactly.
Post reply on HN