I read this morning that Cisco has handed a 27-year-old engineer, Padmanabhan Krishnamurthy, unlimited AI tokens and the job of rewriting 98% of the company’s legacy code in 24 months. He came to Cisco when it bought EzDubs, the startup he co-founded, he proposed doing it with a team of two (maybe three), and he has given himself four weeks to prove the approach works. According to Notebookcheck’s write-up of the Fortune interview, Cisco’s president Jeetu Patel found him “buried away in the organization doing something unstrategic”, five levels below him, and his brief boiled down to “go nuts”. I love it, to be honest. And it made me smile, because I ran a (much, much smaller) version of the same experiment on my own codebase earlier this year.
Let me explain.
My Own Little Legacy Codebase
The code behind Calendrz (the product I’m building, which mirrors your availability across all your Google and Microsoft 365 calendars so you stop getting double-booked) goes back to July 2020: a Java and Spring Boot backend, an Angular frontend, the usual bits and pieces. I worked on it a lot in 2021 and 2023, and then it went quiet. Very quiet: 18 commits in the whole of 2025. As such, by the start of 2026 the frontend was still on Angular 16 (5 major versions behind), the backend was a major version behind on Spring Boot, the Microsoft Graph SDK and Gradle, and there was a fair amount of code nobody ran any more. Nothing on the scale of Cisco’s 40-odd years of networking software, granted (my codebase is a rounding error next to theirs 🙂), but legacy code nonetheless, and the kind you put off upgrading because you know it’s going to eat a fortnight and break things in places you forgot existed.
So in March I sat down with Claude Code and did it in one go. On 2 March 2026, in between mid-afternoon and just before midnight, the agents and I upgraded Gradle 8 to 9, Flyway 11 to 12, Spring Boot 3.5 to 4.0 (which drags in Spring Framework 7, Hibernate 7 and Jackson 2 to 3), the Microsoft Graph SDK 5 to 6, Node 20 to 24, and Angular 16 all the way to 21. The Angular one alone touched 84 files, added about 5,700 lines and removed about 12,000, converted every component to the modern standalone style and moved every template to the new control flow syntax. The next morning it was the Stripe SDK (24 to 29), TSLint to ESLint, and a deprecated Google credentials class. A few years ago I’d have budgeted a few weeks for that lot; it took about a day.
Now, the speed is the least interesting bit. What I find more interesting is what had to happen before the agents could go that fast.
Tests First, Tokens Second
The weekend before the upgrades I did the boring stuff. I fixed 23 frontend unit tests that had been quietly failing (for who knows how long), and wired the frontend tests into the Gradle build, so a broken frontend fails the build instead of sailing through to packaging. Then I had the agent remove dead code across 37 files, roughly 680 lines that nobody called any more.
Why bother? Because an agent rewriting code needs a definition of “done” that isn’t “it compiles and the agent says it’s fine”. Every upgrade PR ended with the same line: all unit tests pass, full build succeeds. That’s the contract. Without it, unlimited tokens just buy you an unlimited amount of code you can’t trust. And deleting dead code first means you don’t spend tokens (or review time!) carefully modernising something nobody runs. I suspect a decent chunk of Cisco’s “98%” will turn out to be code that should simply be deleted, and that’s the cheapest rewrite of all.
The other thing that mattered: small steps. The agent didn’t jump Angular from 16 to 21 in one leap; it went 16 to 17 to 18 and so on, with the build and the tests green at each stage, and each library upgrade went in as its own PR. When something breaks you know exactly which step broke it, which is old-school engineering discipline more than anything clever.
Review Still Earns Its Keep
Sure, tests pass, job done, right? Not quite. The review on the Angular PR caught a bug the tests didn’t: a chain of async calls in the main app component where one step completed without ever emitting a value, so the steps after it never ran. Green build, broken behaviour. Easy to fix once spotted, and exactly the sort of thing that slips through when you’re merging half a dozen PRs in an evening. As such, my take is that the bottleneck in an AI rewrite is the judgement rather than the tokens: knowing what “done” means, which tests you actually trust, and where to look hard in the diff.
Which is also why I’d watch how Cisco measures that 98%. Lines of code converted? Systems retired? Services running in production on the new code? Those are very different numbers, and only the last one really counts.
The Bit I Like Most
Here’s the thing though: the most telling part of the Cisco story, for me, is that the president went five levels down, picked the person with the idea, gave him a tiny team and four weeks, and let him get on with it. No steering committee, no 6-month evaluation of AI coding tools. I’m convinced that’s how it’s going to work from now on: AI gives you the velocity, but only organisations willing to decide quickly get to use it. The ones that still put every decision to a committee and sit on it for a week will be overtaken by much smaller, agentic teams (and a team of two with unlimited tokens is exactly that, inside a company of tens of thousands).
And if you squint a bit, a rewrite like this is a preview of where software engineering is going anyway: a “lights out” setup where people write the specs and the tests, and agents write, test and ship the code. In that world the code is the cheap, replaceable part. The specs and the tests are the asset. My upgrade sprint only worked because the tests were there; the code itself got rewritten without much ceremony.
So, if I were advising Cisco’s new rewrite team (and nobody’s asked, I know 🙂), I’d say: spend the first of those four weeks on tests and on deleting things. The tokens will still be there afterwards.
Bottom line: unlimited tokens are a great start, but a safety net you trust is what makes them worth spending. If you’ve tried a big AI-driven upgrade or rewrite yourself, I’d be very interested to hear how it went, drop me a line.







