The Pragmatic Engineer
01:08:51 · Titus Winters
[01:08:51] S1: And so I think that this is the insight that tries to bridge the gap between... I have not seen a research based number that says productivity post AI is up more than like 20 or 30%, But then everyone talks about, like, these 10 x sort of experiences. I super don't think it's actually 10 x. But... Yeah. But, like, how do you bridge that gap? And I think it's exactly this thing of a lot of the value of AI is not in doing the same thing faster. It's doing a harder, more valuable thing that you wouldn't have even thought about. And if your productivity measures are the logical equivalent of counting how many widgets are coming out of the factory, and then you start producing super gold plated deluxe widgets, there's no way to measure that or track that over time because we just don't have the tracking of what's the value of this component or feature. And that also matches with, you know, talking with senior engineers that are like, yes. We're up 70% on amount of code. We're up 30% on outages. Number of features is the same. The thing that we can't know for sure is, are the value of those features up? Because what's... How do you how do you do that?
01:10:08 · Gergely Orosz
[01:10:08] S0: One challenge that AI is is giving is entering the market for for new graduates. There's now... There seems to be expectation. Companies are very eager to hire senior engineers who know how to use AI, and they have taste and judgment and we have these things thrown around. It's not deliberate, but whenever I talk to the AI labs, they always tell me increasingly that they look for taste, judgment, agency, these Let's kind of go back to to education, to to computer science education. What are your views of how today's computer science education works, especially for how we know the industry is changing? And what are some of your ideas of what could possibly be changed?
01:10:51 · Titus Winters, Gergely Orosz
[01:10:51] S1: I will riff a little on my bona fides there to, like, to to to add some weight to this. So after the book, I got recruited into the ACM, IEEE, AAAI work on setting the curriculum requirements for an undergraduate CS degree. So this is like the the professional society saying these are the things that we need to be doing. And for the steering committee for that work, I was on the steering committee, I was the only currently working engineer. Everyone else is acting. Okay. Yeah. Some sense because, you know, it's what can we teach. And I managed mostly the software engineering requirements. But it does mean that I, like, I see exactly what the requirements are and have been living in that space for for years. And bluntly, and I gave a talk on this in a pre AI keynote, bluntly, most of the CS curriculum hasn't substantially changed since, like, 2000, maybe earlier. Right? The average thing in the curriculum is exactly what was needed to build a database or an operating system in the nineties. That does sound good, does it? Not for a field that prides itself on innovation. Right? And, like, there's all of these things where, like, I have to genuinely ask, like, are we teaching this because it is relevant and important, or are we teaching this because it is tradition? And the history of [01:12:19] S0: Or we know how to teach it. Right.
01:12:21 · Titus Winters
[01:12:21] S1: Or we know how to teach it. But because, like, the history of, you know, software engineering or CS departments, like, we're only at fifty, sixty, seventy years for the earliest CS departments. Right? Like, this is a field that is way, way too young to be doing stuff out of tradition. Even pre AI, it was like, I think a lot of this needs to be burned down because all of the curriculum requirements, all of the teaching has mostly been through accretion. You know, like, we just throw more stuff in there and cut the amount of depth on the existing stuff by epsilon. Yeah. Right? And, like, that... I don't think that works. Even pre AI, I was saying, like, the thing that I really want is, like, you spend more time practice and drill and actually become, like, a fluent programmer algorithmic thinker, not you have a trivia understanding of a million different topics. And now AI. Right? Like, we guarantee, like, you can do all of an undergraduate degree without ever thinking if you can just feed it into an AI because it will do just fine on all of those programs and assignments. And so a lot of what I'm pushing for is we need to get out of the code. We need to uplevel substantially. Like, you need to be able to read code and think as a systems thinker and under... Like algorithmically, like understand the structure and execution. But no one needs to implement a linked list. And we probably shouldn't even teach linked lists. It's way too slow. Right? Memory is a slow thing. The more that we can refocus on design specification, like precision in saying what you want to happen, and then testing validation verification, like making sure that the AI actually did the stuff that you needed to happen. Right? If we can teach those things, then it's suddenly perfectly relevant, you know, for professionals. And I think the big question is, will that be CS, or are we looking at CS enrollment is going to plummet, but software engineering programs are gonna kick up? Because, let's be honest, the stuff that's going to matter, like, in a AI era and still get a job is teamwork, communication, design, specification, testing, validation. Right?
01:14:56 · Gergely Orosz, Titus Winters
[01:14:56] S0: Oh, that's a bunch of software engineering topics. And and also building production software, especially with AI. There's there's no... Like, I was talking with Peter Mattis, cofounder Cockroach DB, Cockroach Labs, And he was telling me that during his college on the side, he built the GIMP. [01:15:14] S1: Mhmm. Mhmm. [01:15:15] S0: Yeah. And he got a lot of opportunities afterwards, and then he built G2K plus. And I was thinking, hang on. Like, he did that on the side next to a CS degree. Would you not want... Just throw aside computer science. I I did computer science as well. But for a software engineering degree, would you not want to start on day one, especially with AI? People come in here and you build on one class, you build one software and the other builds... You build a software with the team. On the third one, you extend the software. On the fourth one, because my experience being in a computer science thing, we we did a bunch of theory. My favorite class was the one team based class where we actually built software in the four years. There was one, only one. Normal. Yep. And then I took an extra class for... To actually learn dot net. And then when I got into a real world, it felt I was starting from scratch. I was thinking of all of these things which were not taught at the time these days are, but the practice was was missing. I I I had the theory, but I Yeah. I definitely did not have the reps.
01:15:15 · Gergely Orosz, Titus Winters
[01:15:15] S0: Yeah. And he got a lot of opportunities afterwards, and then he built G2K plus. And I was thinking, hang on. Like, he did that on the side next to a CS degree. Would you not want... Just throw aside computer science. I I did computer science as well. But for a software engineering degree, would you not want to start on day one, especially with AI? People come in here and you build on one class, you build one software and the other builds... You build a software with the team. On the third one, you extend the software. On the fourth one, because my experience being in a computer science thing, we we did a bunch of theory. My favorite class was the one team based class where we actually built software in the four years. There was one, only one. Normal. Yep. And then I took an extra class for... To actually learn dot net. And then when I got into a real world, it felt I was starting from scratch. I was thinking of all of these things which were not taught at the time these days are, but the practice was was missing. I I I had the theory, but I Yeah. I definitely did not have the reps. [01:16:14] S1: Right. And I would argue that the LeetCode interview was because of this. Because, okay, how do you find signal that someone has put in the reps? Right? It's the students that were playing in the programming contest. Right? Those are the ones that had enough time on That was [01:16:34] S0: the only reps that were kind of a little bit given Common. That were open to engineers who didn't have software engineering expertise. Sorry. Right. [01:16:42] S1: Yeah.