14.9 C
Canberra
Saturday, January 3, 2026

If You’ve By no means Damaged It, You Don’t Actually Know It – O’Reilly



If You’ve By no means Damaged It, You Don’t Actually Know It – O’Reilly

The next article initially appeared on Medium and is being republished right here with the creator’s permission.

There’s a faux confidence you’ll be able to carry round while you’re studying a brand new know-how. You watch a number of movies, skim some docs, get a toy instance working, and inform your self, “Yeah, I’ve received this.” I’ve achieved that. It by no means lasts. A troublesome lesson usually accompanies the one expertise that issues.

You be taught by way of failure—falling flat in your face, trying on the mess, and determining why it broke. Something that feels too straightforward? It in all probability was, and also you didn’t exit the method with something value studying.

Ask About Failure: Failure === Expertise

After I’m hiring somebody who claims relational database experience, I ask a “trick” query:

Inform me in regards to the worst database schema you ever created. What did it train you to keep away from?

It’s probably not a trick. Anybody who’s been knee‑deep in relational databases is aware of there’s no good schema. There are competing use instances that continuously pull in opposition to one another. You design for transaction workloads, however inevitably, somebody tries to make use of it for reporting, then everybody wonders why queries crawl. One other developer on the crew inadvertently optimizes the schema (normally years later) for the reporting use case solely to make the transactional workload unworkable.

The right reply normally seems like:

We constructed for transactional throughput—one of many founders of the corporate thought MySQL was a database, which was our first mistake. The enterprise then used it for reporting functions. The system modified palms a number of instances over the course of a number of years. Joins turned gnarly, indices didn’t match the entry patterns, and nightly jobs began interfering with consumer site visitors. We needed to cut up learn replicas, finally introduce a warehouse, and after 5–6 years, we ended up simplifying the transactions and shifting them over to Cassandra.

That’s an individual who has lived the trade-offs. They’ve skilled a drawn-out existential failure associated to working a database. Whereas they won’t know easy methods to clear up a few of the foolish logic questions which might be more and more widespread in job interviews, that is the form of expertise that carries way more weight with me.

The Schema That Practically Broke Me

I as soon as shipped a transactional schema that regarded tremendous on paper: normalized, neat, every thing in its correct place.

Then analytics confirmed up with “simply a few fast dashboards.” Subsequent factor you realize, my fairly 3NF mannequin, now related to each elementary classroom in America, was getting used like a million-row Excel spreadsheet to summarize an accounting report. For a number of months, it was tremendous till it wasn’t, and the database had made a sluggish‑movement faceplant as a result of it was spending 80% of its time updating an index. It wasn’t as if I may repair something, as a result of that might imply a number of days of downtime coupled with a rewrite for a venture whose contract was virtually up.

And the way had been we attempting to repair it? If you happen to’ve been on this scenario, you’ll perceive that what I’m about to put in writing is the signal that you’ve reached a brand new degree of determined failure. As an alternative of contemplating a rational method to reform the schema or separating what had develop into a “web-scale” workload in 2007 from a NoSQL database, we had been attempting to determine easy methods to buy sooner exhausting drives with greater IOPS.

I discovered loads of issues:

  • I discovered that upgrading {hardware} (shopping for a sooner machine or dropping 1,000,000 {dollars} on exhausting drives) will solely delay your disaster. The actual repair is unavoidable—large horizontal scaling is incompatible with relational databases.
  • I discovered the which means of “question plan from hell.” We band‑aided it with materialized views and skim replicas. Then we did what we must always’ve achieved from day one: arrange an precise reporting path.
  • If you’re having to optimize for a question plan each week? Your database is sending you an vital sign, which you need to translate to, “It’s time to begin on the lookout for an alternate.”

Lesson burned in: Design for the use case you even have, not the one you hope to have—and assume the use case will change.

What Does This Need to Do with Cursor and Copilot?

I’m seeing lots of people writing on LinkedIn and different websites about how superb vibe coding is. These celebratory posts reveal extra in regards to the folks posting them than they notice, as they hardly ever acknowledge the truth of the method—it’s not all enjoyable and video games. Whereas it’s astonishing how a lot progress one could make in a day or per week, these of us who’re really utilizing these instruments to put in writing code are the primary to inform you that we’re studying loads of troublesome classes.

It’s not “straightforward.” There’s nothing “vibey” in regards to the course of, and if you’re doing it proper, you might be beginning to use curse phrases in your prompts. For instance, a few of my prompts in response to a Cursor Agent yesterday had been: “You’ve got to be kidding me, I’ve a rule that acknowledged that I by no means wished you to do this, and also you simply ignored it?”

Every time I see folks get excited in regards to the newest, best fad factor that’s altering the world, I’m additionally the primary to note that perhaps they aren’t utilizing all of it. In the event that they had been, they’d perceive that it’s not as “straightforward” as they’re reporting.

The failure muscle you construct with databases is similar one you want with AI coding instruments. You possibly can’t tiptoe in. You need to push till one thing breaks. Then you determine easy methods to method a brand new know-how as knowledgeable.

  • Ask an agent to refactor one file—nice.
  • Ask it to coordinate adjustments throughout 20 information, rethink error dealing with, and maintain assessments passing—now we’re studying.
  • Watch the place it stumbles, and be taught to body the work so it could possibly succeed subsequent time.
  • Spend a whole weekend on a “wild goose chase” as a result of your agentic coder determined to disregard your Cursor guidelines fully. ← That is costly, nevertheless it’s the way you be taught.

The trick isn’t avoiding failure. It’s failing in a managed, reversible method.

The Meta Lesson

If you happen to’ve by no means damaged it, you don’t actually understand it. That is true for coding, budgeting, managing, cooking, and snowboarding. If you happen to haven’t failed, you don’t understand it. And the general public speaking about “vibe coding” haven’t.

The folks I belief most as engineers can inform me why one thing failed and how they adjusted their method in consequence. That’s all the recreation with AI coding instruments. The sooner you’ll be able to run the loop—attempt → break → examine → refine—the higher you get.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

[td_block_social_counter facebook="tagdiv" twitter="tagdivofficial" youtube="tagdiv" style="style8 td-social-boxed td-social-font-icons" tdc_css="eyJhbGwiOnsibWFyZ2luLWJvdHRvbSI6IjM4IiwiZGlzcGxheSI6IiJ9LCJwb3J0cmFpdCI6eyJtYXJnaW4tYm90dG9tIjoiMzAiLCJkaXNwbGF5IjoiIn0sInBvcnRyYWl0X21heF93aWR0aCI6MTAxOCwicG9ydHJhaXRfbWluX3dpZHRoIjo3Njh9" custom_title="Stay Connected" block_template_id="td_block_template_8" f_header_font_family="712" f_header_font_transform="uppercase" f_header_font_weight="500" f_header_font_size="17" border_color="#dd3333"]
- Advertisement -spot_img

Latest Articles