Remember when AI was gonna take our jobs? I've never felt busier. The more I get done, the more there is to do.
It's hard to explain. 3 analogies come to mind.
Work done creates more work
Do you know how fizzy drinks explode out of a shaken can? Or how a very cold bottle of beer freezes solid when you tap the bottom?
Guess it works with supercooled water too.
The physics are fascinating: You have a high concentration of gas dissolved inside a liquid. Because the liquid is pure, the gas can't escape. But when you add a nucleation site bubbles (or ice crystals for supercooled liquids) begin to form. With the right conditions this kicks off an exponential reaction where every bubble becomes a nucleation site for more bubbles. Your fizzy drink blows up, supercooled beer freezes solid, clouds form in the sky, hailstorms are created, etc. All those phenomena are phase-shifts started by nucleation sites.
Using AI feels like that.
Every task you do, every feature you ship, creates more work and ideas for new things you could do. Then you do those and get even more ideas for neat things you could add. And ...
How robots create busywork
Here's how robots create busywork
- "Hey Swiz this sucks"
- Oh shit yeah it does. Eh it's small and not worth our time. @cursor make this
- Background agent started
- You run off to work on something else
- Ping! Agent finished your task
- Oh right, that thing. What was I doing again?
- Read the slack thread
- Oh! Right. Look at pull request, yeah code looks fine
- Ugh but it's complex enough that I should test this
- Pull code, change branches, run the thing
- Yep looks fine
- But it's technically my pull request so I can't approve and merge
- Mark as ready to review
- Run off to work on something else
- Ping! Your code has been approved
- Huh? Oh right, the thing. Hit merge
And you've spent 1 person-hour on something that was not a priority. It got done! It's useful! People love it.
But what are all the other more important things that didn't get their full attention? Don't forget others who had to review robot code, read robot comments from your reviewer bots, read the overly verbose PR description, and generally take time out of their day.
If reviewers have feedback, the whole thing gets worse.
Now you have to decide if slop is fine, the feedback is worth implementing, test your code again, wait for more reviews, ... all for a low-priority task nobody planned for. That's why you had a robot do it! Because it's not worth your time!
๐ฉ
Sounds a lot like working with juniors right? Wrong! Juniors are learning, you're training them The apprenticeship model! There's no apprenticing a robot.
But at least you saved time?
Yeah maybe. Studies have shown that programming with AI feels 20% more productive, but is in fact 20% less productive. This rhymes with studies on multi-tasking โย it feels more productive but causes you to get less done and feel more stressed.
Work In Progress kills your progress. I will die on this hill. DO FEWER THINGS IN PARALLEL! AI encourages you to do more in parallel ๐
Ok but at least AI helps with drudgery!?
Yes, that it does. We installed Linear recently and it's been great. You can have a long discussion in Slack and @linear to make a new task. Summarizes the thread, puts the task where you want it, assigns labels and people if you want. Much easier than switching apps and clicking around by hand.
It's ... great?
And that's just things we added straight to sprint. Please don't look at my triage inbox.
For each of those tasks and ideas someone (me as manager? me by delegating decisions?) has to decide how important they are. Is it urgent? Urgent and important? Quick and small so the robots can do it? (see above)
๐ฎโ๐จ
Ultimately I'm responsible for making sure we meet our goals.
Are the robots helping? Who even knows anymore. They sure fill my day with more work to get done.
I think this is how my parents felt when computers entered the workplace. All the same work but faster and more frantic.
Cheers,
~Swizec
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below ๐
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails ๐ on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. ๐"
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help ๐ swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers ๐ ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are โค๏ธ
