Skip Navigation
49 comments
  • malicious compliance, folks.

    let the ai ruin their codebase, get paid to fix it again.

  • Preface: I have a lot of AI skepticism.

    My company is using Cursor and Windsurf, focusing on agent mode (and whatever Windsurf's equivalent is). It hallucinates real hard with any open ended task, but when you have ALL of:

    • an app with good preexisting test coverage
    • the ability to run relevant tests quickly (who has time to run an 18 hour CI suite locally for a 1 line change?)
    • a well thought out product use case with edge cases

    Then you can tell the agent to write test cases before writing code, and run all relevant tests when making any code changes. What it produces is often fine, but rarely great. If you get clever with setting up rules (that tell it to do all of the above), you can sometimes just drop in a product requirement and have it implement, making only minor recommendations. It's as if you are pair programming with an idiot savant, emphasis on idiot.

    But whose app is well covered with tests? (Admittedly, AI can help speed up the boilerplating necessary to backfill test cases, so long as someone knows how the app is supposed to work). Whose app is well-modularized such that it's easy to select only downstream affected tests for any given code change? (If you know what the modules should be, AI can help... But it's pretty bad at figuring that out itself). And who writes well thought out product use cases nowadays?

    If we were still in the olde waterfall era, with requirements written by business analysts, then maybe this could unlock the fabled 100x gains per developer. Or 10x gains. Or 1.1x gains, most likely.

    But nowadays it's more common for AI to write the use cases, hallucinate edge cases that aren't real, and when coupled with the above, patchwork together an app that no one fully understands, and that only sometimes works.

    Edit: if all of that sounds like TDD, which on its own gives devs a speed boost when they actually use it consistently, and you wonder if CEOs will claim that the boosts are attributable to AI when their devs finally start to TDD like they have been told to for decades now, well, I wonder the same thing.

    • The thing to understand is that it is not about improving developer efficiency. It is about improving corporate profits.

      Because that engineer using "AI"? If they are doing work that can be reliably generated by an AI then they aren't a particularly "valuable" coder and, most likely, have some severe title inflation. The person optimizing the DB queries? They are awesome. The person writing out utility functions or integrating a library? And, regardless, you are going to need code review that invariably boils down to a select few who actually can be trusted to think through the implications of an implementation and check that the test coverage was useful.

      End result? A team of ten becomes a team of four. The workload for the team leader goes up as they have to do more code review themselves but that ain't Management's problem. And that team now has saved the company closer to a million a year than not. The question isn't "Why would we use AI if it is only 0.9x as effective as a human being?" and instead "Why are we paying a human being a six figure salary when an AI is 90% as good and we pay once for the entire company?"

      And if people key in on "Well how do you find the people who can be trusted to review the code or make the tickets?": Congrats. You have thought about this more than most Managers.

      My company hasn't mandated the use of AI tools yet but it is "strongly encouraged" and we have a few evangelists who can't stop talking about how "AI" makes them two or three times as fast and blah blah blah. And... I've outright side channeled some of the more early career staff that I like and explained why they need to be very careful about saying that "AI" is better at their jobs than they are.

      And I personally make it very clear that these tools are pretty nice for the boiler plate code I dislike writing (mostly unit tests) but that it just isn't at the point where it can handle the optimizations and design work that I bring to the table. Because stuff is gonna get REALLY bad REALLY fast as the recession/depression speeds up and I want to make it clear that I am more useful than a "vibe coder" who studied prompt engineering.

49 comments