• Technology Consultant.
  • Software Developer.
  • Musician.
  • Burner.
  • Game Master.
  • Non-theistic Pagan.
  • Cishet White Male Feminist.
  • Father.
  • Fountain Maker.
  • Aquarium Builder.
  • Hamster Daddy.
  • Resident of Colorado.
  • Anti-Capitalist.
  • Hackerspace Regular.
  • Traveler of the American West.
  • 6 Posts
  • 193 Comments
Joined 2 years ago
cake
Cake day: June 7th, 2023

help-circle






  • My experience working with a vibe coder hired by one of our clients is actually that’s it great for MAXIMUM VP, as in a viable product made up of just under 40k lines of typescript, plus 90+ Node libraries for an app that amounts to a login page, a Square payment gateway and a user settings page (it’s seriously just a signup page for a coastguard and weather alerts service that the rest of our team built in Python and Rust). It crashes if it can’t talk to a database server that hosts no actual databases. It crashes if it doesn’t have the Square API secrets as envars, but the LLM also hard coded them into the API calls. It actually crashes if you try to run it any way other than “npm run dev” (so I srsly set up a service that runs it as npm run dev, as the ubuntu user).











  • I’m working with a team where my business partner and I are external consultants, but they also have internal developers (who are mostly very junior and need hand holding with things like using git).

    Anyway, the CEO (without talking to us first) hired a pure vibe coder with no software engineering experience to build the user interface. Super nice guy, super easy to work worth, super eager to learn but OH MY GOD THIS CODE.

    A lot of my work is / has been in cybersecurity (mostly for the space industry / NASA adjacent projects, but also less recently for start ups and fortune 500 companies). This app is the worst I’ve ever seen. The AI writes things SO weirdly. 30k lines of typescript to do something we could have done in 6k. Reams of dead code. Procedural code to do repeatable tasks instead of functions / classes (10 different ways of doing the same thing). API keys / data base credentials committed to git. API Keys stored in .env but then ALSO just hardcoded into the actual API calls.

    AND no. At the end of the day, it wasn’t cheaper or faster than it would have been to hire us to do it right. And the tech debt now accumulated to secure / maintain this thing? Security is a long term requirement, we’re bringing a buddy of mine in to pentest this thing next week, I expect him to find like 10-12 critical vulns. Wow.

    tl;dr: If a project requires security, stability, auditability, or the need to quickly understand how something works / why something happens, DON’T vibe code it. You won’t save money OR time in the long run. If you’re project DOESN’T need any of those things (and never will), then by all means I guess, knock yourself out.