From Writing Code to Managing Agents. Most Engineers Aren't Ready | Stanford University, Mihail Eric

EO14:19Added Aug 31, 2026

Stanford Adjunct Lecturer Mihail Eric talks about what's happening to junior software developers right now — and what it takes to become an AI-native softwar...

Watch on YouTube →
Contributed by 刘嘉琪

Transcript

Transcript format
  1. Intro

  2. 00:00there is this emergence of kind of like
  3. 00:01a new I would say class of like engineer
  4. 00:04which is like the AI native engineer
  5. 00:05[music] and AI is that language. AI is
  6. 00:07that new language. This particular
  7. 00:09generation of junior developers of
  8. 00:12junior engineers of people that are now
  9. 00:13entering the workforce will I think be
  10. 00:14the first kind of generation of that new
  11. 00:17shift. A single developer become a
  12. 00:19manager of agents. Adding [music] more
  13. 00:21agents doesn't always create for a
  14. 00:22better system. In fact, it can make for
  15. 00:24a lot worse systems actually if if you
  16. 00:26just let them [music] go and do whatever
  17. 00:27they want. So really knowing how to like
  18. 00:29properly handle multiple agents is like
  19. 00:31the last boss in a game. Like if you can
  20. 00:33do that really really well, then you are
  21. 00:34like literally like the top top.1% of of
  22. 00:37users even today. I'm Mihel. I lead AI
  23. 00:40at an early stage startup here in San
  24. 00:42Francisco. I also teach class at
  25. 00:44Stanford. The title of the class is the
  26. 00:45modern software developer. It's
  27. 00:46definitely the first class where the
  28. 00:48focus is AI across the SDLC. within like
  29. 00:51a few hours of the class being announced
  30. 00:52and it kind of opened up for enrollment.
  31. 00:54Filled up over 100 students trying to
  32. 00:56get into the class.
  33. 01:06What is happening to junior software
  34. Lesson 1 - What is Happening to Junior Software Engineers?

  35. 01:08engineers?
  36. 01:11there was this huge momentum around
  37. 01:14something kind of crazy is happening
  38. 01:16software development and AI is really
  39. 01:18starting to make its way into every
  40. 01:19[music] single part of how software is
  41. 01:21being done and and clearly something was
  42. 01:23changing and I've heard some pretty
  43. 01:25scary anecdotes where I was talking to
  44. 01:27someone that had just graduated at
  45. 01:29Berkeley and they were saying that they
  46. 01:30had applied to like a thousand places
  47. 01:32and had heard back from like only heard
  48. 01:34back from like [music] two places. So
  49. 01:36not even like got interviews and you
  50. 01:37know had gone through the pipeline but
  51. 01:38really were just heard back. So the
  52. 01:40reality is for a lot of junior engineers
  53. 01:42it's [music] very difficult for them to
  54. 01:44you know get some of these roles. It's
  55. 01:46it's an interesting time in in the
  56. 01:47ecosystem actually the soft ecosystem
  57. 01:49where [music] where basically three
  58. 01:50things happened came together in this
  59. 01:52kind of like perfect storm. The first
  60. 01:54thing that happened was in around 2021
  61. 01:55there was this a huge surge of like
  62. 01:57hiring soon after co there was just a
  63. 01:59bunch of companies that felt they needed
  64. 02:01to increase their employee count and
  65. 02:02then I think a lot of companies realized
  66. 02:05that they like overhired. So there was
  67. 02:07like massive layoffs that happened where
  68. 02:08all these companies that had hired a ton
  69. 02:10of people realized [music] that actually
  70. 02:11we can like reduce our workforce by 20%
  71. 02:1330% and it's still okay. That was
  72. 02:15combined with the fact that [music] the
  73. 02:16growth of the CS curriculum like the CS
  74. 02:19major nationally and internationally has
  75. 02:21grown tremendously [music] in the last
  76. 02:22like 10 to 15 years. So when I was
  77. 02:24graduating, you know, there's like some
  78. 02:25number of graduates and I think since
  79. 02:26then [music] like it's doubled to maybe
  80. 02:273x in terms of how many graduates from
  81. 02:30CS are graduating every year. And so you
  82. 02:31have [music] a huge workforce of people
  83. 02:33that have essentially like been laid
  84. 02:34off. you have this new overwhelming like
  85. 02:37new generation of engineers. We want
  86. 02:39jobs. And then the third thing that I
  87. 02:40think was contributed to all this was AI
  88. 02:43became popular, right? Like people
  89. 02:44started like really paying attention to
  90. 02:45AI. And so for a lot of employers, they
  91. 02:47started considering do I need to hire
  92. 02:49[music] more people to fill my gaps or
  93. 02:51can I just hire fewer people that are
  94. 02:53maybe native at AI and [music]
  95. 02:56that way cover the quota that I have
  96. 02:57maybe for employment. And so this
  97. 02:59particular generation of junior
  98. 03:01developers, of junior engineers, the
  99. 03:03people that are now entering the
  100. 03:04workforce will, I think, [music] be the
  101. 03:05first kind of generation of that new
  102. 03:07shift, right, where they have to both
  103. 03:09have good fundamentals, but also know
  104. 03:11how to be fully AI native.
  105. 03:13How top 1% AI native engineers
  106. Lesson 2 - How Top 1% AI-Native Software Engineers Orchestrate Agents

  107. 03:16orchestrate [music] agents. At its core,
  108. 03:19I think that the AI native engineer is
  109. 03:21one that both has like a strong backing
  110. 03:23and and a foundation in traditional
  111. 03:25programming, system design, and
  112. 03:27algorithmic thinking, but is very
  113. 03:30competent at using like a gentic
  114. 03:32workflows. [music] I always teach them
  115. 03:34like build it up peace meal. You know,
  116. Build it up piecemeal

  117. 03:35Boris from Claude said he does like 10
  118. 03:37agents at once and so I should start
  119. 03:38doing 10 agents at once. Like that
  120. 03:40that's like the wrong outcome that you
  121. 03:41should emphasize. Again, I would build
  122. 03:43it one at a I would say, hey, like I'm
  123. 03:45really good at doing one agent workflow
  124. 03:46quite well and I can build like a
  125. 03:48complex piece of software with one
  126. 03:49agent, but then [music] I know that I
  127. 03:51have to do this like other thing which
  128. 03:52is like maybe a small change. Thinking
  129. 03:54about your tasks as something that are
  130. 03:55isolated and that can be done with
  131. 03:59confidence by something that is that is
  132. 04:00a second or third agent. And so you add,
  133. 04:02you know, a second agent to fix the logo
  134. 04:03and you're like, well, this agent is
  135. 04:04fixing the logo. Another agent maybe
  136. 04:06could also um update the copy on the
  137. 04:09header of of the website. And again,
  138. 04:11this is like an isolated change that has
  139. 04:12nothing to do with what the second agent
  140. 04:13was doing. And so, the way I would think
  141. 04:15about it is iteratively add [music]
  142. 04:17more work for the agents. Make sure that
  143. 04:20you first understand what has to be done
  144. 04:22and then know where the lines are
  145. 04:24between those those items of work. And
  146. 04:26then like when you're feeling good about
  147. 04:27how one agent is doing something, then
  148. 04:29add a second one. Then if the second
  149. 04:30one's doing well and you're feeling
  150. 04:31confident, then add a third one, you
  151. 04:32know? So, I would build it up more step
  152. 04:34by step rather than 10 agents at once.
  153. 04:36The second thing that I think is really
  154. 04:38really important there is knowing how to
  155. Context switching

  156. 04:40like context switch. In practice, what
  157. 04:41you're doing is you're like kicking off
  158. 04:43these like [music] interns. Basically,
  159. 04:44they're like very eager, savvy interns,
  160. 04:47these agents, and they're doing a thing
  161. 04:49and then you're just watching them in
  162. 04:51the terminal or like in the IDE and
  163. 04:53you're just like seeing them do work and
  164. 04:55they're like contributing code and it's
  165. 04:56just getting written somewhere and but
  166. 04:58sometimes they get stuck, right? How do
  167. 04:59you go from like one to another to like
  168. 05:01understanding, hey, this agent one was
  169. 05:04working on this particular task, agent
  170. 05:05two was working on another task, agent
  171. 05:06three was working on another task, and
  172. 05:07then you're like constantly switching
  173. 05:08back and forth. And it's a very
  174. 05:10difficult thing to do even as a human,
  175. 05:11right? To know how to like remember what
  176. 05:13the last thing was working on, but still
  177. 05:14have enough context to meaningfully push
  178. 05:16that task forward. And so [music] that
  179. 05:18switching, I think, is probably one of
  180. 05:19the core skills of of getting multi-
  181. 05:21aent workflows to work really well. That
  182. 05:23what I've described is basically what
  183. 05:24makes a good manager, like a good human
  184. 05:26manager. It has nothing to do with like
  185. 05:27an agent. Like if you can do that task
  186. 05:28really really well then you also are
  187. 05:30like a very good you'll be like a good
  188. 05:31human manager in general and so the
  189. 05:33people that I've seen best at doing that
  190. 05:34are the ones that are also have been
  191. 05:36managers of like humans you know or
  192. 05:37human developers and have learned how to
  193. 05:39do that context switching and then apply
  194. 05:40similar principles to to agents there's
  195. 05:43this concept that I'm calling like an
  196. Agent-Friendly Codebase

  197. 05:45agentfriendly codebase or an agent
  198. 05:47friendly development ecosystem. Uh, and
  199. 05:49what I mean here is if an agent was
  200. 05:51released into your codebase, would it
  201. 05:54know how to understand what's happening
  202. 05:56in the codebase? When you release an
  203. 05:58agent to go and build in the context of
  204. 06:00your codebase, the way you ensure that
  205. 06:01they're going to like not break
  206. 06:02something and that whatever they
  207. 06:03contribute will work, is they test it
  208. 06:06against your tests, which are basically
  209. 06:08contracts that define the correctness of
  210. 06:10software. You need to define these
  211. 06:12contracts. If if you don't have enough
  212. 06:13test coverage, then you don't have
  213. 06:14contracts for your software. agents only
  214. 06:16can operate on contracts like explicitly
  215. 06:17defined contracts of software. Any
  216. 06:19developer who's been in the industry
  217. 06:20knows that readmes get out of date with
  218. 06:22what's happening in the code almost
  219. 06:23[music] immediately. And so you have
  220. 06:25these like two descriptions of the same
  221. 06:27thing. The code says one thing but the
  222. 06:29readme says a completely different
  223. 06:30thing. If your code has that kind of a
  224. 06:32situation then the agent will read the
  225. 06:34readme and maybe the code and they'll
  226. 06:36and they'll ask them like which of these
  227. 06:38what's the right interpretation? Should
  228. 06:39I follow the read memes what the read me
  229. 06:40says or what the codebase says? And so
  230. 06:42make sure they're consistent, right?
  231. 06:43This is like a simple thing. When you
  232. 06:45get spaghetti code, it's typically when
  233. When you get spaghetti code

  234. 06:48an agent has maybe gone on and built
  235. 06:50something for multiple iterations, maybe
  236. 06:52multiple features, and it just started
  237. 06:54kind of like going off the rails a
  238. 06:55little bit. One bad thing that they're
  239. 06:57really good at is agents can compound
  240. 06:59errors very quickly. If an agent has one
  241. 07:01misunderstanding in a code, and then it
  242. 07:04sees that misunderstanding that it
  243. 07:05created in step one, it can double down
  244. 07:07and and create another error in step
  245. 07:09two, it'll magnify it. The most
  246. 07:11important thing is like having making
  247. 07:12sure that the first thing that the agent
  248. 07:14sees is completely robust and it's
  249. 07:16completely airtight in terms of design,
  250. 07:17in terms of testing, in terms of like
  251. 07:19the build, like a lot of these like kind
  252. 07:20of core parts of the the codebase itself
  253. 07:23before you even think about the agent.
  254. 07:25So again, like making sure that like the
  255. 07:26[music] first version of your code that
  256. 07:28an agent sees is self-consistent, making
  257. 07:30sure that it's well tested, making sure
  258. 07:32that you have linting in place and style
  259. 07:34checking so that you know your your
  260. 07:35codebase is is consistently formatted. A
  261. 07:37lot of these things will ensure that
  262. 07:39your agent is always adhering to the the
  263. 07:42kind of the rules of your codebase that
  264. 07:43you've [music] already defined. And then
  265. 07:44the last thing that I'll add just just
  266. 07:46to give another example of like agent
  267. 07:47friendly agent first code bases, are you
  268. 07:49consistent about like design patterns in
  269. 07:52your code? What I mean here is if if
  270. 07:54there's one part of your codebase where
  271. 07:56when you create a certain kind of
  272. 07:57object, you use this one API and there's
  273. 08:00another part of the codebase, you also
  274. 08:02create the same object, but you're using
  275. 08:03a different API. when an agent now has
  276. 08:06to develop in your codebase, which of
  277. 08:09the two should it use? Should you use
  278. 08:10the API 1 or API 2? And if people have
  279. 08:13an agent that goes and picks the wrong
  280. 08:15API, well, a human would also have been
  281. 08:17confused. If I were walking to your
  282. 08:19codebase and saw the two different ways
  283. 08:20of doing it, I would also ask myself,
  284. 08:22should I do one or two? I don't know. I
  285. 08:23see both. And I would probably end up
  286. 08:25asking a teammate, hey, which of these
  287. 08:27are we actually supposed to use?
  288. 08:28consistent design [music] patterns and
  289. 08:29and kind of programmatic patterns I
  290. 08:31think is also something that the best
  291. 08:32agent friendly codebases I've seen use
  292. 08:34functional software versus incredible
  293. 08:37software
  294. 08:38a few things that define functional
  295. Lesson 3 - Functional Software vs Incredible Software

  296. 08:40software from like incredible software
  297. 08:42the one version of the answer is just
  298. 08:44[music] taste like what is good software
  299. 08:46taste right and genuinely there's people
  300. 08:48that have taste and don't have taste or
  301. 08:50just people that have taste that spend
  302. 08:52more time developing that taste when I
  303. 08:53look at sort of the the students in my
  304. 08:54class we had some requirements like you
  305. 08:56have to build like five different flows
  306. 08:57or something like you can create those
  307. 08:58flows, but if you want to push yourself
  308. 09:00like doing the bonus, you know, the
  309. 09:01bonus and then the extra credit, that is
  310. 09:03like I think where the difference starts
  311. 09:05to arise is when someone is like, I know
  312. 09:06that I've already like hit 100% on this
  313. 09:08or, you know, got most of the credit for
  314. 09:10the assignment or the project, but I
  315. 09:11really want to like I'm invested in like
  316. 09:13building the most complex thing because
  317. 09:16I want to solve a problem more than just
  318. 09:17get [music] the grade, right? But the
  319. 09:19taste building happens in that like that
  320. 09:21last mile like where you go spend and
  321. 09:23you like do the extra work to like
  322. 09:25expand the feature, make it more robust,
  323. 09:28make more things possible in the
  324. 09:30application. You know, the students
  325. 09:31again that I think did the best were the
  326. 09:32ones that like are now literally
  327. 09:33building startups around their projects
  328. 09:35because they like see that there's
  329. 09:36something there and they're going to
  330. 09:37like they're rolling with it. You know,
  331. 09:38like the class ended, but they're like
  332. 09:40we're still but we're still working on
  333. 09:41the exact same thing because we think
  334. 09:43there's more to build here. And that I
  335. 09:45think is where the way the top engineers
  336. 09:46think. Experimentation is sort of the
  337. 09:50name of the game in [music] becoming an
  338. 09:52AI native software developer. One
  339. 09:54example that comes to mind is when Boris
  340. 09:56came from cloud code came to speak.
  341. 09:58Someone like Boris even a team like you
  342. 10:00know Claude at Anthropic that is
  343. 10:01building such an amazing piece of
  344. 10:03software they basically rewrite Claude
  345. 10:05every week or like week [music] or two
  346. 10:06weeks using Claude, right? So they are
  347. 10:08like constantly rewriting their own
  348. 10:10piece of software with software like
  349. 10:12that they've built. And so they
  350. 10:13themselves are also [music] figuring
  351. 10:15things out as they go like they are
  352. 10:17building their system but they are
  353. 10:18experimenting and constantly iterating
  354. 10:20[music] based on feedback from their
  355. 10:22users and even if they seem like they
  356. 10:24have all the answers they don't you know
  357. 10:26they themselves are also discovering
  358. 10:27what works and what what doesn't work
  359. 10:29and so the more important thing is to
  360. 10:31build experimentation into your own
  361. 10:33workflows and I tried to reinforce in
  362. 10:35the students was look I can come here
  363. 10:37and I can give you suggestions I can say
  364. 10:39you should try this tool here's what I
  365. 10:40think is good about this tool but at At
  366. 10:42the end of the day, you have to sort of
  367. 10:43like beat your head against the wall a
  368. 10:45little bit yourself. [music] You have to
  369. 10:46be able to experiment. You have to be
  370. 10:47able to see what works for you and what
  371. 10:49doesn't work for you and really just
  372. 10:50kind of make that a part of the kind of
  373. 10:52the new way of doing software
  374. 10:53development, experimentation, hacking,
  375. 10:55and just making that a part of your
  376. 10:56workflow.
  377. 10:57Why the world still needs junior
  378. Lesson 4 - Why the world still needs junior software engineers

  379. 10:59software engineers?
  380. 11:00Senior developers historically tend to
  381. 11:02be a little bit resistant to AI tools
  382. 11:04because they're so ingrained in their
  383. 11:06own way of doing things cuz they've been
  384. 11:07developing for 20 years and they're
  385. 11:08like, "Oh, the only way to do this is
  386. 11:10the way that I've done it. I use them."
  387. 11:11the senior developer sometimes going to
  388. 11:12be the most stubborn, [music]
  389. 11:14but someone who is coming to the
  390. 11:15industry for the first time, they're
  391. 11:16like they're like a sponge. Like
  392. 11:18everything is possible to them. Like
  393. 11:20they're learning things for the first
  394. 11:21time. And so all of the things that are
  395. 11:23difficult about the world and society
  396. 11:24and and industries and verticals, they
  397. 11:26don't yet. They haven't internalized
  398. 11:27that yet. They're not like scarred by
  399. 11:29like how hard healthcare is. They just
  400. 11:30see like, oh, I see a problem. I don't
  401. 11:32know. Like why don't I go try and do it?
  402. 11:33And so there's like a good naivity
  403. 11:36[music] to how young young people think,
  404. 11:38which is perfect for a startup founder.
  405. 11:40they're going to be be brave enough to
  406. 11:41go and tackle the thing. In those
  407. 11:42situations, they end up being the best
  408. 11:45people that have adopted that skill set
  409. 11:46[music] that everyone is now asking for.
  410. 11:48Even if there is concern that, you know,
  411. 11:50it's becoming harder to to kind of get
  412. 11:51employed, I [music] think the people
  413. 11:53that are learning these skills for the
  414. 11:55first time end up being the most nimble
  415. 11:56and end up being the most like fast at
  416. 11:58like kind of using those [music] skills.
  417. 12:00So, I actually think they can still
  418. 12:02succeed in ways that senior developers
  419. 12:03cannot. fundamentally like what you're
  420. 12:05teaching with software is like how
  421. 12:07[music] to think about building of a of
  422. 12:09a complex system using [music] digital
  423. 12:12means and like learning how to use
  424. 12:13algorithms to solve that system. This is
  425. 12:16almost like more like math than it
  426. 12:17[music] is like CS, right? It's it's
  427. 12:20like like you're learning like math
  428. 12:21skills almost. And I think that is just
  429. 12:23like teaching someone how to like think
  430. 12:24because so much of the CS profession is
  431. 12:26is breaking things up and seeing how
  432. 12:29things work and then fixing things and
  433. 12:31then expanding on things and kind of
  434. 12:32iterating on things. And so I think that
  435. 12:34the people that are, you know,
  436. 12:35developers by trade, they're a lot more
  437. 12:38willing to customize things. They're a
  438. 12:40lot more willing to to [music] kind of
  439. 12:41fix things when they don't work. They're
  440. 12:42a lot more willing to say like, "Hey,
  441. 12:44why did this happen? Let me see if I can
  442. 12:46kind of get into that, you know, get
  443. 12:47into internals a little bit in ways that
  444. 12:48other people [music] are more like the
  445. 12:50system doesn't work. Okay, I guess I
  446. 12:51need to move away from it. Almost like
  447. 12:53arrogance. Like the arrogance of a
  448. 12:54developer sees any problem and thinks
  449. 12:56software is the solution to the problem.
  450. 12:58It's like the confidence to say like,
  451. 12:59hey, I I'm going to try and fix this in
  452. 13:00a way that I know how to use and I'm
  453. 13:01going to use the tools that I know how
  454. 13:02to use and let's see if we can make this
  455. 13:04work. And that that [music] I think is
  456. 13:05the the kind of the most powerful
  457. 13:06properties of of CS developers.
  458. 13:10So you're like, Claude, make me
  459. Next Episode

  460. 13:12something. Codeex, make me something.
  461. 13:13And then you're like, let's add this
  462. 13:14other feature. And then like let's do
  463. 13:15another one. And a month goes by and
  464. 13:17you've built the most beautiful piece of
  465. 13:18software. It's crazy overengineered and
  466. 13:21then you launch and nobody wants it. Hi,
  467. 13:22my name is Rem Coning. I'm a professor
  468. 13:24at Harvard Business School and I study
  469. 13:26entrepreneurship and AI. I think we're
  470. 13:28in a world where increasingly what
  471. 13:29matters is your ability to allocate
  472. 13:30[music] intelligence. The key for AI
  473. 13:33native is that you're not just using it
  474. 13:35to do [music] the work. You're embedding
  475. 13:36it in the product so that the AI can
  476. 13:38directly do the work with the customer.
  477. 13:41You want to take you as the human out of
  478. 13:44the loop. That's the key to building AI
  479. 13:46native organizations. What happens when
  480. 13:47the AI starts talking to one another?
  481. 13:49What happens when the AI start
  482. 13:51collaborating? What do they need for one
  483. 13:53another? [music] I think is a big
  484. 13:55interesting open question. It's a little
  485. 13:56provocative to think that way. Um, but I
  486. 13:58think it's one where there'll probably
  487. 14:00be some trillion dollar companies that
  488. 14:02come out of answering that question.
  489. 14:03Well,