
Thousands of IF/THEN/ELSE rules: code, engine or spreadsheet
Rules that change weekly belong in versioned data with an owner. Rare rules stay as ifs. When a rules engine pays off, and what the finance spreadsheet really costs.

Why can't IT deliver big projects on time like construction?
Construction slips too. Three contract devices explain the gap: a paid design phase, signed change orders with measurement, and one named engineer of record.

Technical debt you cannot see: measuring cognitive debt
The most expensive technical debt is the rule only one person can explain. A 40 minute test to find that concentration, and what to do once it shows up.

Legacy modernization: upgrade PHP 5.6 to PHP 8 or full rewrite?
Upgrading PHP 5.6 to PHP 8 usually costs less than a rewrite. Three measurements (compatibility, dead dependencies, revenue flows without tests) tell you if your case is the

How to respond when you are asked for an estimate
Answer with a range, the part nobody has measured yet, and the date you tighten the number. Why the deadline question fails and what to measure first.

AI software development: teams ship more code and deliver less. What to measure
PR volume is up and the product hasn't moved. Four measurements that expose where AI turns into debt: review queue, 30-day rework, mutation score and real customer use.

Brazil software development hourly rates 2026: ranges by model
Freelance, dev shop and embedded squad rates out of Brazil in 2026, plus what disappears from the delivery when a vendor agrees to match a lower price.

Legacy system modernization: the first two weeks with 200K lines of spaghetti code
The first two weeks on an undocumented legacy codebase: boot it from scratch, instrument production, map the five revenue paths. And why the day-4 rewrite call backfires.

The code that passes the pitch and fails due diligence
I talked to founders who went through technical diligence and watched the term sheet shrink — not over the product, but over the paperwork, the code's ownership, and everything nobody had read with a buyer's eyes. Why the time to fix it is long before the round.

I changed one number in the URL and saw another customer's orders
A client asked me for a second opinion on the app another shop had shipped. Twenty minutes in, changing one number in the address bar, I was reading another company's order on his platform. Login worked; authorization didn't. On the cheapest hole to prevent and the most expensive to find late.

High test coverage is where production bugs hide best
A founder sent me a 92% coverage badge the same night his checkout was down. Coverage counts lines that ran, not results anyone checked, and it is the easiest number for a vendor to inflate. What a senior squad reads before it trusts the green.

It was fast in the demo. Then the data grew.
At launch the app flew; six months later every screen crawls. It is almost never a server problem, it is code that talks to the database the wrong way. What a senior squad checks before you throw money at bigger infrastructure.