惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
宝玉的分享
宝玉的分享
G
Google Developers Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
V
Visual Studio Blog
博客园 - Franky
S
SegmentFault 最新的问题
Jina AI
Jina AI
爱范儿
爱范儿
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
C
Check Point Blog
月光博客
月光博客
P
Proofpoint News Feed
T
The Blog of Author Tim Ferriss
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
Martin Fowler
Martin Fowler

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Your Codebase Was Always This Bad
Jono Herring · 2026-05-02 · via DEV Community

A team turned on agent mode a month ago. First week, ecstatic. Shipping faster than they had in years. Second week, incidents started showing up. Third week, they were ready to blame the tool.

Then their senior pulled up the logs. Found the bug. Traced it back. The function had been broken since 2019. The AI just called it correctly for the first time in years.

The room went quiet.

They had shipped around that broken function for six and a half years. Workarounds in three services. Documented in runbooks. Never fixed because it never broke loud enough to matter. The fragility was always there. They had learned to dance around it so well they stopped seeing it.

The AI didn't create the problem. It walked into a house of cards and accidentally leaned on a wall.

The Pattern Keeps Showing Up

I was on a call last month with a team that's all in on AI. Slack full of celebration emojis. Pull requests flying. Shipping faster than ever. And their most senior engineers were terrified.

Monorepo with submodules. No specs, no Docker, no clean local setup. New developers take weeks to get running. The codebase is an atrocity that everyone had silently agreed to live with.

QA told me the engineers are throwing code over the wall now. Ship fast, fix later. Except later never comes. The defect queue keeps growing. A piece of work originally estimated at two weeks is still open six months later.

They don't blame the AI for breaking things. They blame themselves for what the AI revealed.

The whole org is chanting "ship faster, ship faster, ship faster." Celebrating motion while the foundation erodes. Activity dressed up as progress.

I Was the Genie User

I got this wrong myself when I first started.

I was building an app to bridge design and development. Take a Figma payload, convert it to production-ready code, eliminate the handoff. The promise was huge. Ship faster. Close the gap between design intent and working software.

I fell into vibe coding. I'd ping the model with what I wanted, then wait for magic. No structure. No guardrails. Just me wishing code into existence and the AI trying to comply.

The output looked right at first glance. But the design models were wrong. The code was verbose, layered with assumptions it couldn't have known to question. It wasn't solid. It was code built on foundations I had never explained, doing things I hadn't specified, making choices I hadn't authorized.

I was asking a junior engineer to read my mind and getting annoyed when they couldn't.

The breakthrough came when I stopped treating AI like a completion engine and started treating it like a new team member who needed context. Guardrails. Documentation that explained why the system worked the way it did. Clear boundaries around what the AI could assume and what it couldn't.

Once I did that work, the output changed. Not because the model got better. Because I had stopped wishing.

The Light Got Brighter

Race conditions that existed for years. Null references that always threw but never mattered. Configuration drift that a dozen services had quietly learned to tolerate.

The code didn't get worse when AI showed up. The light got brighter.

The teams winning right now aren't just shipping faster. They're going back and fixing foundations first. Adding specs. Documenting invariants. Creating boundaries the AI can understand and respect. They're doing the work that makes the AI useful instead of asking it to do magic on top of ruins.

AI accelerates whatever direction you're already heading. Solid foundation, you compound. Cracked foundation, you find the cracks sooner.

The codebase was always this bad. The AI just made it visible.

What assumption in your codebase has survived because nobody ever tested it?


One email a week from The Builder's Leader. The frameworks, the blind spots, and the conversations most leaders avoid. Subscribe for free.