I’m excited to finally announce the newest edition my Stanford course 𝗧𝗵𝗲 𝗠𝗼𝗱𝗲𝗿𝗻 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿. It has been 9 months in the making.
Last November, with the release of Claude Opus 4.5, coding agents experienced a step function improvement in capability. We all felt it. The LLMs were more powerful, could reason for longer, solve harder tasks.
This year’s iteration of my course reflects the 2026 metamorphosis of software engineering.
My core belief is simple: AI-native developers of the LLM era are going to become the most important members of any software organization. I have designed my course to train this next generation of engineers.
𝗪𝗵𝗮𝘁’𝘀 𝗱𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝘁 𝘁𝗵𝗶𝘀 𝘁𝗶𝗺𝗲 𝗮𝗿𝗼𝘂𝗻𝗱
First, 85% of my Fall 2025 class material is being thrown out. The Fall 2026 syllabus reflects the core capabilities AI-native engineers must have: agent skills, advanced context engineering, MCP portals, agent-ready codebase principles, agentic code review, security, parallelizing background agents, software factories, and more.
Second, I am going to teach my students how to have software taste. Every student will be required to ship pull requests to production-grade, real-world codebases. The course is collaborating with the top open-source AI repos who will offer support and mentorship to students on how to meaningfully contribute to their projects.
This has never been done before in any university course so I am incredibly grateful to our OSS Partners: @browserbase, @HeyGen, @CopilotKit, @semgrep, @OpenHandsDev, @milvusio, @marimo_io, Pi, @crewAIInc, @warpdotdev, @vercel, @cmux, @arizeai, @UnslothAI, and @anyscalecompute.
𝗪𝗵𝗮𝘁’𝘀 𝘀𝘁𝗮𝘆𝗶𝗻𝗴 𝘁𝗵𝗲 𝘀𝗮𝗺𝗲
I’m fortunate to again have AI software engineering leaders and founders as guest speakers to share their learnings from building top coding agent products. Thank you to @leerob from @cursor_ai, @bcherny of @claudeai code, @EnoReyes of @FactoryAI, @silasalberti of @cognition, @0xine of @semgrep, Rajesh Bhatia of @Cloudflare , @amasad of @Replit, and @eladgil.
All resources will be available online. All classes will be available to the public.
9/22 on Stanford campus. See you in class.
https://t.co/wTokHyUMsz
With cmux iOS, we want all of your work to be accessible wherever you go, not just your agents.
e.g. Away from home but want to dogfood your agent's iOS app work? No problem. Just open a simulator pane (or ask the agent to do it for you) then voila.
I was complaining about cmux performance, but after visiting @cmux office, they helped me to set up it properly. Now I understand the beauty of cmux:
you can make tmux sessions, but with GUI, and auto restore
That is a game changer, I can't live without this anymore
Been working on the diff viewer for cmux iOS, does anyone have mobile diff viewer experiences they feel strongly about?
Likes and dislikes are welcome in the comments.
My most used cmux shortcuts
⌘+Shift+P, then:
fork tab -> Fork Conversation to New Tab
fork right -> Fork Conversation to the Right
pin -> Pin Workspace
top -> Move to Top
⌘+Shift+U -> Focus + flash latest unread pane
⌘+Shift+L -> New browser tab
⌘+L -> Focus browser omnibar, else new browser tab
⌘+Shift+Enter -> Maximize pane
⌘+Control+W -> Close workspace
⌘+W -> Close tab
⌘+Shift+M -> Toggle Vim mode (then "gg" to get to top and "shift+g" to get back to bottom"
⌘+Shift+R -> Rename workspace
⌘+R -> Rename tab
⌘+D -> Split right
⌘+Control+= -> Equalize splits
⌘+N -> New workspace
⌘+T -> New tab
What else should we add?
Direct browser tab streaming and interaction is coming to cmux iOS! You'll never have to worry about reauthenticating / reopening your desktop browser sessions again. Use your browser tabs as if you're on your laptop.
I’m building a new thing on cmux similar to symphony and its been helping me get through 1.6k issues on GitHub…
Requires some setup to get your agents to write good code and close the loop but knowing when it is fully confident vs not is super key…
What if cmux's sidebar had multiple columns?
Left-most column is for machines (this MacBook, Mac Mini, cloud VM), right column is workspaces in that machine.
Maybe another column for agents in that workspace?