The Pragmatic Engineer
01:37:23 · Gergely Orosz, Titus Winters
[01:37:23] S0: As closing, what's a book that you would recommend and why outside of your excellent book, of course? [01:37:28] S1: I mentioned it earlier, but I'll stick with it. Psychology of Software Teams by Kat Hicks, especially... Like, there are a couple chapters in that that if I could have that downloaded into the brains of every leader around, I would be so happy. Like, the brains in jars analogy is haunting. So that one's a really good one. [01:37:47] S0: Well, Titus, thank you so much for this conversation. [01:37:50] S1: Thank you so much for having me. This has been a lot
01:37:53 · Gergely Orosz
[01:37:53] S0: of fun. I'm glad I got to finally sit down with Titus, and this conversation did not disappoint. To start with, I knew that Google's codebase was large, but I had no idea we're talking about two fifty million lines of just C plus plus code. And this was all pre AI, so we're not talking about overly verbose codebases generated by AI. As comparison, Uber's mobile apps had codebases of about one to 2,000,000 lines of iOS and Android code back in 2016 and Uber crammed a lot of business logic into those apps. How Titus and the team cleaned up these foundations without using AI was also pretty educational. They built deterministic code generation tools to parse the code, match patterns, then generate edits. This is an approach that still could work more reliably even today than just asking non deterministic AI to refactor a codebase, even though it is arguably more difficult to write advanced parsing logic on a codebase like Titus and team did. I also appreciated Titus' view on where AI is helpful today. He mentioned this quote he heard from a senior engineer that said: We are up 70% on the amount of code, but we are also up 30% on outages. The number of features is the same. Well, that doesn't sound all that good. Where is the value from AI then? Titus says that we won't get all that much value from doing the same stuff we did before AI, but faster. The value is to be more ambitious and do harder things that we would have never attempted before AI. Finally, I hear a lot of worry for new grads in tech about how they'll get a job or not, especially when AI agents are so commonly used, but CS programs have not incorporated them into their program. Titus is one of the few engineers who has been part of a steering committee for the CS curriculum and says that this program needs to either change substantially and be more practice oriented, or CS enrollment will plummet. Titus also says that it might make sense to finally have a software engineering curriculum that is focused on students getting far more experience building software with these modern tools. I don't think any of us has an answer to what will work, but having more people from the industry get more involved in refreshing the CS Software Engineering curriculum sounds like a step in the right direction to me.
01:39:54 · Gergely Orosz
Check out the show notes for related to Pragmatic Engineer deep dives on Google's engineering culture, measuring developer productivity, and the impact of AI in software engineering. If you enjoyed this podcast, I'd greatly appreciate it if you left a rating on it and perhaps a review. Thanks a lot, and see you in the next one.