As a tech lead or eng manager, you so frequently get request from above or from other teams to drop what you are doing and work on this thing they need, *now*.
During my 4 years at Uber after asking these questions, 9 out of 10 times it turned out it wasn't really urgent:
1. "What is the impact of this work you're asking for?" If the impact is unclear: sorry, but we can't do the work. Why would we?
Just this question made the requester realize half the time they just think it's urgent, but don't know what the work will actually result in.
2. "Do you have a spec that is agreed with stakeholders?" A writeup answering the "why" and the "what" that is signed off by relevant business folks.
I've seen so much engineering work thrown out as later the business goes "that's not what we wanted, why didn't you tell us?"
3. "We're not committing to any work before we have done a rough estimation."
With #1 and #2 done, many stakeholders will come and say "drop what you're doing, this is a 3-day work we need ASAP."
Hold your horses. You don't make estimates: the team doing the work does...
4. Make the cost of dropping what you're doing very clear.
This cost is always forgotten by the person coming with the request. But it's a relevant one: wrapping up work, onboarding to the new work, then later onboarding to the old work. Plus a hit on morale for a sudden change!
Uber has some very hectic times when there were reasons we needed to do some new work ASAP. Like a regulation change that means the company would be banned from operating in a region if not building something.
Even in such a place, most "urgent" things turned out to be noise.
The way I always approached these requests was to educate the person coming with them, and have them realize their work is actually not as urgent or as important or as impactful of what the team is already doing.
Doing so meant building empathy both ways, and less hard feelings.
A huge upside of this approach: when committing, you *can* commit with a very high certainty that you will not be interrupted with your work.
The alternative: take on this "super urgent" work, then someone else comes along saying " I need you to drop what you are doing *now*..."
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Eh. I just don’t buy this because I actually understand specific examples all too well:
1. It paints a picture of DoorDash disrupted by vibe coded alternatives. Dude. DoorDash / Uber moat is NOT software!! It’s real-world physical logistics. AI cannot disrupt DD…
2. The example of AI agents disrupting travel agents because AI agents can find cheaper travel deals than what travel agents offer. Also BS!!
I worked at Skyscanner (massive airline + hotel + car rental aggregator.) Travel agents have the most of offering the cheapest tickets / packages already!! Due to their deep integration, social deals.
In a world where AI agents find the cheapest deals: travel agents win, airlines get slightly less direct business!! AI agents go to Skyscanner, find cheapest deal from a travel agent, buy it!!
Then if you made a mistake you have no option to change it lol
So now the examples from two industries I know pretty well thanks to having worked there / been involved in them (travel agents + ridesharing/food delivery) read well but are just BS at the fundamental level… other parts I don’t know well read well…. but what are the chances it’s BS at its core?
Casey’s interaction with the “whistleblower” where he gradually realizes all “evidence” is AI-generated, designed to fool even journalists… then he confronts the faker. Worth the read
We’re entering a time when it’s harder to trust anything online: and surely more people will try to fool journalists with AI-generated “evidence.” In some cases, they will succeed, especially at publications chasing headlines and not doing proper investigation / reporting!
For the last ~20 years, I did most of my coding inside an IDE - the last ~15 with increasingly good autocomplete.
Which is why it’s so weird that I barely opened an IDE the last two weeks, even as I pushed lots of code. I use the CLI, the web and my phone (!!) to prompt code
When I just started out developing I remember being so so so full of ideas that I was coding in my head and wished I could have done programming while commuting / on the bus. With eg a phone. But it was impossible, ofc.
Now it’s possible!! A massive change
I feel we’re in the middle of the biggest dev tooling change happening across the industry - and it’s happening over a few short months. And rapidly spreading everywhere.
Amusing: Google does not allow its devs to use its newly launched IDE, Antigravity, for development.
They can only use an internal version called Jetski: also built by the Antigravity team, with Google-speicfic features (eg monorepo support, docs search etc)
Using Antigravity is specifically disallowed and devs cannot sign up to it with a @google.com work address
The reason for this “ban” is, of course, Google’s “tech island” tech stack: Antigravity is simply not compatible with its monorepo, and not integrated to Google’s custom tooling.
Jetski has all of this - but it's a different product. A bit like Borg vs GCP (most of Google doesn't use GCP!)
Covered a lot more on Google’s unique culture (and how they have probably the most custom tech stack across Big Tech) in this deepdive: newsletter.pragmaticengineer.com/p/google
My personal anecdote on the impact of AI (aka Claude Code + Cursor)
There was this tool I wanted to build that would have helped my business a little bit at @Pragmatic_Eng, but not enough to
1. Do it myself (would have taken ~days) 2. Hire someone (too much onboarding)
But...
... but then I gave it a go with Claude Code + Cursor open.
In 30 minutes, I had something promising. In an hour, I got it done, exactly how I wanted (this was an addition to my existing codebase.) In another hour, I moved it over to a new stack I've been wanting to play with!
... and now it's done, and I've onboarded the first company on to this feature.
Here's the thing without this AI tool, I don't think I would have EVER done it! Not worth it.
So I think AI tools will do this. People + companies doing stuff they wouldn't have, before!
Linear has a 30-minute weekly meeting called "Quality Wednesdays." I sat through one and WOW
Devs show a quality or perf-related fix they did last week. It can be big, or small. We went through 17 issues, from massive backend performance wins, to this tiny one. Can you see it?
On one end, it was super casual. On the other, it was really dense.
A dev spent 2 minutes showing how because styled-components *feels* slow, they tried out 3 other frameworks & measured how they compare for build time, JS bundle size, CSS size, and LCP rendering performance.
Based on this, they'll probably move off styled components... mainly for LCP rendering for massive pages to be faster. But it's all tradeoffs.
And it could really be *anything.* Some devs showed work they picked up as reported by users that resulted in higher quality.
Most devs though found a small thing or two to fix last week. That first bug (off by 1px) was found and fixed by a frontend engineer.
Lots of small but irritating things fixed like moving the mouse over an element takes a small delay to show the tooltip, or the tooltip first shows as empty etc