The Pragmatic Engineer
01:35:45 · Titus Winters, Gergely Orosz
[01:35:45] S1: This might be risky, but most of my success in life has come from not doing the thing that everyone else is doing. It is really incredibly hard to stand out if you are just listening to what is a hot topic and chasing the same shiny thing that literally everyone else is doing. Right? And so I think it is to thine own self be true. Right? Like, find something that you are actually interested in, and put in the time doing something that you care about, especially if it's weirder than what everyone else around you is doing. Because then you will have a novel story to tell your interviewer. You will be worth talking to at a cocktail party so that the, you know, startup founder is like, yeah. I wanna take a risk on this kid. Right? Like... And the more time that you put into these things, the more expertise that you can bring to it, like, the better off you're gonna be. I have a worry that with AI assisted engineering, our emphasis on raw engineering skill is dropping. Like, you can get by with a lot less of that depth. But the only way to replace that is you need to understand the problem domain that you're operating in to a much deeper level. And I think that that might actually lead to less mobility in the industry. Like, it's not I'm a c plus plus engineer or I'm a back end engineer. It's a I'm an engineer in embedded audio. Mhmm. Right? Like, you understand those problem domains to a much deeper level, and that's your actual advantage. [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: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.