[{"data":1,"prerenderedAt":197},["ShallowReactive",2],{"blog-stop-the-ai-bullshit":3},{"id":4,"title":5,"body":6,"coverImage":181,"date":182,"description":19,"excerpt":183,"extension":184,"meta":185,"navigation":192,"path":193,"published":192,"seo":194,"stem":195,"__hash__":196},"blog\u002Fblog\u002Fstop-the-ai-bullshit.md","Stop the AI bullshit",{"type":7,"value":8,"toc":171},"minimark",[9,13,20,23,26,29,32,37,40,43,46,49,52,54,58,61,64,67,69,73,76,79,82,85,92,94,98,101,104,107,110,113,115,119,122,129,132,138,144,150,153,155,159,162,165,168],[10,11,5],"h1",{"id":12},"stop-the-ai-bullshit",[14,15,16],"p",{},[17,18,19],"em",{},"Not the tools. The narrative.",[14,21,22],{},"I never liked AI.",[14,24,25],{},"Not the technology itself, necessarily. But the way it arrived. The artists who woke up to find their work scraped without consent. The breathless LinkedIn threads. The \"I built a SaaS in 72 hours and it's printing $40k MRR\" posts that somehow never had a follow-up six months later. None of that made me want to get involved.",[14,27,28],{},"So I didn't. For longer than I probably should have.",[30,31],"hr",{},[33,34,36],"h2",{"id":35},"the-hype-has-a-body-count","The hype has a body count",[14,38,39],{},"Here's what the LinkedIn crowd doesn't post about.",[14,41,42],{},"Uber's CTO told The Information earlier this year that the company burned through its entire 2026 AI coding tools budget in four months. The response wasn't to celebrate velocity gains. It was to cap every employee at $1,500\u002Fmonth per tool and build an internal approval process for exceptions.",[14,44,45],{},"A UBS survey of 125 organizations found that only 11% managed to move AI projects into production within two years. Gartner predicted 30% of generative AI projects would be abandoned after proof of concept by end of 2025. Nearly 70% of executives say they'll cut AI budgets if ROI targets aren't met.",[14,47,48],{},"These aren't fringe cases. This is the enterprise reality behind the hype.",[14,50,51],{},"The SaaS that prints millions in 3 days exists. It's also not the median outcome. And building your engineering strategy around the median LinkedIn post is how you end up explaining to your CTO why you spent six months and learned nothing.",[30,53],{},[33,55,57],{"id":56},"what-actually-changed-my-mind","What actually changed my mind",[14,59,60],{},"Not a revelation. Not a conference talk. I started using it like a tool instead of waiting for it to be magic.",[14,62,63],{},"The shift happened when I stopped asking AI to produce and started asking it to assist. Specifically: to do the things I know how to do, but faster and with less friction.",[14,65,66],{},"Drafting technical tickets. Writing unit tests. Documenting code that was never going to get documented otherwise. Structuring QA impact descriptions so the people testing my work actually had context to work with. These aren't glamorous use cases. They're also the ones where AI consistently delivers without hallucinating your entire architecture.",[30,68],{},[33,70,72],{"id":71},"the-part-nobody-talks-about-context-is-everything","The part nobody talks about: context is everything",[14,74,75],{},"I work on a large-scale Nuxt.js platform. The kind of codebase where a seemingly innocent refactor can break three markets and two checkout flows simultaneously, for reasons that live in a Confluence page from 2021 that nobody has read since.",[14,77,78],{},"You cannot throw that at an LLM and expect it to understand. It won't. It can't. It doesn't know about the ticket that caused the incident. It doesn't know why that specific pattern exists. It doesn't know what \"don't touch the hydration logic\" actually means in your context.",[14,80,81],{},"So I built context instead of expectations.",[14,83,84],{},"Custom prompts that encode our architecture decisions. Copilot instructions that reflect our coding conventions. Skills that know what a good ticket looks like on this project, what QA needs to test effectively, what documentation actually needs to say.",[14,86,87,88,91],{},"The AI doesn't review code against generic best practices. It reviews code against ",[17,89,90],{},"our"," best practices, because I took the time to write those down in a format it could use. That work - the formalization of what lived in people's heads - was entirely human. The AI just became the reviewer that applies it consistently.",[30,93],{},[33,95,97],{"id":96},"sovereignty-isnt-a-buzzword","Sovereignty isn't a buzzword",[14,99,100],{},"Here's the uncomfortable part.",[14,102,103],{},"If you let AI write your code without understanding it, you will eventually stand in front of a production incident at 3am and have nothing. No intuition. No mental model. No ability to reason about what broke and why. The AI is not on call. It doesn't have a pager. It doesn't carry the weight of what it generated.",[14,105,106],{},"You do.",[14,108,109],{},"This is why \"AI replaces developers\" is not just wrong, it's dangerous framing. A developer who can't explain their own codebase is not a developer using AI. They're a liability with a Cursor subscription.",[14,111,112],{},"Staying sovereign over your code means understanding what goes in before it ships. AI can write the first draft. You have to own the final version, not just approve it because it looked right at a glance.",[30,114],{},[33,116,118],{"id":117},"what-this-actually-looks-like-in-practice","What this actually looks like in practice",[14,120,121],{},"The workflow I've settled on, using GitHub Copilot at work and Claude for personal projects:",[14,123,124,128],{},[125,126,127],"strong",{},"Architecture validation",": feed the AI your architecture rules, your patterns, your conventions. Use it to review code against those constraints, not against whatever it was trained on.",[14,130,131],{},"That said, we do use AI for architecture and feature design. But not alone, and not without constraints. Think of it as a senior developer who needs clear boundaries and a well-defined scope. You give it the context, the constraints, the non-negotiables. It proposes. You decide. Sometimes it ignores the guardrails anyway and goes off-script. That's fine. Managing that drift is part of the workflow, not a failure of the tool. You course-correct and move on. That's what working with any opinionated collaborator looks like.",[14,133,134,137],{},[125,135,136],{},"TDD",": let AI generate the test scaffolding. You write the assertions that matter. You decide what failure looks like.",[14,139,140,143],{},[125,141,142],{},"Documentation and tickets",": this is where AI earns its keep cleanly. Better tickets mean better handoffs. Better QA descriptions mean fewer back-and-forths. The output is readable by humans, reviewed by you, signed off by you.",[14,145,146,149],{},[125,147,148],{},"Simplification",": when you've written something that works but is too complex, AI is good at finding a cleaner path. You still decide if the cleaner path is actually better given your constraints.",[14,151,152],{},"Notice what's not on this list: generating features from scratch, designing systems, making architectural decisions without a human in the loop. Not because AI can't produce something that looks right, but because \"looks right\" is not the bar. \"Is right for this codebase, this team, this constraint\" is the bar. And only you have enough context to evaluate that.",[30,154],{},[33,156,158],{"id":157},"the-actual-takeaway","The actual takeaway",[14,160,161],{},"There's an old principle in software: garbage in, garbage out. It predates AI by decades. But with AI, it takes on a different weight. A human developer working with bad context produces bad output slowly, visibly, with friction that forces the problem to surface. AI working with bad context produces bad output fast, confidently, and well-formatted. It looks right. It reads well. It passes a casual review. That's not a feature. That's the risk.",[14,163,164],{},"The quality of what you get out is a direct function of the expertise and structure you put in. AI doesn't compensate for shallow thinking. It scales it.",[14,166,167],{},"Stop waiting for AI to be magic. Start building the context that makes it useful.",[14,169,170],{},"That's the whole thing.",{"title":172,"searchDepth":173,"depth":173,"links":174},"",2,[175,176,177,178,179,180],{"id":35,"depth":173,"text":36},{"id":56,"depth":173,"text":57},{"id":71,"depth":173,"text":72},{"id":96,"depth":173,"text":97},{"id":117,"depth":173,"text":118},{"id":157,"depth":173,"text":158},"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1620712943543-bcc4688e7485?auto=format&fit=crop&w=1920&h=1080&q=80","2026-06-14",null,"md",{"tags":186},[187,188,189,190,191],"ai","engineering","tooling","workflow","opinion",true,"\u002Fblog\u002Fstop-the-ai-bullshit",{"title":5,"description":19},"blog\u002Fstop-the-ai-bullshit","lRJrEpVFg7mDyFvj9r9HHiYIvdlH9wueImOMcgEhhbo",1783778329202]