“There are no solutions, only trade-offs.” — Thomas Sowell1

Everything in software is a compromise: language, cloud, security, deadlines. The “best” choice for a weekend hackathon is the wrong choice for a bank — and vice-versa.

In my role as CTO for a small startup, my goal isn’t purity; it’s ROI. Shipping value fast earns trust and revenue. That lens guides every decision.

AI coding assistants are just another trade-off

They generate working code in seconds, but sometimes get it wrong. For our business the math is simple:

  • Shipping a feature on the same day it was requested earns trust
  • Fixing an occasional bug costs minutes

Speed beats perfection whenever the blast radius is small.

🛑 Time Out: Stop obsessing over the terminology

“Actually it’s not AI, it’s just a large language model that predicts the next word.🧐”

Shut. the. fuck. up.

Books are just dead trees with ink stains.

Wasting time on semantic debates is a luxury for people who aren’t shipping. It’s a bureaucratic stall tactic disguised as intellectual rigor. In a world that’s moving fast, getting stuck on the name of the tool is an invitation to watch your competitors lap you.

Tradeoffs again

Scenario A: You use AI to build a feature. There’s a bug. You find it, fix it, and ship a patch. All in 24 hours.

Scenario B: You architect the perfect solution. You discuss it. You test it. You stage it. You ship the feature two weeks later, flawlessly.

If the bug in Scenario A loses customer trust, Scenario B wins. If the bug didn’t matter? Scenario A wins by a mile.

Same tradeoff, different stakes.

What we’ve seen in the real world

We’re pushing features fast at my company, and we make heavy use of AI tools. Sometimes customers ask for something in the morning, and they see it live that same day. Have we shipped bugs? Yep. Have customers lost trust? Not really. They’re too busy being impressed with how fast we move.

And when bugs happen, it’s almost always because I didn’t prompt the AI well, or didn’t check its output closely enough. That’s on me — not the tool.

Ignoring AI coding tools is a tradeoff

“AI won’t replace humans — but humans with AI will replace humans without AI.”2

Ignore AI coding tools and you accept the opposite trade-off: slower delivery for hypothetical perfection. Sometimes that’s required (medical devices, massive distributed systems); often it isn’t (SaaS features, prototypes).

TL;DR

  1. All engineering choices are trade-offs.
  2. AI coding assistants tilt the speed/perfection curve toward speed.
  3. Use them aggressively when the cost of failure is low and speed matters.
  4. Slow down when mistakes cost trust or money.
  5. Make the trade-off deliberately.