Hey everyone. Thank you for being here, Andrew. It's great to have you back for year two.
It's good to be back. This has always been such a cool gathering that you put together. I was telling you this earlier, but Andrew's fireside chat last year was the most liked and the most watched on YouTube afterwards. So, we're thrilled to have him back for year two.
Yeah, maybe jumping off of that, in the year since we've been here, I feel like there's been a ton that's happened in the AI space. What has happened faster than you would have expected and what's been slower?
So I think the hype has exceeded my expectations. And then also the doomsaying narratives also got more traction unfortunately, I would have guessed including the job apocalypse which I don't think is going to be a thing. And on the more positive side, coding agents probably took off faster than I would have guessed, and the frontier coding agents. I know the hype is that everything AI changes every few months or whatever and that hype isn't entirely true, but that does feel true for coding agents where it feels like the frontier of what we can do with coding agents and it's still competitive. I think six months ago I was almost all cloud code. These days I'm still a lot of cloud code but also increasingly open AI codecs with a mix of Gemini CLI and want to support open code as well because it's open codes. So the mix of coding agents we use has been changing rapidly. I wouldn't have guessed a year ago that I'd be coding so much on my phone as well. These workflows and like many of you I have a Mac mini in my office, so all these workflows changing really rapidly. And then agentic workflows are really starting to make their way into enterprises. That feels pretty good as well.
So on that note on the software engineering note, what does the future of software engineering look like in your mind?
So about a year ago I was writing about the product management bottleneck, which is this observation that if building becomes much faster then deciding what to build or the product management work of scoping the project maybe getting customer feedback deciding what to build becomes the bottleneck. It feels like over the last year the product management bottleneck has become much worse in a good way because software building has become much faster. But it turns out when writing software becomes 10 or 100 times faster, not only is there a product management bottleneck, pretty much everything else becomes a bottleneck. So some of my teams have seen the marketing bottleneck because we can build so many features, our marketers are scrambling to figure out what on earth the engineers did in order to figure out how to communicate it. Previously if you had a product that needed legal compliance, if you took three months to build it, waiting a week for legal to sign off is maybe okay. But now if you're building a day, then wait a week for legal to sign off, that's a legal compliance bottleneck. And there's a design bottleneck and so on. So I've been thinking a lot about how software engineering teams in the future will be organized and I don't think I know the answer but increasingly I find myself setting up very small parts, anywhere from one to 10 engineers in a team of often generalists, high context, highly empowered generalists. They're given a set of very wide guard rails within which they can just run like crazy and build and ship code and even drive decisions like writing marketing copy that are traditionally outside the purview of engineering. By definition, if you have a team that needs software engineering, product management, a little bit of new terms of service, some marketing copy, some design, say you need five functions represented in a team of two humans, then by the pigeonhole principle these two humans have to play more than a single role per human. The good news is it turns out I don't think I'm a very good marketer, but when I use AI, I'm still not a good marketer, but I'm slightly less bad compared to if I had to do without AI assistance. So I find these small teams of high context generalists that are deeply technical, but able to use frontier technology to do a little bit of other roles as well. Every engineer can use AI to take the first draft of a terms of service to then take to a lawyer for the lawyer to finally polish it before it goes out. But I find that these processes allow teams to move much faster. So that's been really exciting.
And what's the right background for these folks? Are these engineers by background? Are they coming in from different disciplines and learning to code for the first time? What are you seeing here?
Yeah, so a lot of the people I work with most closely have deep engineering expertise. And then also they are highly empowered slight generalists that step into other roles and acquire this mix of skills often with AI supporting where they didn't have that training. I think people can succeed from any direction. I've seen product managers become much stronger at coding and then participate in these teams. I think just because so much of AI coding and engineers maybe had a natural advantage understanding the frontier tech. So I see engineers play this role successfully the most often but there's definitely a smaller number of product managers. I've seen marketers learn to code in pretty effective ways. I've seen operations people start to build more and more products. I think it's actually possible for people of any background to learn to do a lot of this but the largest number of bodies doing this well right now seems to be people that came from engineering background. But I really encourage everyone from whatever background to see if you can play these roles.
What advice would you have for folks who are trying to get more into this new software engineering space, whether it's particular tools to try or mindsets to have or skills to pick up?
Yeah. So there's one way I've been thinking about the future of software engineering. This is a mental model I have in my head: because of a lot of providers of many tools like RAG, agentic frameworks, evals, guardrails, it turns out that these are AI building blocks, and there are also non-AI building blocks like user interface components, identity mechanisms, frontend, backend, persistence databases and so on. So I think that in computer science we've always had a wonderful set of building blocks and with agentic coding, building blocks are proliferating because more and more people are building open source or proprietary API-based building blocks. So they're just wonderful building blocks all around us. And so I find that developers that have a good mastery of enough building blocks can often put them together in combinatorially many ways to very rapidly build software. If you picture a building with Lego bricks, if all I have is a white colored Lego brick, I can build some stuff but it's not that interesting. But I mix in a black Lego brick, a yellow one, a brown one, a green one, and throw in some squiggly pieces of Lego, then what I can build grows combinatorially or grows exponentially as a function of the number of Lego bricks I have. And I think of a lot of the building blocks we now have access to as being akin to that too. So I find that the developers are able to have a good sense of what these building blocks do and DeepLearning offers a lot of short courses to help people master these wonderful building blocks provided by tons of people. And then the other challenge is to use coding agents to rapidly assemble these building blocks into the software that you want. One challenge that coding agents have is a lot of building blocks are so new that the coding agents do not know how to use them. Until recently the leading coding agents were released after the knowledge cut off dates of a lot of leading models. So they just had no idea how to call the Nano Banana API or even knew that Nano Banana existed. So one project that one of my friends Roy Prasad and I have been passionate about is Context Hub, which is like a Stack Overflow for AI agents, for AI agents to get the latest documentation on what are the latest APIs, SDKs, building blocks they can use, as well as a way for agents to give feedback to the documentation to try to improve it for everyone. And so it turns out there are a number of APIs that I personally use that I find the syntax slightly annoying to remember. But I find that by using Context Hub to load the latest docs, I let the coding agent accurately make all of these API calls for me, and so it has actually helped my own coding work accelerate quite a bit.
Maybe two notes there. We also launched something called Context Hub. So we're colliding on names but it's a very different type of context hub. And so yeah, his is much more useful for working with coding agents. So you should go use that. And then DeepLearning. So I think we at LangChain were the second people behind OpenAI, I want to say, to do DeepLearning class. And I know I've talked to so many people who have heard of LangChain through DeepLearning. And I'm sure a lot of the audience members here as well. So if you haven't tried out DeepLearning, you should absolutely go take some courses. Maybe on that note, how do you think about education changing in this new world of AI and have you started to bake any of those practices into how the DeepLearning courses are run or how you think about that?
Yeah, so we're trying a lot of ways to improve the education experience. In terms of training, the thing that's clear is that what people have to learn has changed significantly. I think for developers we have to learn coding agents, learn these building blocks, maybe learn some product management or these type of general skills to make us more effective. So what we learn is changing. And DeepLearning and Coursera try to provide a lot of that training. But separately from how to what to learn, there's the delivery of training and it feels like we've been thinking about how will learning transform for a long time and it feels like it's actually not quite here yet. One thing we launched just several weeks ago is a new website in preview called codeream.ai in which the vision was rather than taking an online course, come and have a conversation. So it's not a course, it's a conversation where the experience we tried to build was for you to come and get on a simulated video call with me. If you feel like leaning back and listening to me talk and present to you in a one-on-one simulated video call about Context Hub and coding agents, you lean back and I just show you some ideas. Or if you want to interrupt me or my AI and ask a question, you could do so at any time. And one thing I actually personally played around a lot with is replacing videos and slides with JavaScript. What that means is instead of a video when I present when I demo something in a video, if you could click into the video and type your own prompts or type your own queries into the video window. So instead of a static video that just plays, the video area is interactive and this creates more ways for people to interact. So check out codeream.ai if you want and have a kind of a conversation with me or with my AI where I'll present to you in AI form how to use these coding agents. But I think we're still iterating and improving these experiences every day.
Is that clicking into the video and typing? Is that live today or is that more of a future direction?
Oh, that's live. So imagine if instead of me screen sharing in a video, I am JavaScript sharing in a video and so you can interact with whatever I'm sharing with because it's running JavaScript code, not a canned video. So hope so, if you play with it we would love your feedback. But it feels like the transformation of education has been overhyped. I think something is coming. But today, taking online courses, I wish we had something way better than online courses. And I will say we have something better than the courses we had 10 years ago. They're much more interactive. For a lot of our courses, we actually this week just launched a new course on transformers taught by AMD Sharon Job. And I find that rather than just having videos, which is mostly what we had a decade ago, we now built much more interactive visualizations, there's a lot more fun stuff to play with than courses had a decade ago. But that bigger transformation, I actually spent a lot of time thinking about that.
Maybe going from software engineering to everywhere else. How do you see enterprises adopting AI and what is faster than you expected, slower? What's the right way to do it? What lessons can people learn?