This year's coding agents are good enough to make large-scale code migrations a solved problem. See Bun's 500K-line Zig-to-Rust rewrite. Now the bottleneck is what happens after you move the mountain of code. An agent may write a million lines and make the tests pass. 1/3
2
4
27
4,998
If coverage was thin before the migration, the tests were never the check, and making them one afterwards is a bigger project than the migration was. What worked for me was going the other way. Pick the handful of things a user would notice breaking, and verify those from outside the code. The app doing the thing. A number I can check myself. It's a much shorter list than a test suite, and it's the list that actually mattered. I can't read the code, so I've never had the option of defining done any other way. 400 routes is a lot of surface. The number of behaviours you'd get a support ticket about is not.
1
1
42
Yes, end to end verification is good and needed. Many issues found by asking the agent to confirm that page X is identical when rendered on both frameworks. Agents are smart and ignore random changes in DOM attributes that don't affect UI, which reduces the friction
1
10
But what do you do after that? And how do you approach this if your test coverage is thin? Here's how we migrated lovable.dev (400 routes, 850K lines, 42M monthly visitors) from Next.js on Vercel to TanStack Start hosted on Lovable itself. 2/3
1
10
279
In 20+ years in the industry, I've never seen software development change as fast as it's changing today. Lovable is a cool place that lets you work at the cutting edge and find out what the future of software development looks like [1/2]
1
4
24
4,595
Friends who used to hand-write code and who now vibecode, I'm curious about how much time you spend reading source code, and especially curious if you learned any new programming idioms from LLM outputs.
49
3
115
28,698
Reading code stochastically, but not every line. Trying to make sure every important line is read though. A lot of learning from LLMs. "This looks off, is there a better way?" is something I use almost daily. LLMs are great at helping you learn when you want to.
752
Replying to @emilfagerholm
This is the CMS for the agent age
1
518
One really, really, really good use case for AI and coding: Writing unit integration tests. I always hated doing these, because most of the effort was about the setup (remembering how to use the test framework, how to create a fake, a mock, the syntax) Love handing it off!!
97
38
938
50,533
When I say "because I had to" I mean because I knew that they are SO important both for the present and the future. But they never gave me much intellectual satisfaction - in ways that writing my code had done (and still does!)
4
1
70
10,841
The quality of test code I get from LLMs is consistently worse than quality of production code. I guess test code in the training set was quite dull and the style transferred. Still great use for them, I now get higher test coverage just because adding adequate tests is so easy
67
AI writes 90% of my production code now. Speedup: 3-4x for prototypes, but only 1.5x for prod. The bottleneck moved from writing code to reviewing it. You still have to read every line. Field notes from 6+ months of coding with agents: 1/x
1
1
74
On code review: It's the new bottleneck. Every agent gives you a week's worth of not-great code in hours. You have to review it all. Your team has to review it all. Stacked PRs, better PR hygiene, AI self-review all help. 3/x
1
52
Full post: quality, testing, code review, team dynamics, and what actually changes when agents write your code: open.substack.com/pub/alexan…
41
Unpopular opinion: Current code review tools just don’t make much sense for AI-generated code When reviewing code I really want to know: - The prompt made by the dev - What corrections the other dev made to the code - Clear marking of code AI-generated not changed by a human
168
75
1,433
139,117
It’s just amusing that with these AI tools and agents we seem to be getting back to this truth: A team of strong software engineers who care about the quality + maintainability of the codebase >> A team of devs using powerful AI coding agents rather mindlessly
7
5
119
15,453
Very true! Removing code review makes sense when no human is ever expected to look at the code or modify it. In more traditional code bases teams would probably fight slop, with mixed success. Strong engineering teams would mostly win and weak one would mostly give up
139
На этой неделе пишем невероятный выпуск про то, как дизайнить API библиотек и поддерживать его, не ломая проекты и жизни разработчикам, его использующим. Накидайте ваших вопросов!
6
1
33
4,038
Если ли пакетные менеджеры, где обратная совместимость и несовместимость представлены нормально? В npm всё ужасно, в java-мире ужасно. Вроде, были интересные идеи в Golang и в Rust?
101
Alexander Lebedev retweeted
Only brave and skilled designer+developer can win the battle against IE7/IE8 incompability. I hope one day that skills would become obsolete
1
Great languages still have ugly aspects. #python datetime libs suck and #ruby unicode support is even worse
Never try updating data in two external systems within single transaction. This is very fragile and you'll regret it deeply.
Replying to @jonnyjon
@jonnyjon You've just discovered time machine. Welcome to web technologies of year 1999