The Pragmatic Engineer
00:00:00 · Gergely Orosz
[00:00:00] S0: What if an engineer who helped define the contents of today's software engineering curriculum said that most of this should be burnt down? An ex Google software engineer says exactly this. In 2023, Titus Winters was the only active software engineer on the steering committee for the ACM and IEEE undergraduate CS curriculum. Before, he spent more than ten years at Google, was the lead author of the book Software Engineering at Google and ran the company's readability program. In today's conversation we discuss: Why Google made Test Manager around 2006 after the flagship search product could no longer be released on a regular cadence due to persistent regressions. Ways to measure developer productivity and why the value of AI does not show up in the metrics that we measure today. Ways that Titus would change computer science education, including why he'd want students to be graded on their prompts and tests, not the code. And more. If you want to know what Google learned about engineering at scale, or how modern computer science education should look like in the age of AI, this episode is for you. This episode is presented by turbopuffer, Vectron and Full Text Search, Photon Object Storage. It's fast, cheap and extremely scalable. Before we start, I'd like to talk about Linear, our seasoned sponsor. Until recently I was thinking of Linear as a tool that helps plan and organize the work, but it's much more than that. A lot of teams use Linear to ship changes from Idea to Merge in GitHub all without leaving the tool. I sat down with Dima, an engineer and a Linear team, to see how devs inside of Linear use Linear to build all of Linear. So here's a real issue. When you submit a review with unsent draft comments, Linear warns you about these comments, but it doesn't tell you where those drafts are. A customer complained and Dima decided to fix it. But for the fix, Dima did not open his ID. Instead, he opened up Linear and described the issue to the agent. The agent built a fix, created a PR, and attached Storybook screenshots for easy verification. You can see the fix with the draft comments linked on this screenshot. In the PR, there's a Vercel preview. You can open the preview with one click from linear to play around with the change and we see that it worked. And here's my favorite part, guided reviews which is a work in progress.
00:02:02 · Gergely Orosz, Titus Winters
Guided reviews is a new code review experience where the important stuff just pops out. The top of the review has a summary and diagram of the change. And the pull request is divided into chapters that walk you through what's changed. These blocks highlight the important changes in a way that's easier to understand and review. Oh, and when Dima is finished with all of this, he just self approves the code and is merged into GitHub, all without leaving Linear. If you take one thing away from this, Linear is no longer just a place for planning tickets and organizing the work. It's where all the work happened, creating the issue, kicking out the agent, checking out the preview, doing the review and merging to production. Linear is the product development system for teams and for AI agents and I'm loving this evolution. Check it out and get a six month trial at linear.app/pragmatic. [00:02:48] S1: Titus, welcome to the podcast. Thank you so much for having me. I'm so excited to have this one. [00:02:53] S0: It's it's awesome to to to do this in person again. [00:02:57] S1: Yeah. It's a joy. [00:02:58] S0: So how did you get into tech? Did did... Growing up, did you know that you're gonna do something with computers?
00:02:58 · Gergely Orosz, Titus Winters
[00:02:58] S0: So how did you get into tech? Did did... Growing up, did you know that you're gonna do something with computers? [00:03:04] S1: I mean, my earliest memories, I thought I was gonna be a scientist, but, like, you know, as a three year old, that means, like, lab coats and test tubes and I don't know what else. Right? My dad, very insightfully, knew that computers would be important. Like, that was not his field at all. He was kind of in carpentry and set design and things like that. So there was always a computer in the house. It was usually kind of a low end thing of, you know, whatever we could scrape together and afford. And then I remember I really got my start. I think I was around 11 or 12. And instead of buying candy for everyone for Valentine's one year, he went to the bookstore. And I don't know what my brother got, but I got a book on Learn QBasic. And it was all kinda downhill from there. Like, I spent probably the next five, six years, like, programming. Teaching myself to program was my hobby. Occasionally, would wind up, like, meeting, you know, other kids my age that were a little into it. We moved eventually to Las Vegas, and I went to a magnet school that had a computer science program. That is actually a really well regarded high school these days. I had no idea. And, yeah, like, just kind of self taught initially, pre Internet back when you had to really fight for it. But, yeah, that that set me on my path, that book. [00:04:20] S0: And then you... After high school, it was kind of obvious you went to college for it?
00:04:20 · Gergely Orosz, Titus Winters
[00:04:20] S0: And then you... After high school, it was kind of obvious you went to college for it? [00:04:25] S1: Yeah. So I went to Harvey Mudd, which is a great school with a mix of, you know, tech and liberal arts education, the kind of place that'll teach you to build weapons and teach you how not to use them, that sort of thing. And then I met my wife there, and she was a little bit more junior than I was, so I didn't wanna move away. She was still in school. So I did my master's at UC Riverside, actually in computer science education. Alrighty. I did a kind of weird... I had a very strange graduate experience. But, yeah, I spent four years at Riverside doing a PhD in CS ed, kind of applied AI educational data mining, science education. So some of the earliest conferences on CS ed research, I have published there. And my my adviser was the department chair. He never generally ran grad students. Like, the research area was not his focus, but he was constantly the chair. He was this, like, charming, you know, social political sort of guy that knew all the stories. And so my graduate work was a lot of learn all of the stories of how we got here and teach all of the classes whenever there was a hole in the [00:05:42] S0: Yeah. And and we'll we'll we'll keep coming back to probably this, like, this education computer science thing throughout this thing. So... Well, guess we... We've been taught before, so I know. But let's let's jump next. So, like, you you you now graduated from college. You were looking for a job. Yep. What what did you find?
00:05:42 · Gergely Orosz, Titus Winters
[00:05:42] S0: Yeah. And and we'll we'll we'll keep coming back to probably this, like, this education computer science thing throughout this thing. So... Well, guess we... We've been taught before, so I know. But let's let's jump next. So, like, you you you now graduated from college. You were looking for a job. Yep. What what did you find? [00:06:01] S1: So first, I did a sort of consulting group. Again, two body problem. My wife went to grad school in San Diego. I did not get a professorship after my PhD. So I did this consulting stuff. I was at a small startup consulting group, about 30, 50 people. Mostly, I worked for... Indirectly for DIRECTV during the embedded system stuff on set top boxes. Mhmm. And then after four years of that, we were done with grad schools. We were done with all of that. I took the offer to do Google interview, got the offer, decided not to go to the Bay Area, and they moved us to New York. So we've been here ever since. [00:06:42] S0: And this is when Google was opening an office here in [00:06:44] S1: New The office was already open and reasonably big. This was 2010. So I think there were a few thousand people there.
00:06:44 · Titus Winters, Gergely Orosz
[00:06:44] S1: New The office was already open and reasonably big. This was 2010. So I think there were a few thousand people there. [00:06:51] S0: And then in in 2010, so Google was founded in in '98. They went public in 2004. I I remember that they started to really accumulate a global brand as like, wow, Google is the place to work at around like 2005 to 2010. So right around when you were applying it, it was actually one of the hardest places to get into. A bit like today, Anthropic or last year OpenAI or the, you know, like in in the mid mid two thousand tens Uber. Yeah. How did you find the interview experience and and getting an offer? Because it it must have been pretty competitive at that point. [00:07:23] S1: It was competitive. I was a little surprised that they gave me the offer. I didn't... I I felt like I didn't do that great. I remember for some stupid reason, I really, really didn't wanna spend a bunch of, like, precious vacation days, so I flew up from San Diego the morning of instead of sensibly, like [00:07:41] S0: And they they would have paid for the hotel and everything. Yeah.