We survived the SoCal tropical storm and are back to sunshine today. It’s a full reading list today, with a lot of pointed opinions!
[blog] Good Intentions Aren’t Enough. A major takeaway here is that we should often pause when your instincts kick in and not immediately jump to action.
[blog] The Standup Your Agents Can’t Attend. Agents can only work with the data it has access to. That doesn’t mean keep your meetings away from the agents. Change how you work.
[blog] It’s time to stop installing skills. Smart advice. Don’t just install a skill, which in essence is someone else’s checkpoint. Edit them as your own work progresses and improves.
[blog] Bravery Recession. yes, real bravery where there’s the presence of risk. I like the advice about surrounding ourselves with people who also do hard things.
[blog] If your team is happy, are you doing a good job? Wow, there’s a lot here that needs to be said. Our job as managers is to get business outcomes, and ideally making it awesome for our teams too.
[blog] Deno is joining Cloudflare. Congrats to the team. This looks like the end of Deno though, as this JavaScript runtime will only be supported for the next twelve months now. Then the hope is that it keeps going via pure open source.
[blog] How much does it cost to use open source software? This feels like unique research. How long does it take an engineer to update an open source package at Google? Sophia’s on my team and does great exploration of OSS.
[article] Agentic Primitives 101. It’s good to review the foundation, as it keeps us from freaking out over the perceived complexity of the higher order thing.
Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:
[article] What Actually Sets High Achievers Apart? Fascinating thesis which seems obvious once you process it. Trying to change your situation (physical environment, team, mentors, boss) has more impact on performance than just altering your mindset.
[blog] How to build an AI-native software factory. What’s left to build? For many, it’s the system that builds the software. Lots of details here, with a focus on what’ Uber is doing to build a software factory.
[blog] Anti-Patterns in Software Blogging. Absolutely fantastic post. These are all things we need to stop doing in our writing if we care about landing a message.
[report] The State of CI/CD in 2026. Mildly related to the previous item. What are we doing with CI/CD right now? The JetBrains survey provides the answers.
[blog] Thundering herd of circuit breakers. Great title and fun log from Zalando engineers who had to troubleshoot why a circuit breaker was staying open too long.
I don’t have a ton of family living close to me, so I’m stoked to have dinner tonight with my visiting brother on his birthday. All the stuff below matters to me; my family matters to me much more.
[article] The state of the tech industry in 2026. Excellent look at where things stand today, at least with regard to software development. There’s a whole other set of topics (data, inference, operations) that deserves the same treatment!
[article] 12 things I miss since coding died. This resonated with me. At least most of the list. It’s ok to reflect and admit that we’re losing something with more automation. And also gaining other things.
Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:
I “built” a demo system in the background today while getting my other work done. It was fun to dip in every half hour and review the agent’s progress, ask questions to better understand what happened, and then approve the next steps. I could get used to this.
[blog] The 4 levels of agentic software development. For most companies, their differentiator won’t be model capabilities; it’ll be how they change the way software is built. These four levels factor that in.
[article] Knowing which vulnerability to fix first. Because you probably can’t get them all, you need to think carefully about which vulnerabilities to focus on.
[blog] Data is the application. Interesting POV. With agentic coding you can make or remake just about everything in no time. But data? The lack of it, or management of it, requires more care.
[blog] The Sandbox is Inside the Score. This is a great area to invest some of your time into. Learn about evals, platforms that support them, and how to set up a continuous eval loop.
[article] AI is less dangerous than humans. Yes, it’s somewhat amusing to observe our narcissism in the AI era. “How dare these AI agents do a fraction of the damage humans are capable of!” Safety matters all around. So does innovation.
Bigger list today as I try to clear out the queue. Too many great pieces lately! I’m still starting a dozen open tabs I need to read over the weekend. Could be worse.
[blog] React Native solved a problem nobody had. Use Flutter. Fundamental points being made here. If you want native, don’t use a proxy for native. But if you want a rendering engine for owned experience, that’s a case for Flutter.
[blog] Introducing the Server Side Cloud Swift SDK. Swift isn’t just for UI work on Apple client devices? I’m not sure I knew that. We just shipped an SDK for those who want Swift’s concurrency benefits on the server.
[blog] Why redesign doesn’t happen (enough). Sounds like a realistic story to me. What can remove the fear of making changes, breaking other PRs, and getting stuck in merge hell?
I’m at the airport waiting to fly home after a day trip up the Bay Area. After a few hours with a fantastic audience at the local DevFest, I spent the late afternoon with customer execs who wanted to talk about software engineering with AI.
[blog] The Code Nobody Reads. Big piece, worth reading. Code review is changing, but the key will be knowing what’s worth reading and reviewing.
[article] Maintaining quality while agents write the code. Somewhat related to the first item here. We’re going to need to zoom in on the decisions that require thoughtful instructions and reviews.
[blog] Coding is NOT solved. Maybe a counter-point to other items listed here. We’re responsible for what we produce, whether we understand it or not. I don’t agree with all (most?) of this, but I’m glad to read the perspective.
[blog] Empower your agents with the Google Cloud CLI remote MCP server. CLI-over-MCP is an important pattern, especially when dealing with AI clients that won’t be allowed to call local scripts or CLIs to do stuff. I used this in my blog post from yesterday.
Last night, I went to the San Diego Padres playoff game against the Chicago Cubs. It was the rowdiest, loudest, most fun baseball game I’ve attended in my life. The downside? I’m very hoarse and had two major speaking gigs today. So yeah, I plan well.
[blog] State of agent skills. Vercel sits on a lot of data here thanks to running skills.sh. Read this for a look at what skills people are installing, for which industries, and how often.
[blog] State of Markets II. We’re getting a bunch of “state of XX” things lately. The a16z folks call out a bunch of data about companies using AI, and more.
[blog] Voice Agents Can Just Do Things. I buy this more than I did a year ago. But I also don’t want this to be the ONLY interface. Sometimes it’s better to type things out, or I’m in a space where I don’t want to be barking commands to a robot.
I have 334 apps on my phone. You probably have more than me. My browser bookmarks and history are stuffed with sites I infrequently use. We’re inundated with “apps” that require us to learn some bespoke interface just to get something done. That era is coming to an end. Quickly.
Don’t take my word for it. Many are acknowledging that AI agents have made many apps unnecessary. Oh, I still need the data or function from that app. But I never want to “see” it again. Drop the user interface. Go headless. Why am I still logging into a system three times a year to mark my vacation time? Or navigating multiple travel sites to find the best deals? Or even doing “regular” web searches to find stats to include a presentation? I just want my agent, harness, or super-app (like Gemini, Grok Bot, Meta Muse, Claude Cowork) to do it.
So if we’re not building a bunch of static frontends, what should developers do instead? Here are a few suggestions. Let’s look at two categories of tools that developers should create. And then three types of activities developers (or agents) can do with those tools.
Create CLIs, APIs, skills, and MCP servers for anywhere access to data and functionality
Good models have “computer use” where they can navigate your web frontend if they need to. But spelunking your DOM wastes tokens and time. At least create some WebMCP tools on your site to give agents a better shot at completing a task.
But honestly, those harnesses, super-apps, and agents just want your data and commands. Give it to them! Salesforce announced this headless experience in a partnership with Anthropic (ClaudeForce). Box too. HubSpot as well. Expect most SaaS products to do this. Same with platform companies. Google shipped an Android CLI for use in any harness, 150 agent skills, and tons of remote managed MCP servers. UI optional.
We did before, but now we have even more options to build these types of tools. There are toolkits for creating MCP servers, generating skills, and even cranking out a CLI. Help out your users by giving them the tools they need to get to your data and functionality without forcing them to use your UI.
Create A2UI or MCP Apps components for dynamic rendering
The technology is now there to create more personalized and interactive experiences for humans.
A2UI is a protocol that enables agents to create dynamic user interfaces. You have the data and you have the available widgets that an agent sends a client to render. You’re not shipping arbitrary HTML and JavaScript; the agent sends component descriptions that get safely rendered client side. There are renderers for Angular, React, Flutter, and more. Developers should consider building components that agents can use to compose a beautiful, personalized site for the user.
Then you have MCP Apps. Have you looked at these? Here you’re returning interactive HTML interfaces that get rendered in your agentic chat experience. Developers can build these so that chat users get more than boring text results in their sessions.
Build these portable UI components that users can apply to get richer experiences on whatever surface they can render them on.
Retrieve info or trigger action from where I’m at
Let’s now look at the user.
Maybe I don’t want to use your fancy portal to get my work done. Give me those CLIs, agents, MCPs, or MCP Apps to retrieve the data I want, in the surfaces I’m already using.
Here in my Google Antigravity CLI, I’ve got a reference to the remote MCP Server for Cloud Run. I could also use a locally installed CLI to do the same things.
Using an existing MCP or CLI, I can do most anything with Google Cloud Run. Want a list of running services? Don’t break flow and bounce to a fixed UI somewhere else. Just get the data in your harness or super-app of choice.
Using those tools created by app or product owners, we can now aggregate or interact with systems however we want. Maybe instead of a web front end, you build an agent. Cool. I took a hotel concierge agent that might have warranted a whole fancy website, and used it from within Gemini Enterprise instead.
Need something more interactive? I built an MCP App that talked to Google Cloud Run and returned a fancy dashboard that I can use from within Gemini Enterprise. Why leave my super-app if I don’t need to? First I configured my MCP App (running in Cloud Run) as a data source.
And now anyone can chat with it, getting a full UI back in Gemini Enterprise chat experience.
Build on-the-fly visualizers, apps, and pages personalized to me
The era of personal software is here. Maybe that software is disposable, or just for you. Possibly for a small circle of friends. Whatever. Build entirely new interfaces that work exactly for you by mashing up the APIs, CLIs, and MCPs available to you.
For example, I could use a series of pre-built A2UI components to create a hotel website that reacts to the situation at hand. Completely new user? Show one thing. Checked-in hotel guest, here’s another. Frequent guest coming to book a room? Here you go. Instead of building dozens of static pages to anticipate each scenario, I have ONE PAGE that applies relevant components on the fly.
Build wherever-I-want-it experiences to get work done
This is a variation of the previous two. You might want to stay in your tool of choice, but also want a customized interface just for you. Let’s try that.
We released a new MCP server for the Google Cloud CLI. It executes gcloud CLI commands remotely. This is handy if you’re on an agentic client that can’t execute CLIs, trusted or otherwise.
I could use this to build a full Google Cloud management experience as a Chrome plugin! I can’t easily execute CLI commands in the Chrome sandbox without some hoops. No problem. I can use the logged in user to invoke the MCP server via agent inside a custom plugin. This makes it possible to do almost anything in Google Cloud. from anywhere.
In this example, I spun up a Google Cloud Pub/Sub topic while browsing my daily reading list.
Look, static frontends won’t become truly optional for a while. But developers, don’t wait too long to adapt. These personal agents are growing fast, and fairly soon, many websites and mobile apps will have significantly more agent visitors than human ones. Build accordingly!