Latest / The Pragmatic Engineer / Beyond Vibe Coding with Addy Osmani
Transcript
- 0:00SPEAKER_01: What does vibe coding mean to you?
- 0:01SPEAKER_01: Vibe coding is not the same as AI-assisted engineering,
- 0:04and I feel like that distinction is kind of critical because we
- 0:06don't want to
- 0:07SPEAKER_01: devalue the discipline of engineering.
- 0:09SPEAKER_00: How do you personally use these tools?
- 0:11I have more recently been focusing on the idea of spec-driven
- 0:16development,
- 0:16SPEAKER_01: having a very clear plan of what it is that I want to build.
- 0:20If you are open to tasks,
- 0:21it can be a great way of de-risking your use of LLMs in coding.
- 0:25One thing that I'm kind of noticing on myself already is losing
- 0:28a little bit of criticality.
- 0:29It's going to continue to be very important for us to be able
- 0:31to think through how
- 0:33SPEAKER_01: things work,
- 0:33be able to problem solve without necessarily relying on the AI
- 0:36testing and
- 0:37SPEAKER_01: retesting your critical thinking skills are going to be important.
- 0:39You're working inside a larger team,
- 0:41the Chrome team,
- 0:42other teams as well.
- 0:43SPEAKER_00: What are things that you're observing?
- 0:44SPEAKER_00: At a company like Google, with AI, what we've realized is...
- 0:48How do professional software engineers and the likes of Google
- 0:50go beyond Vibe
- 0:51SPEAKER_00: Coding to speed up their day-to-day work with AI?
- 0:54SPEAKER_00: Adi Osmani has worked on the Chrome team for 13 years,
- 0:57SPEAKER_00: and if you ever opened up the developer tab on Chrome,
- 0:59SPEAKER_00: you've definitely used the stuff he built.
- 1:02SPEAKER_00: He is also a prolific author.
- 1:03His latest book is titled Beyond Vibe Coding and is aimed at
- 1:07professional software engineers.
- 1:08SPEAKER_00: Today,
- 1:09SPEAKER_00: we go into Vibe coding versus AI-assisted engineering,
- 1:12and why Vibe coding isn't useful for much more than just
- 1:15prototyping something
- 1:16SPEAKER_00: quick and dirty.
- 1:17SPEAKER_00: The importance of understanding what the model does,
- 1:20why Addy always reached to the thinking log of the model he
- 1:23uses to make sure he
- 1:24SPEAKER_00: fully understands what it did and why before approving changes.
- 1:27SPEAKER_00: New development workflows with AI,
- 1:29SPEAKER_00: how things like speculative and development,
- 1:32SPEAKER_00: asynchronous coding background agents,
- 1:33and parallel coding with several agents are new and unexplored
- 1:36areas of software
- 1:37SPEAKER_00: engineering.
- 1:38SPEAKER_00: and many more.
- 1:39If you're a software engineer who wants to work better with AI
- 1:41coding tools on the
- 1:42SPEAKER_00: day-to-day and wants to build reliable software with AI tools,
- 1:45SPEAKER_00: then this episode is for you.
- 1:46SPEAKER_00: This podcast episode is presented by Statsik,
- 1:49SPEAKER_00: the unified platform for flags,
- 1:50SPEAKER_00: analytics,
- 1:51SPEAKER_00: experiments,
- 1:51SPEAKER_00: and more.
- 1:52Check out the show notes to learn more about them and our other
- 1:55season sponsor.
- 1:56SPEAKER_00: So Adi, welcome to the podcast.
- 1:58SPEAKER_00: Thank you.
- 1:58SPEAKER_00: It's a pleasure to be here.
- 2:00You're an author of a lot of different books,
- 2:02Leading Effective Engineering Teams.
- 2:03SPEAKER_00: This came out about a year ago.
- 2:05SPEAKER_00: And now your latest book is called Beyond Vibe Coding.
- 2:09SPEAKER_00: And on your substack,
- 2:11you also write a lot about your learnings about Vibe Coding
- 2:15slash AI-assisted
- 2:16SPEAKER_00: development.
- 2:17SPEAKER_00: In this book and also on your blog,
- 2:18SPEAKER_00: you talk about Vibe Coding versus AI-assisted software engineering.
- 2:22SPEAKER_00: In your mind,
- 2:23SPEAKER_00: what does Vibe coding mean to you specifically,
- 2:26SPEAKER_00: and how is it different or similar to AI-assisted software engineering?
- 2:30SPEAKER_01: Yeah,
- 2:30so I tend to tell folks that I personally think that Vibe
- 2:35coding is not the same as
- 2:36SPEAKER_01: AI-assisted engineering,
- 2:37and I feel like that distinction is kind of critical because we
- 2:41don't want to
- 2:42devalue the discipline of engineering and give folks that are
- 2:46new to the industry
- 2:47an incomplete picture of what it takes to build robust
- 2:49production-ready software.
- 2:51SPEAKER_01: But I kind of have, I guess, two definitions for them.
- 2:54I think the Vibe coding is really about fully giving in to the
- 2:58creative flow within AI.
- 2:59SPEAKER_01: So very much focused on high-level prompting.
- 3:02SPEAKER_01: And in many ways, forgetting that the code exists.
- 3:06So you would,
- 3:06you know,
- 3:06this goes back to Andhraaj Karparathy's like original
- 3:10definition,
- 3:10but...
- 3:11It's about accepting AI suggestions without necessarily having
- 3:14a deep review and
- 3:16SPEAKER_01: focusing on rapid iterative experimentation.
- 3:19SPEAKER_01: Personally, I find it really great for prototypes, MVPs, and learning.
- 3:26What I've seen in production teams is that this has been very
- 3:32useful for them when
- 3:33SPEAKER_01: it comes to trying out ideas rapidly.
- 3:36And building out an intuition for what the shape of an idea
- 3:40might look like,
- 3:41SPEAKER_01: what a component might look like,
- 3:43SPEAKER_01: what an MVP might look like.
- 3:45And that tends to prioritize speed and exploration over things
- 3:49like correctness and
- 3:50SPEAKER_01: maintainability.
- 3:51Things that we perhaps care a little bit about when it comes to
- 3:55building things for
- 3:56SPEAKER_01: large production audiences.
- 3:57And I would say that there's a little bit of a spectrum between
- 4:00vibe coding and
- 4:03doing what falls a little bit closer into traditional software
- 4:06engineering.
- 4:06SPEAKER_01: You know,
- 4:07SPEAKER_01: doing more planning,
- 4:08SPEAKER_01: more specification-driven development,
- 4:12SPEAKER_01: including sufficient context.
- 4:15And really what is AI-assisted engineering across the full
- 4:20software development lifecycle.
- 4:22SPEAKER_01: So to me,
- 4:23SPEAKER_01: AI-assisted engineering is where AI is this powerful collaborator,
- 4:27SPEAKER_01: but it's not a replacement for engineering principles.
- 4:30SPEAKER_01: And so in that model,
- 4:31SPEAKER_01: it is a force multiplier,
- 4:33SPEAKER_01: but it can help you across that whole cycle,
- 4:37SPEAKER_01: whether it is with boilerplate,
- 4:39SPEAKER_01: debugging,
- 4:40SPEAKER_01: deployment.
- 4:41But the big difference is that the human engineer remains
- 4:45firmly in control.
- 4:46SPEAKER_01: You are responsible for thinking about the architecture,
- 4:50SPEAKER_01: for reviewing the code,
- 4:51SPEAKER_01: and for understanding every line,
- 4:54SPEAKER_01: if not most of what AI is generating for you.
- 4:58SPEAKER_01: And you're on the hook,
- 4:59SPEAKER_01: really,
- 4:59SPEAKER_01: for making sure that the final product is secure,
- 5:03SPEAKER_01: scalable,
- 5:03SPEAKER_01: and maintainable.
- 5:04SPEAKER_01: Maybe AI is helping you with velocity, which is great.
- 5:08But that doesn't mean that you can shrug off your
- 5:14responsibility for quality at the
- 5:16SPEAKER_01: end of the day.
- 5:17And I tend to think that a lot of people have said that they
- 5:22found AI encoding to
- 5:23SPEAKER_01: be a force multiplier.
- 5:26But I found that the greater expertise that you have in
- 5:30software engineering,
- 5:31SPEAKER_01: the better the results you can get when you're using LLMs.
- 5:35SPEAKER_01: And I think sometimes if you're new to the industry or you're a junior,
- 5:40maybe there are some what we would consider to be traditional
- 5:43best practices that
- 5:45SPEAKER_01: maybe you haven't had to experience them yet or think about them.
- 5:48SPEAKER_01: Right.
- 5:48SPEAKER_01: You know,
- 5:49SPEAKER_01: if you care about production quality programming,
- 5:52you should probably only be committing code to your repo that
- 5:55you can fully explain
- 5:56SPEAKER_01: to somebody else.
- 5:57Because just expecting that the AI is going to help you
- 6:01untangle whatever mess
- 6:02SPEAKER_01: happens later on is probably not going to work out long term.
- 6:06SPEAKER_00: And how do you personally use these tools?
- 6:10SPEAKER_00: May that be Vibe coding and especially AI-assisted engineering?
- 6:14I have more recently been focusing on the idea of spec-driven
- 6:19development,
- 6:20SPEAKER_01: having a very clear plan of what it is that I want to build.
- 6:24I think that,
- 6:25you know,
- 6:26there are definitely places where I still vibe code.
- 6:29SPEAKER_01: If it's for a personal tool,
- 6:31SPEAKER_01: something throw away or,
- 6:33SPEAKER_01: you know,
- 6:33SPEAKER_01: in the old days,
- 6:34SPEAKER_01: if an engineer or a PM had an idea,
- 6:38SPEAKER_01: maybe we would put together,
- 6:39SPEAKER_01: you know,
- 6:40SPEAKER_01: a quick mock.
- 6:41Maybe we would put together a wireframe or a sketch or
- 6:44something like that.
- 6:45perhaps work with UX to come up with something a little bit
- 6:48more polished.
- 6:49SPEAKER_01: These days,
- 6:50the fact that you can vibe code a prototype and actually show
- 6:54somebody in a pull
- 6:55SPEAKER_01: request or in a chat,
- 6:56SPEAKER_01: like,
- 6:57SPEAKER_01: hey,
- 6:57here's an even more clear version of the vision that I had in
- 7:01mind for this.
- 7:02SPEAKER_01: I think there's something very powerful to that.
- 7:05SPEAKER_01: And I'm loving vibe coding for that.
- 7:07Just being able to give me a slightly higher quality way to
- 7:11deliver sharing an idea.
- 7:13SPEAKER_00: Vibe coding is having its moment.
- 7:15SPEAKER_00: Describe an app in a prompt and boom, you've got something running.
- 7:19SPEAKER_00: It feels like magic.
- 7:20SPEAKER_00: But here's what Vibe coding doesn't account for.
- 7:23SPEAKER_00: Institutional knowledge.
- 7:24Every prompt stems from what you tell it,
- 7:26not what your team already knows.
- 7:28SPEAKER_00: Real product development is the opposite.
- 7:31SPEAKER_00: It's accumulated context.
- 7:32SPEAKER_00: For example, every book has a kind of history.
- 7:35SPEAKER_00: Every feature connects to customer requests.
- 7:37SPEAKER_00: Every PR fits into your team's roadmap.
- 7:40A short prompt will not share all this additional context for
- 7:42the agent to use.
- 7:43SPEAKER_00: Linear agents work inside this additional team context.
- 7:46SPEAKER_00: They live inside your development system where actual work happens.
- 7:49SPEAKER_00: They see the issue blocking your sprint,
- 7:51SPEAKER_00: the related PRs,
- 7:52SPEAKER_00: the project goals,
- 7:53SPEAKER_00: the discussions that your team already had about this exact problem.
- 7:57SPEAKER_00: And because linear is your team's shared workspace,
- 7:59SPEAKER_00: agents don't only see your context,
- 8:02SPEAKER_00: they see your entire org's context.
- 8:04SPEAKER_00: The bug report from support,
- 8:06SPEAKER_00: the design spec from your PM,
- 8:07SPEAKER_00: the architecture notes from the tech lead.
- 8:09SPEAKER_00: So when you ask an agent to draft PR or build a feature,
- 8:13SPEAKER_00: it's not improvising just from a prompt.
- 8:15SPEAKER_00: It's using the same context that your team already uses.
- 8:18This is what AI-powered development looks like when you're
- 8:20building something real.
- 8:21SPEAKER_00: Not just building fast, but building intentional.
- 8:25SPEAKER_00: See how agents work in Linear at linear.app slash agents.
- 8:29SPEAKER_00: And if you want to try them yourself,
- 8:31SPEAKER_00: get Linear Business for free by visiting linear.app slash pragmatic.
- 8:36That doesn't mean that we take the vibe coded prototype or that
- 8:39code and just stick
- 8:41SPEAKER_01: it in production.
- 8:42SPEAKER_01: Once you have clarity around the vision that you have for a component,
- 8:46SPEAKER_01: for a feature,
- 8:46SPEAKER_01: for a view,
- 8:47SPEAKER_01: you should probably be writing out like,
- 8:49SPEAKER_01: OK,
- 8:49SPEAKER_01: well,
- 8:49SPEAKER_01: what are the actual expectations around this?
- 8:51SPEAKER_01: What do we actually consider to be the requirements?
- 8:54And that will give you a much higher quality outcome,
- 8:57typically from the LLM.
- 9:00SPEAKER_01: Because otherwise,
- 9:00SPEAKER_01: if you're giving into the vibes,
- 9:02SPEAKER_01: you're also sort of giving into,
- 9:05SPEAKER_01: okay,
- 9:05SPEAKER_01: well,
- 9:05SPEAKER_01: you figure out the architecture.
- 9:07SPEAKER_01: You figure out, like, what this should do.
- 9:09SPEAKER_01: And while that's fine for ideation,
- 9:11SPEAKER_01: it's probably not sufficient for production sort of product engineering.
- 9:16SPEAKER_01: So for me, spec-driven development has been a big thing.
- 9:19SPEAKER_01: I think that tests are great.
- 9:23SPEAKER_01: And if you are open to tests,
- 9:25SPEAKER_01: it can,
- 9:26SPEAKER_01: you know,
- 9:26SPEAKER_01: be a great way of de-risking your use of LLMs and coding.
- 9:29SPEAKER_01: Because sometimes,
- 9:30SPEAKER_01: you know,
- 9:30SPEAKER_01: even if you're using state-of-the-art models,
- 9:32you can end up in a situation where maybe the code looks more
- 9:36convoluted than you
- 9:37SPEAKER_01: would expect.
- 9:38Or maybe your first couple of,
- 9:41you know,
- 9:41prompts have been generating really good code.
- 9:43SPEAKER_01: And then for whatever reason, things go off the rails.
- 9:46But if you can prove that things are working with tests and
- 9:51that if something did
- 9:52SPEAKER_01: go off the rails,
- 9:53SPEAKER_01: it's clearer to you what that was,
- 9:55SPEAKER_01: I think that that can help you keep your project green the whole time.
- 9:59SPEAKER_01: And that's been something that's helped me quite a lot as well.
- 10:04SPEAKER_01: So specter-driven development, testing.
- 10:07SPEAKER_01: I try to also make sure that I'm leveraging.
- 10:12SPEAKER_01: I guess this is a shout-out.
- 10:15SPEAKER_01: My team just released Chrome DevTools MCP.
- 10:17SPEAKER_01: So I use... Oh, amazing.
- 10:19SPEAKER_01: Yeah, so we just released Chrome DevTools MCP.
- 10:22SPEAKER_01: I care a lot about quality.
- 10:24SPEAKER_01: And I think that in the last couple of years,
- 10:27we've seen a number of cases where if you notice that something
- 10:30is broken...
- 10:32SPEAKER_01: I will see a lot of engineers that will just say,
- 10:34SPEAKER_01: okay,
- 10:34SPEAKER_01: well,
- 10:34SPEAKER_01: hey,
- 10:35SPEAKER_01: LM,
- 10:35it looks like this button is off or it looks like this thing is
- 10:38not quite exactly
- 10:39SPEAKER_01: what it should be.
- 10:40SPEAKER_01: Go fix it.
- 10:41And that's,
- 10:41again,
- 10:42going a little bit closer to just rolling with the vibes.
- 10:46But if you can keep things like a browser in the loop or
- 10:50something that can
- 10:50SPEAKER_01: actually see the page,
- 10:52SPEAKER_01: That is what kind of Chrome DevTools MCP and related solutions do.
- 10:56SPEAKER_01: They give your LLM eyes in many ways.
- 10:58SPEAKER_01: So we can see what the browser sees.
- 11:00SPEAKER_01: It can see what's rendering or what isn't.
- 11:03SPEAKER_01: It can detect if there are warnings,
- 11:06SPEAKER_01: errors in the console,
- 11:07SPEAKER_01: maybe even get a deeper sense of what is broken.
- 11:10SPEAKER_01: And that can just improve the feedback loop that you have.
- 11:14And so I've been just excited about MCP for being able to help
- 11:17us sort of evolve
- 11:19our workflows a lot more thanks to this idea of being able to
- 11:22call in to other
- 11:23SPEAKER_01: tools.
- 11:24SPEAKER_01: So that has been great.
- 11:27SPEAKER_01: Otherwise, for me, generally speaking, I've found that, you know...
- 11:32You really do need to put in the effort to get proficient with
- 11:36these tools.
- 11:37SPEAKER_01: And I still find myself doing that.
- 11:39SPEAKER_01: If there are new models,
- 11:40SPEAKER_01: new tools,
- 11:40SPEAKER_01: new platforms coming out,
- 11:41SPEAKER_01: I'm generally finding that I experiment a lot every week.
- 11:47I try to encourage my teams to share with each other,
- 11:50with me,
- 11:51like,
- 11:51how are things going?
- 11:52Are there any insights that are worth us bubbling up or things
- 11:55that we should try out as a team?
- 11:58SPEAKER_01: And if your team see that you are very open to learning together,
- 12:02I think that that can just create this nice culture of
- 12:04psychological safety that
- 12:06can set your team up for success as we're all going through
- 12:09this big period of
- 12:09SPEAKER_01: change.
- 12:10SPEAKER_00: Yeah, and I feel what you said about it takes time to learn this thing.
- 12:15SPEAKER_00: I have so many smaller and larger aha moments just by using it.
- 12:19SPEAKER_00: And there's plenty of people who are skeptical,
- 12:23SPEAKER_00: especially including engineers,
- 12:25SPEAKER_00: who are skeptical about LLMs,
- 12:27SPEAKER_00: whether it may be the theory,
- 12:29SPEAKER_00: may that be energy footprint,
- 12:30SPEAKER_00: other things.
- 12:32But I found that a lot of people who are skeptical have either
- 12:35not tried it or they
- 12:37SPEAKER_00: haven't given it some time because it does take some time,
- 12:39SPEAKER_00: some playing around.
- 12:40SPEAKER_00: And, you know, like Rangers, it doesn't work everywhere.
- 12:42SPEAKER_00: It makes mistakes.
- 12:45SPEAKER_00: It screws up.
- 12:46SPEAKER_00: But...
- 12:47SPEAKER_00: It does.
- 12:47SPEAKER_00: I think if you've not found...
- 12:50SPEAKER_00: I can only tell for myself,
- 12:51SPEAKER_00: but I found a bunch of ways where it helps even my smaller projects.
- 12:55SPEAKER_00: And as you said, it's about what works for you and what works for others.
- 13:00SPEAKER_00: Speaking of which, you're working...
- 13:03SPEAKER_00: in a larger,
- 13:04SPEAKER_00: inside a larger team,
- 13:05SPEAKER_00: larger production team,
- 13:06SPEAKER_00: you know,
- 13:06SPEAKER_00: you've got the Chrome team,
- 13:08SPEAKER_00: other teams as well.
- 13:09What are things that you're observing on how others are using
- 13:13it in interesting
- 13:14SPEAKER_00: ways,
- 13:14SPEAKER_00: maybe unexpected ways,
- 13:16or even ways that maybe didn't work out for those specific
- 13:20people or engineers?
- 13:22SPEAKER_01: I would say that at a company like Google,
- 13:25SPEAKER_01: we have this very long-term,
- 13:29SPEAKER_01: very battle-tested way of thinking about software engineering at scale.
- 13:34SPEAKER_01: And with AI, what we've realized is a lot of that doesn't go away.
- 13:40SPEAKER_01: You still want to care about quality.
- 13:42SPEAKER_01: You still want to care about doing due diligence.
- 13:44The things that I think we've found interesting kind of mimic
- 13:49what people have seen
- 13:50SPEAKER_01: in startups and other kinds of companies.
- 13:52So the importance of mastering understanding,
- 13:56like what is prompt engineering,
- 13:57right?
- 13:58Like making sure that you are constructing the right set of
- 14:01incantations to get the
- 14:03SPEAKER_01: best outcome from an LLM and then context engineering,
- 14:06SPEAKER_01: right?
- 14:07SPEAKER_01: more recently?
- 14:08How can you make sure that you are optimizing the context
- 14:11window to increase the
- 14:13SPEAKER_01: chances that those outcomes are higher quality?
- 14:16SPEAKER_01: We spend a lot of time thinking about that,
- 14:18SPEAKER_01: making sure that the right sets of descriptions,
- 14:21SPEAKER_01: details,
- 14:22SPEAKER_01: files,
- 14:23SPEAKER_01: examples,
- 14:24SPEAKER_01: any additional content that is
- 14:27specific to a project that the LLM may not necessarily have in
- 14:31its training data.
- 14:33That has been very interesting and important for us as we've
- 14:36been working through.
- 14:37I have been somebody that has been trying to explore using AI
- 14:43in every facet of my
- 14:44SPEAKER_01: life in many ways over the last couple of years.
- 14:49SPEAKER_01: That's been very eye-opening in terms of places where there is meaningful
- 14:53SPEAKER_01: productivity gain to be had,
- 14:55as well as places where either model quality or system prompts
- 15:00and tool quality are
- 15:02SPEAKER_01: not quite there just yet.
- 15:04SPEAKER_01: And so I've been also sort of nudging my teams in that direction as well.
- 15:09If you are thinking about this idea of us eventually all being
- 15:14AI native engineers,
- 15:16SPEAKER_01: then one prompt for you is before you try to solve a problem yourself,
- 15:21SPEAKER_01: if you gave this to a model,
- 15:22SPEAKER_01: you gave this to AI,
- 15:25SPEAKER_01: what would it do?
- 15:26Would it actually help you accomplish your goal much faster or
- 15:30would it likely slow you down?
- 15:31SPEAKER_01: And if it would slow you down, like why is that?
- 15:34But even that prompt is something that I think helps us to
- 15:37learn a lot about what
- 15:39SPEAKER_01: is possible and what isn't.
- 15:40SPEAKER_01: Many of us have been on this journey where,
- 15:43SPEAKER_01: you know,
- 15:43SPEAKER_01: if you're a classic software engineer,
- 15:46SPEAKER_01: if you're a web developer,
- 15:47SPEAKER_01: whatever,
- 15:49SPEAKER_01: you probably don't have this very deep understanding of AI.
- 15:54SPEAKER_01: For myself and for some of my leads,
- 15:56SPEAKER_01: I set us this task of like,
- 15:57SPEAKER_01: okay,
- 15:58SPEAKER_01: well,
- 15:58let's start to become slightly deeper experts in these areas so
- 16:01that we can guide
- 16:02SPEAKER_01: our team towards,
- 16:04SPEAKER_01: well,
- 16:04SPEAKER_01: where would it be useful for you to build up this expertise to?
- 16:07SPEAKER_01: So again,
- 16:08SPEAKER_01: in the last year,
- 16:09I've been spending a lot more time on thinking about things
- 16:11like evals and
- 16:13benchmarks and how much should we be caring about rag versus
- 16:18fine tuning and so on.
- 16:20SPEAKER_01: And this ends up contributing as well,
- 16:22because at the same time that we are talking about AI assisted
- 16:26engineering,
- 16:27SPEAKER_01: many of the products that we work on also have this consideration for,
- 16:32SPEAKER_01: well,
- 16:32SPEAKER_01: is AI going to help you deliver a better customer experience in some way?
- 16:37And so I'm trying to look at like,
- 16:39how can the work that we're doing for our coding workflow
- 16:43SPEAKER_01: also benefit the product work that we're going to have to do.
- 16:46SPEAKER_01: So that's been a good learning for us.
- 16:49SPEAKER_01: I think,
- 16:49SPEAKER_01: honestly,
- 16:50just the importance of always maintaining human oversight has
- 16:53been one of the
- 16:55SPEAKER_01: bigger learnings.
- 16:57SPEAKER_01: We have, of course, like I know a lot of people have run into this.
- 16:59SPEAKER_01: We've,
- 16:59SPEAKER_01: of course,
- 16:59SPEAKER_01: seen,
- 17:00SPEAKER_01: you know,
- 17:01cases where people very often like external contributors will
- 17:05sometimes be very
- 17:07SPEAKER_01: passionate about like,
- 17:08SPEAKER_01: hey,
- 17:08SPEAKER_01: I want to contribute to your project.
- 17:09But then they'll use an LLM where you're going with the use an
- 17:12LLM and submit
- 17:13SPEAKER_00: something that I think Mitchell,
- 17:17SPEAKER_00: uh,
- 17:17Hashimoto was blowing up on social media because he just had
- 17:21enough that people
- 17:21SPEAKER_00: were submitting things that,
- 17:24SPEAKER_00: as you said,
- 17:25SPEAKER_00: out of good intention,
- 17:26SPEAKER_00: but putting way more load on maintainers.
- 17:28I love reading studies about how different segments of the
- 17:33developer population are
- 17:34SPEAKER_01: finding AI and what that means for their teams.
- 17:38SPEAKER_01: And one of the studies that I recently read
- 17:41highlighted that if you are increasing the velocity of code and
- 17:47improvements that
- 17:48SPEAKER_01: can land in the team and you are doing human oversight,
- 17:52SPEAKER_01: the human review is going to become the bottleneck.
- 17:55SPEAKER_01: And that is what teams are starting to realize.
- 17:57SPEAKER_01: Like, oh, wait, we're starting to see a lot more PRs come through.
- 18:01SPEAKER_01: But who's going to review those?
- 18:03SPEAKER_01: Right.
- 18:03SPEAKER_01: So I'm glad that teams are,
- 18:06SPEAKER_01: you know,
- 18:07at least some teams seem to be caring about that quality
- 18:10dimension sufficiently to
- 18:11SPEAKER_01: actually hand review themselves.
- 18:13SPEAKER_01: But that does also mean that our our workflows may have to evolve.
- 18:20SPEAKER_01: I have seen,
- 18:21SPEAKER_01: you know,
- 18:21SPEAKER_01: a lot of talk about like,
- 18:22SPEAKER_01: yeah,
- 18:22SPEAKER_01: why aren't we using,
- 18:23SPEAKER_01: you know,
- 18:24SPEAKER_01: LLMs to also do the code review?
- 18:26And that's a little bit of a slippery slope because if the AI
- 18:30is writing the code
- 18:31SPEAKER_01: and you haven't studied it carefully,
- 18:33SPEAKER_01: but the AI is also reviewing the code,
- 18:36SPEAKER_01: are you actually sure about what's landing?
- 18:38So I think that the best practices around code review are still
- 18:41something that are evolving.
- 18:43SPEAKER_01: And I'm excited to see where that goes.
- 18:45SPEAKER_01: For me personally, there are a lot of tools that I use.
- 18:48SPEAKER_01: Some of my favorite ones include using Klein in VS Code.
- 18:53SPEAKER_00: You're a big fan of people follow your writing on Klein.
- 18:56SPEAKER_01: Yeah, I love Klein.
- 18:58I think that people can do a lot with Cursor and Copilot and VS
- 19:02Code these days as well.
- 19:03But one of the things that I enjoy doing is most of these tools
- 19:08will show you the
- 19:10thinking that is happening behind the scenes as a solution is
- 19:13being built out.
- 19:14SPEAKER_01: And even if that happens quickly,
- 19:16SPEAKER_01: I will try to go back,
- 19:17SPEAKER_01: scroll through,
- 19:18SPEAKER_01: expand,
- 19:19SPEAKER_01: and read through,
- 19:20SPEAKER_01: okay,
- 19:20what was your thinking process through actually being able to
- 19:22build this out?
- 19:24SPEAKER_01: What decisions did you make?
- 19:25SPEAKER_01: What did you generate?
- 19:26SPEAKER_01: And I will review that code before it ends up in a pull request.
- 19:30There is going to be some likelihood later on that I may have
- 19:33to maintain that
- 19:34SPEAKER_01: code,
- 19:35that I may have to make some tweaks to that code that the LLM
- 19:38is not going to be
- 19:39SPEAKER_01: able to help me with.
- 19:40SPEAKER_01: Just last night, I was working through a problem.
- 19:43SPEAKER_01: And the code looked, you know, on paper, code looked right.
- 19:48SPEAKER_01: It wasn't working the way it was supposed to.
- 19:50SPEAKER_01: I asked the LLM a few times to like, hey, can you go use your tools?
- 19:53SPEAKER_01: Go figure out what the problem is.
- 19:55SPEAKER_01: It continued to make changes, didn't actually fix the underlying problem.
- 19:59And so tonight I'll have to roll up my sleeves and go and
- 20:02manually debug it.
- 20:03SPEAKER_01: If I didn't understand how that code worked or I hadn't been reading it,
- 20:07I would be feeling like I'd just been dropped into a jungle and
- 20:11having to navigate
- 20:12SPEAKER_01: it myself.
- 20:13SPEAKER_00: Well, plus, I mean, I'm reflecting on this, right?
- 20:16SPEAKER_00: Like, I feel this is the difference between...
- 20:18a software engineer who's worth their money just in terms of
- 20:22being employed.
- 20:24SPEAKER_00: And one, that's not.
- 20:26SPEAKER_00: If all you can do is just prompt and prompt, I mean, anyone can do that.
- 20:29SPEAKER_00: I'm exaggerating, but a new grad can do that or someone still in college.
- 20:35SPEAKER_00: But not everyone will have taken the effort to understand,
- 20:38SPEAKER_00: to know how it works and be able to roll up their sleeves.
- 20:41SPEAKER_00: And when these models fail, which they fail,
- 20:45SPEAKER_00: They can fix it.
- 20:46SPEAKER_00: And also they can also explain it to people.
- 20:48SPEAKER_00: They can explain it in meeting coherently without rambling.
- 20:51SPEAKER_00: So I feel like this is what a professional is, right?
- 20:54SPEAKER_00: Like in any industry, it's like they know how the things work.
- 20:57SPEAKER_00: Same with the car mechanics, same with anything else.
- 21:00SPEAKER_00: So maybe it's just a reminder that if you're not doing this,
- 21:03SPEAKER_00: if you're kind of letting go and like,
- 21:04SPEAKER_00: oh,
- 21:04SPEAKER_00: it solves my problems,
- 21:06SPEAKER_00: you're kind of at the risk of,
- 21:08SPEAKER_00: well,
- 21:09SPEAKER_00: if you don't know how it works,
- 21:10SPEAKER_00: I mean,
- 21:11SPEAKER_00: why do we need you?
- 21:12SPEAKER_00: Anyone can prompt another LLM.
- 21:14SPEAKER_01: Exactly, exactly.
- 21:15SPEAKER_01: And,
- 21:16SPEAKER_01: you know,
- 21:17SPEAKER_01: as we start to talk more about,
- 21:20SPEAKER_01: you know,
- 21:21SPEAKER_01: in the last year,
- 21:21SPEAKER_01: you know,
- 21:23SPEAKER_01: people working in their terminal,
- 21:24their CLIs has become more of a thing once again with Cloud
- 21:28Code and Gemini CLI and
- 21:29SPEAKER_01: OpenCode and so on.
- 21:30SPEAKER_01: And then people started talking about, OK, well, how do we orchestrate
- 21:34SPEAKER_01: multiple parallel agents being able to complete work for us.
- 21:38As we start thinking about this idea of each engineer almost
- 21:42having a virtual team
- 21:44SPEAKER_01: of their own,
- 21:45being able to go off and work through your backlog and get all
- 21:48of these different
- 21:49SPEAKER_01: tasks implemented concurrently,
- 21:52SPEAKER_01: I think that you start to quickly realize,
- 21:54SPEAKER_01: well,
- 21:54SPEAKER_01: that all sounds great in the abstract and in theory,
- 21:59but then you're going to compound all of these other problems
- 22:02where a lack of
- 22:03SPEAKER_01: manual review is going to probably lead you to some level of tech debt.
- 22:08SPEAKER_01: Maybe not immediately, but at some point, it very likely will.
- 22:12And my experience of this kind of led me at one point to write
- 22:15about what I called the 70%.
- 22:18SPEAKER_01: kind of problem.
- 22:19SPEAKER_00: Let's talk about that because you wrote about that extensively.
- 22:22SPEAKER_00: We actually published a shared article,
- 22:26SPEAKER_00: a guest article based on your article,
- 22:27SPEAKER_00: which we'll also link in the notes below.
- 22:30What is the 70% problem and how did you come across it and how
- 22:34do you think it
- 22:35SPEAKER_00: might have changed since you published it,
- 22:36SPEAKER_00: which was about six months ago?
- 22:38Yeah,
- 22:38obviously,
- 22:39you know,
- 22:40model quality,
- 22:41tooling quality continues to get better.
- 22:45So the 70% problem is really about this idea that LLMs can
- 22:49produce very roughly
- 22:50SPEAKER_01: like 70% of a working application very quickly,
- 22:54SPEAKER_01: but they tend to struggle with that last 30%.
- 22:57SPEAKER_01: And that last 30%,
- 22:59SPEAKER_01: you can consider it like the last mile,
- 23:01SPEAKER_01: but it includes lots of different kinds of patterns that,
- 23:05SPEAKER_01: you know,
- 23:06your audience probably run across or maybe they will run across
- 23:09things like the two
- 23:10SPEAKER_01: steps back pattern.
- 23:11SPEAKER_01: So, you know, you have used a couple of prompts to build up something.
- 23:16You give an LLM one more prompt and it happens to go in a
- 23:20completely different direction.
- 23:22Maybe it has fully rewritten your UI or the functionality
- 23:26behind your component.
- 23:27SPEAKER_01: Things like that.
- 23:28There are very often hidden maintainability costs,
- 23:32places where you're not being specific.
- 23:34You are delegating the responsibility back to the LLM and you
- 23:38may end up getting
- 23:38SPEAKER_01: diminishing returns.
- 23:40As we've seen time and time again on Hacker News,
- 23:43security vulnerabilities.
- 23:46SPEAKER_01: This is exactly where we see people accidentally leaking API keys,
- 23:52SPEAKER_01: where there are XSS issues,
- 23:53SPEAKER_01: where there are all kinds of problems because
- 23:56People did not think as holistically about the problem that
- 24:00they were solving and
- 24:01SPEAKER_01: just sort of gave into the vibes.
- 24:03SPEAKER_01: So a vibe coded proof of concept,
- 24:06SPEAKER_01: you know,
- 24:07SPEAKER_01: is fine for MVP for that prototyping phase,
- 24:10SPEAKER_01: but it likely needs to be rewritten with production quality in mind.
- 24:15If you are going to be landing this in a code base where you're
- 24:17working with other
- 24:18SPEAKER_01: people,
- 24:18SPEAKER_01: working with a team.
- 24:20SPEAKER_01: And, you know, dealing with a real user base of people.
- 24:24SPEAKER_01: I think that the security and quality aspects,
- 24:27SPEAKER_01: you know,
- 24:28SPEAKER_01: really speak to the need for keeping the human in the loop there.
- 24:31SPEAKER_00: Yeah,
- 24:31and we keep hearing stories about product managers and less
- 24:36technical founders who
- 24:38SPEAKER_00: get really into vibe coding,
- 24:39SPEAKER_00: excited,
- 24:40SPEAKER_00: you know,
- 24:40SPEAKER_00: they spin up a prototype or a better version,
- 24:42and then they want to build something that they can put out
- 24:45into production.
- 24:46SPEAKER_00: And there's a bunch of stories,
- 24:47SPEAKER_00: I'll link one in the show notes,
- 24:49SPEAKER_00: on how they just get stuck or it takes them a very long time.
- 24:53SPEAKER_00: What they thought would take a day or two ends up being 10, 20, 30 days.
- 24:55SPEAKER_00: And in the 70% problem,
- 24:59SPEAKER_00: You went into something relevant for this,
- 25:00which is you said that more experienced engineers can finish
- 25:06the last 30% a lot
- 25:07SPEAKER_00: easier,
- 25:08and then less experienced engineers get actually a lot more
- 25:12stuck or get this false
- 25:13SPEAKER_00: confidence.
- 25:14SPEAKER_01: Yes, yes, absolutely.
- 25:16SPEAKER_01: I think that with that last 30%,
- 25:20what you will often see junior engineers or interns or new
- 25:24grads doing is they will
- 25:27not really know what to do next beyond just constantly
- 25:32reprompting the LLM to fix
- 25:34SPEAKER_01: the issues.
- 25:34SPEAKER_01: And if it's not able to do it,
- 25:35they're not necessarily going to have all of those skills just
- 25:38yet for debugging
- 25:39SPEAKER_01: the problem or understanding where the issues are.
- 25:42And so what this speaks to is the importance of having a really
- 25:47good critical
- 25:48SPEAKER_01: thinking,
- 25:49SPEAKER_01: problem solving mindset.
- 25:50SPEAKER_01: You know,
- 25:51we always talked about the importance of this for people who
- 25:53are going into
- 25:53SPEAKER_01: computer science.
- 25:54SPEAKER_01: I think that that remains now,
- 25:57SPEAKER_01: but that diligence required to actually read the code,
- 26:00SPEAKER_01: understand the system,
- 26:02SPEAKER_01: understand how all of those pieces connect together.
- 26:04SPEAKER_01: I don't think that that necessarily goes away.
- 26:07SPEAKER_01: As you said earlier,
- 26:08SPEAKER_01: With the tools that we have today and the models we have today,
- 26:11almost anybody can give a high level prompt to a tool and have
- 26:16something that seems
- 26:18SPEAKER_01: like it works come out the back of it.
- 26:20SPEAKER_01: But I wouldn't necessarily trust that in production.
- 26:24Too many stories at this point of things just going a little
- 26:28bit off the rails.
- 26:29SPEAKER_00: It reminds me when this was before AI tools,
- 26:31I had an engineer who joined Uber who came from a smaller
- 26:34startup and a new joiner.
- 26:37SPEAKER_00: So after a week, I was this person's manager.
- 26:39SPEAKER_00: I asked, like, how are things going?
- 26:41SPEAKER_00: And he was really distressed.
- 26:42SPEAKER_00: I'm like, oh, it's really difficult.
- 26:43SPEAKER_00: It's like, what's difficult?
- 26:44SPEAKER_00: He's like, I'm trying to read all the code and it's just too much.
- 26:48SPEAKER_00: And I was like,
- 26:49SPEAKER_00: why are you trying to read all the code of Uber,
- 26:51SPEAKER_00: which was like,
- 26:52SPEAKER_00: you know,
- 26:52SPEAKER_00: our backend system.
- 26:53SPEAKER_00: It was like, you know, like just so it was a mobile app.
- 26:55SPEAKER_00: It was like more than a million lines of code.
- 26:57SPEAKER_00: He's like,
- 26:57SPEAKER_00: well,
- 26:58SPEAKER_00: I do that because whenever I join a new company,
- 26:59SPEAKER_00: I read all the code to understand everything.
- 27:02SPEAKER_00: And I was like, I was like, I get what you're coming from.
- 27:04SPEAKER_00: And I think that's great.
- 27:06SPEAKER_00: I was just like, let me explain to you how the code base works.
- 27:09SPEAKER_00: You shouldn't read all the code,
- 27:10SPEAKER_00: but you should understand the structure,
- 27:12SPEAKER_00: where you can find things,
- 27:13SPEAKER_00: because this is on the code base where we had,
- 27:16SPEAKER_00: I think,
- 27:16SPEAKER_00: 200 or 300 engineers working on it.
- 27:18SPEAKER_00: And I thought...
- 27:19This person had a really great intention,
- 27:23which is,
- 27:23I'm coming to a new place.
- 27:24SPEAKER_00: I want to understand it.
- 27:26SPEAKER_00: I'm going to spend the first few weeks understanding.
- 27:28SPEAKER_00: And those people excel.
- 27:29SPEAKER_00: And I'm kind of thinking we keep getting back to this thing.
- 27:33SPEAKER_00: But what I'm hearing from you is if you can actually,
- 27:36SPEAKER_00: to some extent,
- 27:37SPEAKER_00: outsource this to an LLM,
- 27:38SPEAKER_00: which is a bit of a hit or miss,
- 27:39SPEAKER_00: or it might or might not succeed.
- 27:41SPEAKER_00: But if you do, you're now hopelessly dependent on it.
- 27:44And at some point when the context window fills up or when the
- 27:47model is not having
- 27:48SPEAKER_00: a good day because these things are non-deterministic,
- 27:50SPEAKER_00: you're kind of stuck.
- 27:52SPEAKER_00: You know,
- 27:53your best thing is to try a new model or empty the context
- 27:56window or I don't know,
- 27:57SPEAKER_00: do something else.
- 27:58SPEAKER_00: But it doesn't really feel like you're in control.
- 28:01SPEAKER_01: Yes, yes, you're absolutely right.
- 28:03And I think that whether your gateway into this new world was
- 28:08Vibe Coding or you
- 28:09SPEAKER_01: are a senior engineer and you've been evolving your workflow for AI,
- 28:14there are a few things I think that everybody should keep in
- 28:16mind that can help you
- 28:17SPEAKER_01: get the best outcomes.
- 28:19SPEAKER_00: Adi just mentioned getting the best outcomes.
- 28:22SPEAKER_00: Here's what I'm seeing with AI and Vibe coding.
- 28:24SPEAKER_00: These tools can give you incredible velocity.
- 28:26SPEAKER_00: You can ship features a lot faster than before.
- 28:28SPEAKER_00: But velocity without precision means you're just shipping more things,
- 28:32SPEAKER_00: not necessarily the right things.
- 28:34SPEAKER_00: How do you know if what you build actually works?
- 28:37SPEAKER_00: Did that new checkout flow improve conversion or hurt it?
- 28:39SPEAKER_00: Is a feature you shipped helping retention or causing a drop-off?
- 28:42Without precision in how you roll out a measure,
- 28:45you're making decisions blind.
- 28:46SPEAKER_00: That's where Statsik comes in.
- 28:48Statsik is our presenting partner for the season and they built
- 28:51a precision toolkit
- 28:52SPEAKER_00: that matches your AI accelerated velocity.
- 28:54SPEAKER_00: Here's what precision looks like.
- 28:56You ship a feature to 10% of users in a controlled environment
- 28:59and see if it's
- 29:00SPEAKER_00: moving your metrics up or down.
- 29:03If conversion drops,
- 29:04you catch it early and roll back before it affects everyone.
- 29:07You're making precise data-driven decisions at the same pace
- 29:11you're shipping code.
- 29:12SPEAKER_00: Take Graphite as an example.
- 29:13They build granular control and rapid iteration into their
- 29:16development workflow using Statsig.
- 29:18SPEAKER_00: When they roll out a new feature,
- 29:20SPEAKER_00: built-in analytics show exactly how it affects their key metrics.
- 29:23SPEAKER_00: They can see if engagement is up,
- 29:25SPEAKER_00: if the feature is causing errors,
- 29:27SPEAKER_00: or if users are dropping off.
- 29:28SPEAKER_00: They do this with feature gates and metrics working together,
- 29:31and they're running over 300 of these controls rollouts at any
- 29:34given time.
- 29:34During production incidents,
- 29:36this approach cut their resolution times by over 50%,
- 29:39because they could quickly identify which feature flag was
- 29:41causing issues and fix it instantly.
- 29:43SPEAKER_00: Most teams stitch together separate systems,
- 29:46SPEAKER_00: wait on queries,
- 29:47SPEAKER_00: and try to correlate user segments that don't match.
- 29:49By the time they know if something worked,
- 29:51they've already moved on to the next feature.
- 29:52SPEAKER_00: With Statsig, you have everything in one place.
- 29:55SPEAKER_00: Feature flags, experimentation, and analytics with the same user data.
- 29:58SPEAKER_00: Statsig has a generous free tier to get started,
- 30:00SPEAKER_00: and pro pricing for Teams starts at $150 per month.
- 30:03To learn more and get a 30-day enterprise trial,
- 30:06go to statsig.com slash pragmatic.
- 30:08With this,
- 30:08let's get back to the conversation about AI and development
- 30:11workflows.
- 30:12SPEAKER_01: Understand that models tend to have finite context windows.
- 30:15SPEAKER_01: They've been getting larger over time.
- 30:17You probably need to,
- 30:18at some level,
- 30:19adopt sort of a project manager mindset.
- 30:23SPEAKER_01: Break tasks into small, verifiable chunks.
- 30:26I've seen a lot of people who will throw the kitchen sink at
- 30:30the LLM and say,
- 30:30SPEAKER_01: hey,
- 30:31SPEAKER_01: yes,
- 30:31SPEAKER_01: build all these requirements at once.
- 30:33SPEAKER_01: And that doesn't necessarily work the best.
- 30:36SPEAKER_01: So,
- 30:36SPEAKER_01: you know,
- 30:37SPEAKER_01: small verifiable chunks,
- 30:39SPEAKER_01: clear expectations and be prepared to iterate with the AI.
- 30:43Don't just feel like one shotting is going to give you the best
- 30:47outcome because it
- 30:48SPEAKER_01: probably isn't.
- 30:49And that decomposition is really pretty similar to planning a
- 30:52sprint or writing
- 30:54SPEAKER_01: pseudocode,
- 30:55SPEAKER_01: the type of thing that we would do in the older days.
- 30:57SPEAKER_01: And it reduces the risk of context loss and compounding errors.
- 31:01I think that a lot of best practices in software engineering
- 31:04remain timeless,
- 31:05SPEAKER_01: even with AI coding.
- 31:07SPEAKER_01: So caring about modular, testable code, enforcing those code reviews...
- 31:13SPEAKER_01: You know,
- 31:13SPEAKER_01: AI is going to introduce a few new habits,
- 31:16like thinking about the input and output constraints and
- 31:19seeding enough context.
- 31:20SPEAKER_01: But that doesn't mean that you can't get good output from it.
- 31:23It does mean that you're going to have to apply a level of
- 31:26diligence with that
- 31:27human in the loop to make sure that you are setting yourself up
- 31:31for success.
- 31:32SPEAKER_01: The more that you sort of give up your responsibilities to the LLM,
- 31:37SPEAKER_01: the higher the risk is that something's going to go off the rails.
- 31:40SPEAKER_00: Yeah,
- 31:40SPEAKER_00: and one thing that I heard from an engineer,
- 31:44SPEAKER_00: actually,
- 31:44SPEAKER_00: it was Armin Ronatra,
- 31:45SPEAKER_00: who's a longtime century engineer,
- 31:49SPEAKER_00: the creator of Flask and a bunch of open source frameworks.
- 31:52And he was telling me that he's observed something interesting
- 31:55with engineers who
- 31:56SPEAKER_00: are firmly in control and very confident in their work.
- 32:00SPEAKER_00: He said that he sees they're just seeing a lot more success with AI.
- 32:04And the people who feel that they don't have that much control
- 32:07over their work
- 32:08SPEAKER_00: over their tasks, they're just assigned tickets.
- 32:10SPEAKER_00: And they also have a bit of a, like, you know, the world's control.
- 32:13I mean,
- 32:14mine said they're freaking out a lot more about AI and what it
- 32:17will do.
- 32:17SPEAKER_00: And this was so interesting of,
- 32:20SPEAKER_00: It just came to me as we're talking about it,
- 32:22SPEAKER_00: because what I'm sensing from a conversation is,
- 32:25SPEAKER_00: again,
- 32:25SPEAKER_00: a lot of your advice boils down to be in charge,
- 32:28SPEAKER_00: understand everything,
- 32:29SPEAKER_00: be confident,
- 32:30SPEAKER_00: you know,
- 32:30SPEAKER_00: that if this thing is taken away,
- 32:32SPEAKER_00: you can make progress,
- 32:33SPEAKER_00: like no problem,
- 32:34SPEAKER_00: it'll just be a bit slower.
- 32:35SPEAKER_00: And as long as you have this mindset, it feels like everything is easier.
- 32:39SPEAKER_00: And keeping this, as you said, you still read through the thinking.
- 32:43SPEAKER_00: You prefer the models where it explains to you.
- 32:45SPEAKER_00: And then you can go back if you wish.
- 32:47SPEAKER_00: And you often do it.
- 32:49SPEAKER_00: You read through to make sure to learn.
- 32:51SPEAKER_00: Plus, it's kind of fun.
- 32:52SPEAKER_00: You keep learning professionally.
- 32:53SPEAKER_00: You keep getting better every day.
- 32:55SPEAKER_01: Absolutely.
- 32:55SPEAKER_01: Absolutely right.
- 32:57SPEAKER_01: I'm reminded of, you know, AI is just another tool in your tool belt.
- 33:03SPEAKER_01: You know,
- 33:04we've gone through so many different moments over time of
- 33:08engineering and developer
- 33:09SPEAKER_01: experience getting a little bit better with every generation.
- 33:14You know,
- 33:14when I was coming up,
- 33:16I remembered getting excited when templates became a thing.
- 33:20SPEAKER_01: You could generate code?
- 33:22SPEAKER_01: What templates do you mean?
- 33:23SPEAKER_01: Oh, no, just downloading templates for ideas, for UI, for starting off.
- 33:29SPEAKER_00: Oh, on the web, right?
- 33:30SPEAKER_01: Yeah, on the web.
- 33:31SPEAKER_01: And this was just the simplest of things.
- 33:34SPEAKER_01: It was like a zip file, right?
- 33:35SPEAKER_01: Somebody else had created it.
- 33:36SPEAKER_01: Okay, so I've improved my starting point.
- 33:39And then we got stronger command line interfaces,
- 33:42scaffolding,
- 33:43that type of thing.
- 33:44SPEAKER_01: And then you didn't have to worry about the exact starting point.
- 33:48SPEAKER_01: And I feel like this is just taking us a few steps forward,
- 33:51like it's making it easier for us to bootstrap a solution that
- 33:56kind of works,
- 33:57but still requires you to really understand what you are
- 34:01putting into your code
- 34:01SPEAKER_01: base shipping out to users and not,
- 34:04SPEAKER_01: you know,
- 34:05SPEAKER_01: getting rid of your responsibilities at the end of the day.
- 34:08SPEAKER_01: I find that,
- 34:10SPEAKER_01: at least for me,
- 34:11SPEAKER_01: in the last year or two,
- 34:13SPEAKER_01: going back to first principles,
- 34:15SPEAKER_01: as always,
- 34:16SPEAKER_01: has helped a lot.
- 34:17I've been working a little bit more closely with the Google
- 34:21DeepMind team on Gemini
- 34:24SPEAKER_01: and its coding capabilities.
- 34:26And that has been a really good reminder for me of just
- 34:29understanding how a lot of
- 34:30SPEAKER_01: these things work behind the scenes.
- 34:32SPEAKER_01: If you remember that, you know, what is training data?
- 34:36SPEAKER_01: Well,
- 34:36it's very likely going to be looking at permissively licensed
- 34:40code that's on GitHub
- 34:42SPEAKER_01: or out on the open web.
- 34:45SPEAKER_01: The patterns in that code are probably going to be reflective of,
- 34:48SPEAKER_01: in many cases,
- 34:49SPEAKER_01: like lowest common denominator.
- 34:51um things that maybe just work are they going to be the most
- 34:55secure the most high
- 34:56performance the most accessible possibly not and so if you
- 35:01remember that the
- 35:01training data itself um still requires a lot of work to like
- 35:05actually get things to
- 35:06a place where you know it maybe is of production quality you
- 35:10sort of start to set
- 35:11your expectations a little bit lower um when working with llms
- 35:15um you realize like
- 35:16SPEAKER_01: Yeah,
- 35:17it will probably do a better job than me just copying and
- 35:20pasting snippets of code
- 35:21SPEAKER_01: from somewhere else,
- 35:23SPEAKER_01: obviously.
- 35:24But I still very likely need to do a level of manual work or a
- 35:29level of diligence
- 35:30SPEAKER_01: on top of this to get the best outputs.
- 35:32SPEAKER_00: Yeah,
- 35:32SPEAKER_00: it reminds me a little bit of 10 years ago or so,
- 35:36SPEAKER_00: five,
- 35:36SPEAKER_00: 10 years ago,
- 35:37SPEAKER_00: we use a lot of Stack Overflow because when you search for something,
- 35:40SPEAKER_00: it was there.
- 35:41SPEAKER_00: And so,
- 35:41SPEAKER_00: for example,
- 35:42SPEAKER_00: for email validation,
- 35:43SPEAKER_00: like you would search,
- 35:44SPEAKER_00: like how do I validate an email address?
- 35:46SPEAKER_00: There was a Stack Overflow question and it had like 20 answers.
- 35:48SPEAKER_00: One of them was top rated.
- 35:49SPEAKER_00: It was a regular expression.
- 35:51SPEAKER_00: And what I did,
- 35:53SPEAKER_00: and I think what a lot of people did,
- 35:54is I just copied and pasted because I cannot be bothered to
- 35:57define exactly the
- 35:58SPEAKER_00: regular expression of emails,
- 35:59SPEAKER_00: which is a lot more complicated than just things.
- 36:02So I just kind of...
- 36:02And if it was for nothing important,
- 36:05it kind of worked.
- 36:06SPEAKER_00: But there were then complaints and flags raised that...
- 36:11SPEAKER_00: A few of them,
- 36:12SPEAKER_00: not this specific example,
- 36:13SPEAKER_00: but they were insecure or they didn't account for edge cases.
- 36:16SPEAKER_00: And a lot of devs,
- 36:18SPEAKER_00: again,
- 36:18when you were in the mindless mode or it didn't matter or you
- 36:20know better,
- 36:21SPEAKER_00: you did that.
- 36:22SPEAKER_00: And I guess we're going to have the same thing at larger scale.
- 36:25SPEAKER_00: Like, why did the bug happen?
- 36:27SPEAKER_00: And you're going to look back at the history.
- 36:29SPEAKER_00: Yeah,
- 36:30someone just looks good to me for that big pull request that
- 36:34was in the end
- 36:34SPEAKER_00: generated by an AI.
- 36:35SPEAKER_00: Yeah.
- 36:36SPEAKER_01: I think that this is very much a smaller point,
- 36:39SPEAKER_01: a side discussion point,
- 36:41SPEAKER_01: but I've seen a number of cases where people will now say,
- 36:45SPEAKER_01: hey,
- 36:46do I still need to use third-party libraries if I can just
- 36:50prompt a very slightly
- 36:52SPEAKER_01: smaller version of a solution myself?
- 36:55Which reminded me exactly of this Stack Overflow copy-pasting
- 36:59the top response thing.
- 37:00SPEAKER_01: And if you're a senior engineer, what you realize is,
- 37:03SPEAKER_01: Well, hold on.
- 37:04That also means that you are now taking on the responsibility
- 37:07of making sure that
- 37:08SPEAKER_01: this is future proof for security issues,
- 37:11SPEAKER_01: for all sorts of platform issues that could happen.
- 37:14SPEAKER_01: If you're relying on a library,
- 37:15it's perhaps easier for there to be a central point of leverage
- 37:18where those fixes
- 37:18SPEAKER_01: can be made and then deployed out to people.
- 37:21SPEAKER_01: If you own all of these different patterns in your code base yourself,
- 37:25SPEAKER_01: that also means that you're taking on that responsibility.
- 37:28SPEAKER_01: Can be totally okay,
- 37:29but it's something that I sometimes see people just not being
- 37:31mindful of requiring
- 37:32SPEAKER_01: a little bit of extra work.
- 37:33And I feel this is where we just need to remind ourselves that
- 37:36it's just engineering,
- 37:37right?
- 37:37SPEAKER_00: It's trade-off.
- 37:38Do you take on the responsibility and the risk of maintaining
- 37:42this thing and the
- 37:43SPEAKER_00: fact that it might have missing edge cases or whatever,
- 37:45SPEAKER_00: or might not work correctly or securely?
- 37:48SPEAKER_00: Or do you take on a dependency, which has its own problems, right?
- 37:51SPEAKER_00: There's now dependency, security, et cetera.
- 37:54SPEAKER_00: But speaking of the need for software engineering...
- 37:58SPEAKER_00: What are some new workflows,
- 38:00some things that we have not been able to do before as software
- 38:04engineers that we
- 38:05SPEAKER_00: can now experiment with,
- 38:06SPEAKER_00: that you might be trying out with these AI tools that is just like,
- 38:11SPEAKER_00: is brand new?
- 38:11SPEAKER_01: Yeah,
- 38:12SPEAKER_01: I think for me,
- 38:13the thing that I'm most excited about seeing evolve is this
- 38:18idea of asynchronous
- 38:20SPEAKER_01: background coding agents.
- 38:22A number of teams playing around with these ideas at the
- 38:24moment,
- 38:25Jules,
- 38:26Codex,
- 38:28SPEAKER_01: We also see GitHub experimenting with some of these ideas as well.
- 38:33I think that the idea of you being able to delegate parts of
- 38:39your backlog and have
- 38:41SPEAKER_01: a system be able to
- 38:43SPEAKER_01: implement that asynchronously is a very interesting idea.
- 38:48If we can do that without merge conflicts in a way that is
- 38:54easily human verifiable,
- 38:56SPEAKER_01: so again,
- 38:56SPEAKER_01: going back to that human in the loop,
- 38:58SPEAKER_01: I think that's very interesting.
- 38:59SPEAKER_01: I have been finding that that is very interesting
- 39:03very much already in a place where if you are having one agent
- 39:08work on writing or
- 39:10updating your tests or you have a number of agents working
- 39:13together on trying to
- 39:15SPEAKER_01: migrate your code base from one version of a library to another or
- 39:20SPEAKER_01: you know,
- 39:20SPEAKER_01: a version of a dependency to another,
- 39:23SPEAKER_01: that they're pretty okay at doing that kind of work right now.
- 39:26SPEAKER_01: Smaller changes,
- 39:27SPEAKER_01: like there are lots of things that,
- 39:28SPEAKER_01: you know,
- 39:29SPEAKER_01: we all have to do,
- 39:30SPEAKER_01: like adding dark mode,
- 39:31SPEAKER_01: for example,
- 39:32SPEAKER_01: like smaller kinds of changes,
- 39:33where maybe being able to delegate those kinds of changes to
- 39:37asynchronous agents
- 39:38SPEAKER_01: are going to,
- 39:39SPEAKER_01: you know,
- 39:39SPEAKER_01: get very good.
- 39:41SPEAKER_01: I'm excited about that.
- 39:42I think that the jury is still out on exactly what is the
- 39:46surface for being able
- 39:47SPEAKER_01: to,
- 39:48SPEAKER_01: if you are the conductor of this orchestra,
- 39:51what is the right surface for you being able to manage all of
- 39:54these things?
- 39:54And what is a realistic number of tasks for you to be managing
- 39:59at the same time?
- 40:00SPEAKER_01: Because,
- 40:01SPEAKER_01: you know,
- 40:01SPEAKER_01: even I like a number of people have shown off like,
- 40:04SPEAKER_01: hey,
- 40:04I've got like 20 different terminals open and I have quad code
- 40:09running in half of
- 40:09SPEAKER_01: them and then Gemini running.
- 40:10SPEAKER_01: And it's it looks it's funny.
- 40:13SPEAKER_01: But the reality is that you only have a finite amount of attention.
- 40:18And if you are going to be actually putting in diligence into
- 40:22your code reviews and
- 40:23SPEAKER_01: into each of these workflows,
- 40:25you are probably only going to be able to do a couple of things
- 40:28at the same time.
- 40:29SPEAKER_01: It all comes back to multitasking best practices.
- 40:34SPEAKER_01: But I'm interested in that.
- 40:35SPEAKER_01: I'm interested in seeing where that goes.
- 40:37SPEAKER_01: Another thing that's very interesting is vibe designing.
- 40:40I'm seeing that part of product engineering,
- 40:45product development evolving a little bit.
- 40:48It was very exciting to see Figma's MCP moving a little bit
- 40:53closer in this direction.
- 40:55Things that allow designers and developers to work more closely
- 40:59together or to at
- 41:00SPEAKER_01: least enable designers to be able to take their vision and turn it into a
- 41:04SPEAKER_01: functional prototype,
- 41:05something perhaps a little bit closer to code that can then be
- 41:09productionized and
- 41:10SPEAKER_01: is not just a one-off demo.
- 41:12SPEAKER_00: Yeah,
- 41:13I heard an engineering lead or design leader at Shopify said
- 41:17that her team,
- 41:19SPEAKER_00: every designer on her team,
- 41:20SPEAKER_00: so not all of Shopify,
- 41:22SPEAKER_00: has cursor.
- 41:23And what they do is they create a Figma design and then they
- 41:26ask cursor to implement it.
- 41:27SPEAKER_00: And then they show it to engineers.
- 41:29SPEAKER_00: And this is not saying ship it.
- 41:31SPEAKER_00: It's just more,
- 41:32we now have something interactive that we can work with as
- 41:34opposed to just what
- 41:35SPEAKER_00: they used to do,
- 41:36SPEAKER_00: which is sharing a Figma design.
- 41:37SPEAKER_00: And I was like, huh.
- 41:39SPEAKER_00: This is something I've not heard before,
- 41:41SPEAKER_00: like,
- 41:42SPEAKER_00: truly,
- 41:42SPEAKER_00: like,
- 41:43SPEAKER_00: like all designers or at least on a team using the developer tool,
- 41:46SPEAKER_00: like I couldn't imagine designers using Visual Studio code for,
- 41:50SPEAKER_00: I mean,
- 41:50SPEAKER_00: I can imagine them being able to open it,
- 41:52SPEAKER_00: but I couldn't imagine them.
- 41:53SPEAKER_00: It's just not built for them.
- 41:54SPEAKER_00: So this was really, really interesting to hear.
- 41:57SPEAKER_00: And again, this wasn't some vendor advertisement or anything.
- 42:00SPEAKER_01: Yeah, shout out to the Shopify team.
- 42:03SPEAKER_01: Honestly,
- 42:03I feel like a number of them have been very open to sharing
- 42:07what's been working out
- 42:08SPEAKER_01: well for their teams.
- 42:09SPEAKER_01: And I've enjoyed following their story.
- 42:12I think that more of these patterns spreading is going to
- 42:15depend a little bit on
- 42:17SPEAKER_01: training,
- 42:18SPEAKER_01: on governance,
- 42:18SPEAKER_01: on clear boundaries between what is prototype code and production.
- 42:22But already being able to turn something static into a
- 42:26semi-functional prototype is very cool.
- 42:29SPEAKER_01: Are we going to see, like, everybody using cursor?
- 42:31SPEAKER_01: I don't know.
- 42:32SPEAKER_01: I think that I,
- 42:35SPEAKER_01: at least for me,
- 42:36I see folks being able to accomplish the same outcomes from the
- 42:39tools that they
- 42:40spend the most time in or the bridges between tools getting
- 42:43better over time.
- 42:44SPEAKER_01: But I still think it's very, very exciting.
- 42:46SPEAKER_01: In the same way,
- 42:47SPEAKER_01: you know,
- 42:48we're also seeing lots of good conversations about PM and EM
- 42:52roles changing.
- 42:54SPEAKER_01: PMs maybe, you know, spending...
- 42:57SPEAKER_01: more time on problem framing and metrics and policies for agents,
- 43:00EM spending more time on evals and safety reviews and really
- 43:04enabling their teams
- 43:05SPEAKER_01: to work with AI confidently.
- 43:07SPEAKER_01: It won't change accountability for outcomes,
- 43:11but I am seeing a lot of good discussions about the need for
- 43:14taste in product
- 43:15SPEAKER_01: engineering,
- 43:16SPEAKER_01: where that's going to be what differentiates people.
- 43:19SPEAKER_01: Because
- 43:19If anybody can look at what you've built and can use prompts to
- 43:23accomplish a
- 43:24SPEAKER_01: similar set of functionality,
- 43:26the taste piece is going to continue to be very interesting for
- 43:30folks to focus on
- 43:31SPEAKER_01: in the future.
- 43:32SPEAKER_01: You and I have talked about juniors and seniors.
- 43:36I think that there's going to be interesting times for new
- 43:39grads versus seniors.
- 43:42SPEAKER_01: AI definitely raises the floor, but it also raises the ceiling too.
- 43:47SPEAKER_01: And juniors are going to be able to get moving faster,
- 43:52SPEAKER_01: but seniors who can write specs,
- 43:55SPEAKER_01: decompose work,
- 43:56SPEAKER_01: understand system architecture,
- 43:58SPEAKER_01: review effectively,
- 43:59SPEAKER_01: I think that they're going to become even more valuable.
- 44:02SPEAKER_01: And that last 30% that we talked about, I think it's leverage.
- 44:06SPEAKER_01: Not just busy work, but actually gets leverage.
- 44:09SPEAKER_01: And,
- 44:10SPEAKER_01: you know,
- 44:11a lot of surveys have been showing that trust is in a cautious
- 44:17but optimistic place
- 44:19SPEAKER_01: at the moment.
- 44:20But that cautious piece speaks to the need for that human
- 44:24oversight remaining pretty central.
- 44:26SPEAKER_00: Yeah,
- 44:26SPEAKER_00: and if I think about...
- 44:28SPEAKER_00: I was just thinking that when it comes to this idea of parallel agent,
- 44:32SPEAKER_00: I don't think it's ever been done in the sense that as a developer,
- 44:35SPEAKER_00: you were never able to do this.
- 44:36SPEAKER_00: I mean, we couldn't even kick off and talk with natural language to...
- 44:41SPEAKER_00: machine that would spit out code that actually compiles.
- 44:43I think this is new as well,
- 44:44but the fact that you can do it with multiple.
- 44:46SPEAKER_00: It's not happened before,
- 44:48SPEAKER_00: and programming is a very,
- 44:50SPEAKER_00: you're in the flow,
- 44:51SPEAKER_00: you work on one problem.
- 44:52SPEAKER_00: When you stop working on it,
- 44:53SPEAKER_00: you switch over,
- 44:55SPEAKER_00: you get your context almost like the stack clears,
- 44:58SPEAKER_00: you load the new thing.
- 44:58SPEAKER_00: It kind of feels like it, right?
- 45:00SPEAKER_00: But on the other,
- 45:01when I think back to who are the best senior engineers I know
- 45:05and what their days
- 45:06SPEAKER_00: look like,
- 45:06SPEAKER_00: well,
- 45:06SPEAKER_00: they're on a team with a few mid-level,
- 45:09SPEAKER_00: maybe some interns or new grads,
- 45:11SPEAKER_00: and they're working on their stuff.
- 45:13And then they're the ones who get the slack pink saying,
- 45:16hey,
- 45:16could you please unblock me?
- 45:18SPEAKER_00: So they context switch, review the code, you know, like criticize it.
- 45:23SPEAKER_00: or they block out time and they review, review, review.
- 45:25SPEAKER_00: And like for every kind of senior slash,
- 45:27SPEAKER_00: often these are tech leads,
- 45:29SPEAKER_00: they have like a few people who are,
- 45:30SPEAKER_00: you know,
- 45:31SPEAKER_00: they're not agents,
- 45:31SPEAKER_00: they're people,
- 45:32but they just review their work and they kind of orchestrate
- 45:35them a little bit on
- 45:36SPEAKER_00: the standup,
- 45:36SPEAKER_00: you know,
- 45:37SPEAKER_00: they're in the planning meeting,
- 45:38SPEAKER_00: they nudge them,
- 45:39SPEAKER_00: they mentor them.
- 45:41SPEAKER_00: So in some sense,
- 45:42SPEAKER_00: I feel like seniors already do this,
- 45:45SPEAKER_00: and if I had a magic wand saying,
- 45:47SPEAKER_00: like,
- 45:47who would I expect in a few years' time to be able to manage
- 45:51multiple agents?
- 45:52SPEAKER_00: Well, the senior, for sure.
- 45:53SPEAKER_00: Like,
- 45:54SPEAKER_00: new grads,
- 45:54SPEAKER_00: probably,
- 45:55SPEAKER_00: like,
- 45:56SPEAKER_00: I mean,
- 45:56SPEAKER_00: I feel there will be a stretch for them,
- 45:57SPEAKER_00: but they're not expected to have that,
- 45:59SPEAKER_00: and they don't have the expertise.
- 46:00So I wonder if some of these skills are somewhat transferable
- 46:03in a sense that,
- 46:04SPEAKER_00: and you know,
- 46:05SPEAKER_00: that senior,
- 46:06SPEAKER_00: why could that senior do that?
- 46:07SPEAKER_00: Well, because they understood the code base.
- 46:09SPEAKER_00: They knew what good looked like.
- 46:10SPEAKER_00: They were always thorough on their reviews.
- 46:12SPEAKER_00: They never let things slip.
- 46:13SPEAKER_00: They call out even the smallest thing.
- 46:15SPEAKER_01: I completely agree with you.
- 46:17And I think that there's a lot to be said about how developer
- 46:22education in teams
- 46:24SPEAKER_01: may also evolve for this moment.
- 46:27Historically,
- 46:28I remember when I was coming up,
- 46:29you know,
- 46:30mentorship was always a big topic.
- 46:32SPEAKER_01: And we talked about,
- 46:33SPEAKER_01: you know,
- 46:34SPEAKER_01: especially for folks who are joining a new team,
- 46:37SPEAKER_01: the importance of like pair programming.
- 46:40SPEAKER_01: I think we're going to see, you know, perhaps even situations of trio.
- 46:44SPEAKER_01: programming where it's a junior senior and the AI.
- 46:48And maybe the senior is going to be there asking you to explain
- 46:53the code that the
- 46:54AI is generating in some way or walking you through how that
- 46:58code perhaps connects
- 46:59SPEAKER_01: to other parts of the system.
- 47:00SPEAKER_01: And really,
- 47:00SPEAKER_01: again,
- 47:01using it as an additional tool in their arsenal to be able to
- 47:04help build up
- 47:06SPEAKER_01: confidence and awareness of how the full app actually works.
- 47:10We're also seeing some interesting discussion about potentially
- 47:14new roles or
- 47:15SPEAKER_01: refinements of roles,
- 47:16SPEAKER_01: things like forward deployed engineers.
- 47:19SPEAKER_01: I'm seeing interest in developers who are a little bit more embedded with
- 47:24SPEAKER_01: customers,
- 47:25SPEAKER_01: who can build features rapidly with AI while feeding back requirements.
- 47:30SPEAKER_01: And that type of thing might blur the lines between the developer,
- 47:33SPEAKER_01: PM,
- 47:34SPEAKER_01: and designer roles a little bit.
- 47:36SPEAKER_01: I'm interested to see where that may end up going.
- 47:40SPEAKER_01: And I'm also interested in how,
- 47:42SPEAKER_01: you know,
- 47:42SPEAKER_01: just generally speaking,
- 47:43SPEAKER_01: AI engineering is going to evolve how,
- 47:46SPEAKER_01: you know,
- 47:47SPEAKER_01: we approach education,
- 47:48SPEAKER_01: whether you're in high school or you're in college.
- 47:50Like,
- 47:51are we going to be teaching people prompt and context
- 47:54engineering best practices?
- 47:56SPEAKER_01: What does that all actually look like?
- 47:57SPEAKER_01: How do we
- 47:58continue to enable people to think with systems design and
- 48:02engineering in mind.
- 48:03SPEAKER_01: But I'm very excited where the education side of this goes.
- 48:06So one area that we've talked about was code reviews and how
- 48:09it's really important.
- 48:10SPEAKER_00: It's a bottleneck and we should review the code.
- 48:13One thing that I'm kind of noticing on myself already is when I
- 48:17use these AI tools,
- 48:19SPEAKER_00: may that be cloud code or agents or even just the autocomplete,
- 48:24I have a tendency to do tap-tap or accept or just like accept
- 48:28all the things,
- 48:29SPEAKER_00: especially when I'm working on something that,
- 48:31SPEAKER_00: I mean,
- 48:32SPEAKER_00: it's not the most critical thing in the world.
- 48:34SPEAKER_00: And it's kind of, it's easy.
- 48:35And especially after I started to trust that it gets it right
- 48:38most of the time,
- 48:38SPEAKER_00: in the end,
- 48:39SPEAKER_00: I know I'm going to review.
- 48:41SPEAKER_00: But I find myself losing a little bit of...
- 48:44SPEAKER_00: criticality.
- 48:45SPEAKER_00: I'm not as critical,
- 48:46SPEAKER_00: you know,
- 48:47the second day and the third day and when I was the first time
- 48:51when I didn't trust
- 48:51SPEAKER_00: this thing.
- 48:52SPEAKER_00: And I worry a little bit that with code reviews, the same could happen.
- 48:54SPEAKER_00: You know, LGTM looks good to me.
- 48:56SPEAKER_00: I mean, I understand that Google has it built in as a
- 49:01as a feature in your code review tool,
- 49:03which is a really fun tool,
- 49:04as I understand.
- 49:05SPEAKER_00: But there is this risk.
- 49:07There's always been this risk,
- 49:08of course,
- 49:08that you just kind of like,
- 49:10it's a lot of work.
- 49:11SPEAKER_00: It kind of looks good, and you're not looking critically.
- 49:13SPEAKER_00: How do you think, especially on proper teams,
- 49:19SPEAKER_00: we could battle or we could do this kind of fighting against like,
- 49:23SPEAKER_00: yes,
- 49:23SPEAKER_00: giving it a proper review,
- 49:25SPEAKER_00: especially if we haven't written the code that much.
- 49:27SPEAKER_00: Because I feel with writing the code, you have like two reviews.
- 49:30SPEAKER_00: One is you're writing your own code,
- 49:31SPEAKER_00: you're typing it out,
- 49:33SPEAKER_00: which we're not doing as much anymore.
- 49:34And then someone else gives a review knowing that it was you
- 49:37who typed it out.
- 49:38SPEAKER_01: I mean, it's always more fun to write code than to read and review it.
- 49:43SPEAKER_00: Yeah, a little bit, right?
- 49:45Yeah,
- 49:45and I think more and more of our job is going to become about
- 49:50reading and reviewing code.
- 49:51SPEAKER_01: There are a few ideas that I've tried to suggest to folks.
- 49:55SPEAKER_01: Things like for certain features or certain days of the week,
- 50:01SPEAKER_01: maybe you intentionally try to not write
- 50:05lean on using ai or an llm and just try to see like okay well
- 50:10can i can i still
- 50:11solve some of these problems myself um to preserve your
- 50:15critical thinking skills
- 50:16and force you to think about okay well let's say that all of
- 50:20the top llm providers
- 50:21were down for the day uh what would you do being cheeky you
- 50:25know i would probably
- 50:26say like yeah i'm just i'm just gonna go you know use olama and
- 50:29a local model and
- 50:30SPEAKER_01: i'll be totally fine i will find some fallback
- 50:33But the reality is that I do think that it's going to continue
- 50:36to be very important
- 50:36SPEAKER_01: for us to be able to think through how things work,
- 50:40SPEAKER_01: be able to problem solve without necessarily relying on the AI.
- 50:45SPEAKER_01: The models are going to continue getting better.
- 50:47Their ability to take in sufficient context from your code base
- 50:51is going to
- 50:51SPEAKER_01: continue getting better.
- 50:52SPEAKER_01: But it is going to take quite some time,
- 50:55SPEAKER_01: in my opinion,
- 50:56SPEAKER_01: before you're going to be able to fully trust that in every situation,
- 51:01SPEAKER_01: whatever requirements you throw at it,
- 51:02SPEAKER_01: it's going to be able to get it right.
- 51:04SPEAKER_01: And if you get stuck,
- 51:05SPEAKER_01: if you're trying things out and you've tried it five,
- 51:07SPEAKER_01: ten times and it still hasn't solved the problem,
- 51:10SPEAKER_01: you're going to have to solve the problem yourself.
- 51:12So I think that being able to force yourself into situations
- 51:15where you're testing
- 51:16SPEAKER_01: and retesting your critical thinking skills are going to be important.
- 51:19I also think that there's a little bit of value in doing some
- 51:22game theory around this.
- 51:24Teams or individual people are probably going to start leaning
- 51:28on AI to do more of
- 51:30the code reviews to keep up with the pace and velocity of
- 51:34change coming in.
- 51:36SPEAKER_01: What are those workflows going to look like?
- 51:38SPEAKER_01: If you have an agent that's saying like,
- 51:40SPEAKER_01: Yeah, I've reviewed this PR and it looks good to merge in.
- 51:43Are you actually going to trust it or are you going to go and
- 51:46do a human level
- 51:47SPEAKER_01: review,
- 51:48SPEAKER_01: even if it is maybe more shallow than you historically would have done?
- 51:52Or maybe you're OK with spending 10,
- 51:5520 minutes or something on the review.
- 51:57SPEAKER_01: What does that work will look like?
- 51:59SPEAKER_01: In my case,
- 51:59SPEAKER_01: even if an agent,
- 52:01SPEAKER_01: an agent telling me that something looks good to merge is a signal.
- 52:06SPEAKER_01: It's similar to a signal of like,
- 52:07SPEAKER_01: OK,
- 52:07SPEAKER_01: well,
- 52:08SPEAKER_01: maybe a junior person on my team has also,
- 52:10SPEAKER_01: you know,
- 52:11SPEAKER_01: given this an LGTM.
- 52:12SPEAKER_01: I'm still going to probably go back if it's critical enough.
- 52:15SPEAKER_00: Or the CICD passes all the tests, right?
- 52:17SPEAKER_00: It's green.
- 52:18SPEAKER_00: All tests pass.
- 52:19SPEAKER_01: Exactly, exactly.
- 52:22SPEAKER_01: It's a signal.
- 52:23SPEAKER_01: Signals are useful,
- 52:24but you still want to apply your lens on quality to it and take
- 52:30a look through and
- 52:30SPEAKER_01: just make sure that you're confident.
- 52:32Things like having those tests,
- 52:34having whatever quality gates that you and your team
- 52:38discussed like having those in place all of these are good
- 52:41signals for building up
- 52:42confidence so the more signals that you have can build up to
- 52:44build up confidence
- 52:45that things aren't going to go off the rails when you merge in
- 52:48i think that's good
- 52:49but um i try to you know be very intentional with making sure
- 52:53that i'm not leaning
- 52:54on ai for absolutely everything i may use it for many aspects
- 52:58of my life on a
- 52:58SPEAKER_01: day-to-day including ai coding
- 53:00SPEAKER_01: But I still try to make sure that I'm,
- 53:02SPEAKER_01: you know,
- 53:03whether it's 20 or 30 percent or whatever amount of my tasks
- 53:07don't necessarily
- 53:07SPEAKER_01: require AI.
- 53:08I still try to make sure that I'm using my brain to solve those
- 53:12problems myself.
- 53:13SPEAKER_01: And I think that intentionality,
- 53:14SPEAKER_01: like just be proactive with maintaining your critical thinking skills,
- 53:17SPEAKER_01: I think that's going to help people.
- 53:18Yeah,
- 53:18and one of these things of like,
- 53:21you're still hands on two things came to my mind.
- 53:23SPEAKER_00: One was a cloud code actually recently shipped.
- 53:25SPEAKER_00: You can change modes.
- 53:27SPEAKER_00: You can have exponential learning mode where it explains things.
- 53:30SPEAKER_00: And you have a thing called learning mode,
- 53:32SPEAKER_00: which is it pauses and says,
- 53:33SPEAKER_00: you do this part,
- 53:35SPEAKER_00: which I thought was really clever.
- 53:35SPEAKER_00: I actually turned it on for something that I was building.
- 53:38It didn't work as I expected because it gave me a really weird
- 53:41task to do.
- 53:42SPEAKER_00: But I see the potential and I actually...
- 53:45SPEAKER_00: I actually intended to lean a bit more on that.
- 53:47And I think it's,
- 53:48I hope other tools will also do this as part of the developer.
- 53:51SPEAKER_00: Like I feel, I do want to know that I can do it.
- 53:55SPEAKER_00: I can do it, but how am I going to know if I'm not doing it?
- 53:58SPEAKER_00: Of course, you feel around a little bit with it.
- 54:00SPEAKER_01: I think that is such a fantastic idea.
- 54:02And if somebody is a junior or you are coming into a code base
- 54:07that you're not
- 54:07SPEAKER_01: familiar with,
- 54:08fight that feeling of the first thing I'm going to do is try to
- 54:13provide value and
- 54:14SPEAKER_01: I'm going to just prompt a new feature into existence.
- 54:18SPEAKER_01: Maybe use the LLM to just explain how the code base works.
- 54:22And just spend time like soaking yourself up in the richness of
- 54:25like,
- 54:25what is the code base?
- 54:26SPEAKER_01: How does it work?
- 54:27SPEAKER_01: How does everything connect together?
- 54:28SPEAKER_01: Before you start prompting things into existence.
- 54:31SPEAKER_01: I think that using it as a learning tool is a very powerful thing.
- 54:34SPEAKER_01: We need more of it.
- 54:35And this is also something,
- 54:37what you said,
- 54:39new joiners using a learning tool.
- 54:40I'm hearing from a few companies that they're seeing new
- 54:44joiners onboard faster.
- 54:46SPEAKER_00: The ones where they can use these AI tools to explain stuff to them.
- 54:52SPEAKER_00: outlier the club base is just a kind of a trusted person.
- 54:55SPEAKER_00: 24-7,
- 54:56SPEAKER_00: you can ask questions on like a senior engineer who,
- 54:59SPEAKER_00: I mean,
- 54:59SPEAKER_00: you can ask questions anytime,
- 55:00SPEAKER_00: but obviously you don't want to do it like,
- 55:02SPEAKER_00: you know,
- 55:03SPEAKER_00: eight hours of the eight-hour working day.
- 55:04SPEAKER_00: Like, you're going to keep your limits.
- 55:07And it's interesting how that is changing the dynamics at a
- 55:10bunch of workplaces
- 55:11SPEAKER_00: that do have these tools.
- 55:12SPEAKER_01: Absolutely.
- 55:14I think that my hope is that it's going to become a much more
- 55:18standard thing,
- 55:20SPEAKER_01: treating AI as a learning tool.
- 55:21SPEAKER_01: And it's not just for understanding a new code base.
- 55:27It can be very useful for understanding programming concepts or
- 55:30frameworks or
- 55:31SPEAKER_01: architectural patterns.
- 55:33There are times when I want to be able to bring a feature over
- 55:36from one code base
- 55:38that is very different or written in a different programming
- 55:40language over to
- 55:41SPEAKER_01: another.
- 55:42And I have found AI very much indispensable for those
- 55:46situations of helping me
- 55:47understand one code base and the path to being able to bring
- 55:51over something to a
- 55:52SPEAKER_01: new one.
- 55:53SPEAKER_01: And so encouraging your team to experiment with AI tools,
- 55:56SPEAKER_01: sharing their best practices,
- 55:58making it a regular thing that people know it's okay to use it
- 56:01as a learning tool,
- 56:02SPEAKER_01: I think is just going to be great for you as leads and managers.
- 56:07SPEAKER_00: And you're also a manager of a team.
- 56:10SPEAKER_00: And as part of this,
- 56:11SPEAKER_00: obviously,
- 56:12SPEAKER_00: you do performance reviews,
- 56:13SPEAKER_00: promotions,
- 56:14SPEAKER_00: help people basically professionally get better.
- 56:17How do you think the kind of your definition or what you're
- 56:21seeing in our team,
- 56:21a definition of a really standout solid software engineer has
- 56:24changed in the last
- 56:25SPEAKER_00: three to four years since these tools have come out?
- 56:28SPEAKER_00: What is new and what is the same?
- 56:30SPEAKER_01: I think that what is new is the importance...
- 56:35One of the things that I have found has always held true is the
- 56:38importance of being
- 56:39SPEAKER_01: a lifelong learner.
- 56:41SPEAKER_01: That has always remained true.
- 56:42It doesn't matter if frameworks come and go,
- 56:45tools change,
- 56:47the industry evolves.
- 56:48SPEAKER_01: Being a lifelong learner and being very open to trying out new things,
- 56:54SPEAKER_01: failing,
- 56:54SPEAKER_01: building up those skills,
- 56:56SPEAKER_01: I think that that remains very,
- 56:57SPEAKER_01: very important.
- 56:58The people on my team that I think were the most successful
- 57:01early on at leveraging
- 57:03AI for coding and for product engineering were the ones that
- 57:07went in with this
- 57:08SPEAKER_01: mindset of,
- 57:10SPEAKER_01: I'm happy to learn new things to try out and to have this growth mindset.
- 57:15SPEAKER_01: And if it doesn't work, that's fine.
- 57:17SPEAKER_01: At least I've tried it out.
- 57:18At least I understand the constraints and maybe I'll try out
- 57:21different models for
- 57:22SPEAKER_01: these different use cases in the future.
- 57:24I think that that has been very much a consistent thing that's
- 57:27been important.
- 57:29SPEAKER_01: I feel like if you are a lead,
- 57:32now is the time for you to be helping your team through this
- 57:35moment in terms of
- 57:36SPEAKER_01: showing that you're OK with learning as well.
- 57:40SPEAKER_01: One of the things that I do every week actually is I spend a lot of time.
- 57:43SPEAKER_01: I love reading.
- 57:43SPEAKER_01: I spend a lot of time reading.
- 57:45SPEAKER_01: I will, of course, read your newsletter a lot.
- 57:49SPEAKER_01: I will read a number of different papers,
- 57:51SPEAKER_01: white papers,
- 57:53SPEAKER_01: blogs,
- 57:54SPEAKER_01: watch videos,
- 57:54SPEAKER_01: watch courses,
- 57:55SPEAKER_01: you know,
- 57:56SPEAKER_01: read announcements about what is new in AI,
- 57:58SPEAKER_01: what is new in AI engineering during the week.
- 58:01SPEAKER_01: And I will surface those things to my team in a newsletter.
- 58:05I will also surface...
- 58:06Oh,
- 58:06you have like an internal newsletter for your team?
- 58:08SPEAKER_01: Yeah, I got an internal newsletter.
- 58:09SPEAKER_01: I write it every Monday.
- 58:11SPEAKER_01: So I'll be I'll be writing it after after this.
- 58:13SPEAKER_01: And I will include like, what am I hacking on?
- 58:16SPEAKER_01: What am I writing?
- 58:16SPEAKER_01: What am I thinking?
- 58:18What are the things that I think are important for our team to
- 58:21actually pay attention to?
- 58:23And in this time where,
- 58:24you know,
- 58:24you see so many people struggling to stay up to date.
- 58:28If you follow along on Twitter or other social networks,
- 58:31it can feel very overwhelming.
- 58:34SPEAKER_00: Yeah.
- 58:35Because every few hours,
- 58:36it feels like something has changed in a fundamental way.
- 58:39And being able to sift through that and help people to just pay
- 58:43attention to like
- 58:43SPEAKER_01: what is actually important.
- 58:44SPEAKER_01: I think that's a great thing for leadership to be doing right now,
- 58:47SPEAKER_01: especially if you can guide folks towards,
- 58:49SPEAKER_01: hey,
- 58:50SPEAKER_01: maybe spend a little bit more time poking at this rather than that.
- 58:53SPEAKER_00: I just want to say,
- 58:54SPEAKER_00: I think it's not done because you're also staying closer to,
- 58:57SPEAKER_00: you know,
- 58:58SPEAKER_00: the industry,
- 58:59SPEAKER_00: like to being technical.
- 59:00SPEAKER_00: Maybe it's a stretch to say hands on,
- 59:02SPEAKER_00: but you're pretty close to that just by keeping up with all of this.
- 59:06SPEAKER_01: Yeah, yeah.
- 59:08SPEAKER_01: And I've,
- 59:09SPEAKER_01: you know,
- 59:10SPEAKER_01: I'll defer to people on my team to say things,
- 59:14SPEAKER_01: but I think that I've generally had good feedback about this.
- 59:18SPEAKER_01: I've even had like other execs saying,
- 59:20SPEAKER_01: hey,
- 59:21SPEAKER_01: actually,
- 59:21SPEAKER_01: I'm finding it really hard to stay on top of this.
- 59:23SPEAKER_01: And your newsletter is helping me navigate this moment as well.
- 59:28SPEAKER_01: And so I think that as a lead,
- 59:29SPEAKER_01: being able to stay on top of what is happening at whatever level you are
- 59:34SPEAKER_01: comfortable with or that your bandwidth allows,
- 59:36I think that that can be a really powerful thing for your team
- 59:39and will help you
- 59:40SPEAKER_01: just keep your your own skills relatively sharp.
- 59:42SPEAKER_01: You know, we've been talking a lot about AI assisted engineering.
- 59:45SPEAKER_01: If your team do have to build out like AI features,
- 59:49SPEAKER_01: a lot of this stuff is also going to continue to be relevant for them,
- 59:52SPEAKER_01: too,
- 59:52because you can help connect the dots between what is happening
- 59:55in the industry
- 59:56where AI is concerned that is actually important to their work
- 59:59versus what is not.
- 1:00:01And that's especially I think it's exceptionally important in
- 1:00:03this moment where
- 1:00:04SPEAKER_01: maybe there are things that they have not had to historically do.
- 1:00:07SPEAKER_01: Think about like,
- 1:00:09SPEAKER_01: oh,
- 1:00:09SPEAKER_01: hey,
- 1:00:09SPEAKER_01: well,
- 1:00:09SPEAKER_01: Model X is really good at image generation,
- 1:00:13SPEAKER_01: but Model Y is really good at generating sound.
- 1:00:16SPEAKER_01: I'm just making things up.
- 1:00:17But I think that it is really useful for you to be able to
- 1:00:21maybe highlight some of
- 1:00:22SPEAKER_01: these opportunities in a more concrete way.
- 1:00:24SPEAKER_01: And then your team can go off and spend time digging into it themselves.
- 1:00:27SPEAKER_01: But they're not starting from a blank slate.
- 1:00:29SPEAKER_00: Plus, I guess you're just showing that, look, look, I'm learning.
- 1:00:34SPEAKER_00: I'm spending time reading, understanding, digesting.
- 1:00:37I'm doing some stuff on the side,
- 1:00:39which kind of gives the permission that it's okay to do it.
- 1:00:41SPEAKER_00: And if anything, I mean, you know, everyone for themselves.
- 1:00:44SPEAKER_00: But I would assume that right now,
- 1:00:46SPEAKER_00: because we are having a big change in this technology,
- 1:00:50SPEAKER_00: it's a new tool,
- 1:00:51SPEAKER_00: a lot of capabilities.
- 1:00:53SPEAKER_00: it should be okay at most companies and most teams,
- 1:00:56unless you're like has done crunch time shipping something like
- 1:00:59on Friday for
- 1:01:01SPEAKER_00: engineers to spend some time experimenting,
- 1:01:03SPEAKER_00: figuring out,
- 1:01:04SPEAKER_00: hey,
- 1:01:04SPEAKER_00: can I use this thing?
- 1:01:06SPEAKER_00: Will it work for me?
- 1:01:07SPEAKER_00: When I talk with, again, the folks at Shopify, they do a lot of this.
- 1:01:10SPEAKER_00: And in the end,
- 1:01:11SPEAKER_00: actually,
- 1:01:12SPEAKER_00: what some people think might happen is like,
- 1:01:14SPEAKER_00: well,
- 1:01:14SPEAKER_00: people do less work.
- 1:01:15SPEAKER_00: Actually, what happens is
- 1:01:16They do the same work as they did before,
- 1:01:18but they're way more motivated.
- 1:01:19SPEAKER_00: They tried a bunch of new stuff.
- 1:01:21SPEAKER_00: Some of it doesn't work,
- 1:01:22SPEAKER_00: and it's kind of a...
- 1:01:23SPEAKER_00: You would think it's a waste,
- 1:01:24SPEAKER_00: but it's actually not.
- 1:01:25SPEAKER_00: It was learning.
- 1:01:26SPEAKER_00: And now they're a lot more confident about what works, what doesn't.
- 1:01:30SPEAKER_00: They'll confidently say, like, okay, we're not going to use...
- 1:01:33AI to generate this part of the code base for prototyping is
- 1:01:36great and so on.
- 1:01:37SPEAKER_00: So I feel like everyone's figuring things out.
- 1:01:40SPEAKER_00: So it's almost a waste to not get permission.
- 1:01:44And how better way to get permission than to show that you're
- 1:01:47doing this as well?
- 1:01:48SPEAKER_01: Yes, yes, absolutely.
- 1:01:49SPEAKER_01: AI is a tool.
- 1:01:51Tools that can compress work,
- 1:01:53I think,
- 1:01:54can also lead to good moments of clarity.
- 1:01:56SPEAKER_01: And it is faster than ever to try out certain classes of ideas.
- 1:02:00And I think that that efficiency can also sometimes highlight
- 1:02:02the importance of our
- 1:02:03SPEAKER_01: human qualities when it comes to judging.
- 1:02:05SPEAKER_01: What should we be moving forward with?
- 1:02:07SPEAKER_01: What should we be ignoring?
- 1:02:08SPEAKER_01: What should we be minimizing?
- 1:02:09I think that trying to embrace AI in this moment and figure out
- 1:02:14what works well for
- 1:02:15SPEAKER_01: you and your teams is a great use of time.
- 1:02:18SPEAKER_01: I did want to say,
- 1:02:19SPEAKER_01: if there are folks in your audience who are in enterprise,
- 1:02:24SPEAKER_01: especially,
- 1:02:25SPEAKER_01: I know that having gone through this journey,
- 1:02:27SPEAKER_01: there may be teams who feel like,
- 1:02:28SPEAKER_01: oh man,
- 1:02:29SPEAKER_01: it feels like startups are able to move so much faster than we are,
- 1:02:34SPEAKER_01: or they're able to use all of these great new tools and these models,
- 1:02:37but we are still waiting on the enterprise-friendly version of
- 1:02:40these things.
- 1:02:41And I've talked to teams where they can sometimes feel like
- 1:02:44we're waiting,
- 1:02:45SPEAKER_01: we're waiting,
- 1:02:45SPEAKER_01: we're waiting to be able to try out more of these tools.
- 1:02:47SPEAKER_01: What I ended up doing in my team was we were similarly,
- 1:02:50SPEAKER_01: you know,
- 1:02:51SPEAKER_01: a couple of years ago now,
- 1:02:52we were similarly waiting for the company embraced official way
- 1:02:57of doing things.
- 1:02:58SPEAKER_01: But that didn't stop us from being able to learn.
- 1:03:01So I encourage people,
- 1:03:02well,
- 1:03:03a lot of us are hacking on side projects right at the weekends.
- 1:03:06SPEAKER_01: We can try out whatever,
- 1:03:07SPEAKER_01: you know,
- 1:03:08SPEAKER_01: third party tools,
- 1:03:09SPEAKER_01: third party models,
- 1:03:10SPEAKER_01: our own models that we can try out and learn.
- 1:03:12SPEAKER_01: And that doesn't have to be a big blocker for you.
- 1:03:15SPEAKER_01: So you can still,
- 1:03:16SPEAKER_01: you know,
- 1:03:16help your team along this journey without necessarily having to
- 1:03:21do a lot of that
- 1:03:22SPEAKER_01: waiting.
- 1:03:22So just wanted to let folks know there are many paths to being
- 1:03:25able to embrace this moment.
- 1:03:26Yeah,
- 1:03:27and I think the consensus is pretty much that these tools will
- 1:03:30be widespread.
- 1:03:30They keep changing and they're already contributing to a lot of
- 1:03:34Teams code bases
- 1:03:35SPEAKER_00: and people are using it.
- 1:03:36SPEAKER_00: So might as well just, you know, use it because it takes time in the end.
- 1:03:40So the earlier you start,
- 1:03:42you'll have plenty of learning to do regardless.
- 1:03:45SPEAKER_00: Yes, absolutely right.
- 1:03:46SPEAKER_00: So as closing,
- 1:03:47SPEAKER_00: I just have a few rapid questions,
- 1:03:49SPEAKER_00: so I'll just fire them and then you tell me what comes to mind.
- 1:03:52SPEAKER_00: What's your favorite programming language and why?
- 1:03:55SPEAKER_01: My favorite programming language is JavaScript.
- 1:03:58SPEAKER_00: I thought you might say this, but I wasn't sure.
- 1:04:02SPEAKER_00: Of course.
- 1:04:02SPEAKER_00: You wrote books about this.
- 1:04:04My favorite programming language is JavaScript,
- 1:04:06and it's not for the personal reasons.
- 1:04:10SPEAKER_01: There are probably better programming languages.
- 1:04:12I like JavaScript because it enables anybody on the planet to
- 1:04:15be able to build and
- 1:04:17SPEAKER_01: ship something to the web in a way that doesn't require gatekeepers.
- 1:04:20SPEAKER_01: It's very open.
- 1:04:22SPEAKER_01: And I think that there's something very liberating about that idea.
- 1:04:25SPEAKER_01: So that is one of the reasons why I like JavaScript probably the most.
- 1:04:28SPEAKER_00: I like it.
- 1:04:29I'm always surprised when a software engineer says JavaScript
- 1:04:34because we know that
- 1:04:34SPEAKER_00: compared to other languages,
- 1:04:36it has a lot of limitations and there's been books written
- 1:04:38about it as well.
- 1:04:40SPEAKER_00: But I cannot disagree with it.
- 1:04:43SPEAKER_00: I love it.
- 1:04:44SPEAKER_00: It is true.
- 1:04:45SPEAKER_00: What's a tool that you really like using and what does it do?
- 1:04:48SPEAKER_01: I would say that one of my favorite tools at the moment, and I'm biased.
- 1:04:54SPEAKER_01: I have a book out about this as well.
- 1:04:56SPEAKER_01: It's probably Bolt, Bolt.new.
- 1:04:59Bolt.new is one of those Vibe coding scaffolding tools that
- 1:05:03people can use.
- 1:05:04They very recently added support,
- 1:05:06actually,
- 1:05:07for being able to use custom agents.
- 1:05:10SPEAKER_01: So you can use Cloud Code, for example, to build your Vibe coded app.
- 1:05:15SPEAKER_01: And the output is generally very high quality, great design.
- 1:05:18SPEAKER_01: So I've been really enjoying that.
- 1:05:20And the team have been,
- 1:05:22I would say,
- 1:05:22on the edge of offering some really great integration.
- 1:05:25So I've been liking this idea that many Vibe coding platforms
- 1:05:28are now starting to
- 1:05:29SPEAKER_01: think about the integration layer.
- 1:05:32SPEAKER_01: So how can we automate the idea of you needing to use,
- 1:05:35SPEAKER_01: you know,
- 1:05:36SPEAKER_01: like a super base or an authentication provider or these other things?
- 1:05:40You still need to pay,
- 1:05:41of course,
- 1:05:41attention to all of the code that's being generated.
- 1:05:43But being able to remove more of that setup friction,
- 1:05:45I think,
- 1:05:46is amazing.
- 1:05:47And I guess the fun fact on Bolt.new is they started off as a
- 1:05:50company called
- 1:05:50SPEAKER_00: StackBlitz,
- 1:05:51SPEAKER_00: who built a really cool online editor,
- 1:05:54SPEAKER_00: really advanced.
- 1:05:56SPEAKER_00: And then they moved over from that to Bolt.new.
- 1:05:58And there are software engineers behind it,
- 1:06:00again,
- 1:06:00who really know their craft.
- 1:06:02SPEAKER_00: Yes, yes, absolutely.
- 1:06:04SPEAKER_00: And finally, what's a book that you would recommend?
- 1:06:08SPEAKER_01: So the book I'm going to recommend is one that I think covers,
- 1:06:13SPEAKER_01: I would say,
- 1:06:14career paths and best practices for software engineers in a way
- 1:06:17that I found very
- 1:06:18SPEAKER_01: compelling.
- 1:06:19SPEAKER_01: It is by you.
- 1:06:19SPEAKER_01: It's the Software Engineer's Guidebook.
- 1:06:21And of course,
- 1:06:22I'm playing to the crowd,
- 1:06:23but it is genuinely a very,
- 1:06:26very sharp book.
- 1:06:28SPEAKER_01: From all the reviews that I've read about it,
- 1:06:30SPEAKER_01: other people have also found it to be an excellent read.
- 1:06:32SPEAKER_00: It's on my desk, but we didn't talk about this, by the way.
- 1:06:35SPEAKER_00: So this recommendation came just as a surprise to me as others.
- 1:06:38SPEAKER_00: Thank you.
- 1:06:38SPEAKER_01: Genuinely an excellent book.
- 1:06:42SPEAKER_01: I guess if I wasn't going to,
- 1:06:45SPEAKER_01: of course,
- 1:06:45SPEAKER_01: recommend that one,
- 1:06:47I think that if you are trying to learn more about the
- 1:06:51foundational aspects of AI
- 1:06:52SPEAKER_01: engineering in this moment,
- 1:06:54there's a great book called AI Engineering by Chip Huynh that
- 1:06:58is also worth taking
- 1:06:59SPEAKER_01: a look at.
- 1:07:00very very well reviewed a very very thorough book and i also
- 1:07:03recommend folks check
- 1:07:04that out it's such a good book i i feel if if you know the
- 1:07:07concepts there you're
- 1:07:08pretty well off and if you don't know them you're probably
- 1:07:11gonna be you know still
- 1:07:12finding your way so big plus one for that addy this has been
- 1:07:16great thanks so much
- 1:07:17SPEAKER_00: for for doing this and this really awesome conversation
- 1:07:21SPEAKER_01: Well, thank you.
- 1:07:21SPEAKER_01: I really appreciate it.
- 1:07:23SPEAKER_01: I hope the folks,
- 1:07:24SPEAKER_01: you know,
- 1:07:24SPEAKER_01: if you are interested in this space,
- 1:07:26SPEAKER_01: Beyond Vibe Coding is out now from O'Reilly.
- 1:07:29SPEAKER_01: Hopefully it'll be useful to some people.
- 1:07:31SPEAKER_01: But it's been a pleasure having this conversation with you.
- 1:07:33SPEAKER_00: Yeah, and I've been reading the book.
- 1:07:35I really like how it goes into the practicality,
- 1:07:38so I can also very much recommend it.
- 1:07:40SPEAKER_00: Thank you.
- 1:07:41I hope you enjoyed going beyond Vibe coding,
- 1:07:44pun intended,
- 1:07:45with Addy Osmani.
- 1:07:46One of the things I took away from this conversation is how
- 1:07:49it's really important
- 1:07:50SPEAKER_00: that,
- 1:07:50SPEAKER_00: as an engineer,
- 1:07:51SPEAKER_00: we keep understanding exactly what the LLM does and why.
- 1:07:55And if we don't understand it,
- 1:07:57we just stop,
- 1:07:57understand it,
- 1:07:58and then move on.
- 1:07:59SPEAKER_00: As long as you understand the LLM, you are in charge.
- 1:08:02SPEAKER_00: But once you stop understanding,
- 1:08:04SPEAKER_00: it's in charge and you can kind of become helpless and out of your depth.
- 1:08:08SPEAKER_00: For more tips on how to get up to speed with AI engineering,
- 1:08:11SPEAKER_00: check out Deep Dives in the Pragmatic Engineer that I wrote,
- 1:08:14SPEAKER_00: which are linked to the show notes below.
- 1:08:15SPEAKER_00: If you've enjoyed this podcast,
- 1:08:17SPEAKER_00: please do subscribe on your favorite podcast platform and on YouTube.
- 1:08:20SPEAKER_00: A special thank you if you also leave a rating for the show.
- 1:08:23SPEAKER_00: Thanks and see you in the next one.