Articles.

The review queue is the first thing to jam when code writing speeds up

AI software development: review is the new bottleneck

Anthropic went from 2,500 to over 30,000 merges a day in four months. Three numbers from your own repo that show whether verification fell behind.

Oct 14
8min read
Victhor AraújoVicthor Araújo
Before opening the editor, week one is spent reading what the system actually did yesterday

Inherited spaghetti code: the first 7 days, in order

Inherited spaghetti code from a vendor that left? The order of the first 7 days: what to measure before writing a line, what to freeze, and how it turns into three timelines.

Sep 30
8min read
Victhor AraújoVicthor Araújo
Automated review approves the shape of the code, never the intent behind it

AI code review: how far you can take the human out

AI code review approves what a rule can verify. Anything that changes business behaviour still needs a person. Where to draw the line, and the month-14 bill.

Sep 28
7min read
Victhor AraújoVicthor Araújo
The new debt arrives in the pull request approved in four minutes

Technical debt from AI coding agents: how to measure the bill

Technical debt written by coding agents never shows up as a bug, it shows up as schedule. Three counts you can run this afternoon, plus what to change in code review.

Sep 23
7min read
Victhor AraújoVicthor Araújo
In ticket triage, the model's mistake is the wrong queue, and wrong queues can be counted

AI that picks vs AI that writes: where each belongs in your system

Closed decisions (classify, route, validate) call for a model that picks and errors you can count. Free text needs human review. How to decide and test it, with Jev as the case.

Sep 18
8min read
Victhor AraújoVicthor Araújo
The upgrade ticket that never makes the sprint is the one that turns into a frozen quarter

Incremental migration vs big-bang: what each one costs your roadmap

Upgrades of the same tech belong in every sprint. A different tech is a project, and even that ships in slices. What each path costs and where the rule breaks.

Sep 15
8min read
Victhor AraújoVicthor Araújo
The cores are busy around the clock. The question is who is on the other end.

Scraper traffic is inflating your cloud bill: how to measure it

At git.kernel.org, 14 CPU cores do nothing but render pages for scrapers, more than all legitimate access combined. How to split bots from humans in your logs first.

Sep 9
7min read
Victhor AraújoVicthor Araújo
The platform everyone called obsolete can still tell you what it did yesterday

Mainframe and AI: legacy modernization is about missing logs and owners, not age

CIO Dive reports AI agents helped sustain confidence in the mainframe. Three checks that tell you whether your system is legacy, and what to do about each one.

Sep 2
7min read
Victhor AraújoVicthor Araújo
Old code is usually the only living documentation of the rules your revenue depends on

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

Aug 24
8min read
Victhor AraújoVicthor Araújo
PR volume went up and the review queue is where the AI gain disappears.

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.

Aug 19
7min read
Victhor AraújoVicthor Araújo
Inheriting an undocumented system starts with understanding what already runs in production

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.

Aug 14
7min read
Victhor AraújoVicthor Araújo
A screen full of passing test files never tells you, on its own, whether any of them actually checks a result.

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.

Aug 7
5min read
Raquel ReisRaquel Reis