Hi friends đź‘‹ Can you believe it's almost May? When did that happen? If you're feeling down about time going by so fast, look at the bright side: it won't be long before we can stop feeling guilty about not putting down Christmas lights yet.
Before we dive into today's short AI-inspired essay, I have a super exciting AI-related event to share with you all. On May 8, I'll have the honor to speak at Coding with AI: The End of Software Development as We Know It, an event hosted by Tim O'Reilly and Addy Osmani exploring the future of AI-enabled development. The line-up of speakers is truly amazing, and, best of all, you can register to attend the event live for FREE! You won't want to miss this one.
Today, we also have a new episode of the Frontend.fm podcast with Astro-expert Chris Pennington and a bunch of interesting links on everything from performance metrics to React application architecture.
Let's dive in.
MAXI'S RAMBLINGS
Fear and Curiosity and AI
There are two stages of AI adoption among developers, and you can tell in which stage someone is by the way they react when an AI makes a mistake.
A Stage 1 reaction looks something like this:
“Ha! Look at this dumb mistake the AI made. It thought I was using Tailwind when I’m actually using Style Components. More like Artificial Unintelligence, am I right? Good luck taking my job, bots.”
A Stage 2 reaction looks more like this:
“Hmm, I wonder why the AI got confused there. Maybe some of my classes in this component look like Tailwind classes. How can I prevent this from happening in the future? Let me add a Cursor Rule to tell it I’m actually using Styled Components in this project.”
A Stage 1 reaction is defensive. It comes from a position of fear that makes us see AI as our enemy. As a threat that, maybe, if we undermine it long enough, we’ll be able to eliminate.
A Stage 2 reaction looks at the problem with a curiosity mindset. It sees AI as what it is—a tool. And just like any other tool, our skill at using it depends on how willing we are to ask questions, experiment, and tinker without ego. In other words, by how curious we’re willing to be.
This isn’t a new idea, of course. Curiosity is likely what drove you to a career in software development in the first place, and it’s what made you stick with it long enough to be reading this article right now. Without a curiosity mindset, most of us would have quit at the first “undefined is not a function” we saw.
If you haven’t made it to Stage 2 yet, that’s totally understandable. AI might be just a tool, but it isn’t like any of the other technology innovations we’ve seen in our lifetimes. Yes, we had to adapt to new languages and frameworks in the past, but none of them put at risk our ability to put food on the table.
But here’s the thing: the biggest threat to our careers is not AI itself, or the trillions of VC money being invested in trying to replace software engineers, or the wave of vibe coders suddenly entering the job market.
The biggest threat to our careers is getting stuck in Stage 1.
Every second we spend mocking AI and trying to undermine it is a second someone else is using to get better at it—and when the dust settles, they’ll be the ones shaping the future of our craft, whether we like it or not.
For anyone feeling stuck in Stage 1 of AI Adoption, I have just one piece of advice: give it five minutes—or... more like 5 weeks, I should say.
Leave your misconceptions about AI at the door and commit to a month of working with AI instead of working against it. Decide that for the next few weeks, every time you feel frustration bubbling up, you’ll respond with a question instead of a judgment. Decide that you’ll treat AI not as an evil robot that is out to get you, but as a clumsy helper that gets better the more you teach it.
Start small. Pick a part of your workflow that feels low-stakes—like writing tests, or generating boilerplate code, or drafting those docs you’ve been meaning to get to since 2019—and explore what AI can (and can’t) do there.
Read Harper Reed’s excellent article on the LLM Developer Hero’s Journey and figure out which stage you’re currently at and what you need to do to move to the next one.
Find a group of people who are also on the journey. Start a Slack channel at work or join a Discord server. Share tips, share failures, share weird prompts that somehow worked. And yes, also share the times AI makes dumb mistakes like assuming you’re using Tailwind… but then add: “Any tips on how to improve this?”
You’ll quickly notice something: you’ll start having fun working with AI. That’s right, I said fun. Reports of AI taking the joy out of programming have been greatly exaggerated. In my experience, when the bots take over the tedious parts, they don’t take away the joy—they clear more space for it.
Yes, your relationship with code might look different than what it was in the past, but that’s not necessarily a bad thing. You’ll find yourself not only getting better at working with AI, but also getting better at your craft.
And, isn’t that what we’re all trying to do here?
Take it from someone who spent a good chunk of time stuck in Stage 1: the faster you move from fear to curiosity, the faster you’ll find that the future isn’t something to be afraid of.
It’s something to be built–by people like you.
​FRONTEND.FM​
Astro, Resend, and Coding in Public with Chris Pennington
In this episode of Frontend.fm I chat with Chris Pennington, a developer experience engineer at Resend and the creator behind the popular YouTube channel Coding in Public.
Join us to hear about Chris’ journey in tech, the importance of learning the fundamentals of HTML, CSS, and JavaScript (even in the age of AI), what makes Astro special, the power of Resend, and much more.
You can listen to the full episode on YouTube, Spotify, and Apple Podcasts. Don't forget to subscribe to the podcast on your favorite platform to be the first to know when a new episode comes out.
​
Add to your queue |
ARCHITECTURE SNACKS
Links Worth Checking Out
- This week I finally got a chance to watch Aaron Francis' talk at Epic Web Conf and, unsurprisingly, it was really, really good. Man, he's a good speaker. I can only imagine how hard it must be to deliver a motivational talk at a tech conference, but Aaron seems to have been born for it. If you're looking for a short and engaging talk that will get you pumped and inspired, give this one a watch.
- Last week I joined Yasemin TurÄźay on her podcast Commit to Growth to chat all about web performance, web vitals, LCP, INP, CLS, and many, many other three-letter acronyms. This was a really fun and beginner-friendly conversation, so it's ideal for anyone looking for an intro to performance metrics.
- And for more advanced performance-related content, Tammy Everts wrote about why it's so important to know your site's performance plateau—the point at which further performance improvements stop improving your business metrics.
- The React team reactivated their blog last week with not one but two new posts on the latest features coming to the framework: new docs for the View Transitions and Activity components and (finally!) the React Compiler Release Candidate, a.k.a RC^2.
- Speaking of React, Corbin Crutchley wrote a great explainer of his Layered React Structure method for keeping React projects organized. Lots of great tips on this one.
- Kent Beck responded to the Pragmatic Engineer podcast episode with John Ousterhout we shared last week, talking about some of the areas they disagree on. This article on their perspectives on TDD and software design was particularly insightful.
- Thorsten Ball wrote an excellent tutorial on how to build an AI Agent appropriatelly named, well, How to Build an Agent. If like me, you're still not sure what an agent is but you're too afraid to ask at this point, this article is for you.
- One more AI piece this week: Pete Koomen wrote about how most AI-powered software today feels like AI Horseless Carriages and how we still haven't seen what AI-native software looks like.
That’s all for today, friends! Thank you for making it all the way to the end. If you enjoyed the newsletter, it would mean the world to me if you’d share it with your friends and coworkers. (And if you didn't enjoy it, why not share it with an enemy?)
Did someone forward this to you? First of all, tell them how awesome they are, and then consider subscribing to the newsletter to get the next issue right in your inbox.
I read and reply to all of your comments. Feel free to reach out on Twitter, LinkedIn, or reply to this email directly with any feedback or questions.
Have a great week đź‘‹
– Maxi