The alpha, twice a week
That was 7 min.
Get the best new moments in your inbox every Wednesday and Saturday. It's free.
Check your inbox
We sent a link to your address. Click it to finish signing up. Not there in a minute? Look in spam.
or
The Pragmatic Engineer · 7 min · Oct 28, 2026
CS curricula still teach for the software of the 1990s
Titus Winters says most curricula retain 1990s-era content and offer too few programming reps.
In this episode
Full analysis- 26:05Use deterministic rewrites for large codebase changes8 min
- 1:02:51AI creates value by making harder work possible8 min
- 1:30:46Grade the process, not just the code6 min
- 1:11:38CS curricula still teach for the software of the 1990s7 min
- 43:03Google used readability reviews to spread coding norms5 min
- 58:04Layoffs impose hidden costs on morale and engineering time3 min
- 22:04Abseil packaged Google's cleaned-up C++ idioms4 min
“The average thing in the curriculum is exactly what was needed to build a database or an operating system in the 90s.”
Titus Wintersat 1:12:50 · The Pragmatic EngineerTakeaways
- CS courses have accumulated topics instead of replacing outdated material.
- He would emphasize practice, systems thinking, specification and testing.
- Programming-contest practice partly explains why LeetCode became a hiring proxy.
About this segment
Titus Winters says most curricula retain 1990s-era content and offer too few programming reps. He argues that design, systems thinking and practice matter more than trivia breadth.
Titus Winters is a Senior Principal Scientist at Adobe.
Built Google’s Abseil C++ libraries, led its readability program, and co-authored Software Engineering at Google.

Gergely Orosz, Host · Host, The Pragmatic Engineer
Spent four years at Uber heading mobile, web and backend teams; shipped part of its payments system.
From “Software engineering at Google & CS education with Titus Winters”, Oct 28, 2026. Watch the full episode
Thanks. We'll look at and fix what's off.
Transcript
From the transcript The Pragmatic Engineer publishes with the episode.
- 1:11:51
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?
- 1:12:02
I will riff a little on my bona fides there 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 professional societies 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.
- 1:12:33
Everyone else is active. Okay, some sense, because what can we teach? And I managed mostly the software engineering requirements. But it does mean that I see exactly what the requirements are and have been living in that space 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. The average thing in the curriculum is exactly what was needed to build a database or an operating system in the 90s.
- 1:13:10
That doesn't 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- Or we know how to teach it. Right. 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 50, 60, 70 years for the earliest CS departments, right?
- 1:13:44
Like this is a field that is way, way too young to To be doing stuff out of tradition. Even pre-AI, I 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. We just throw more stuff in there and cut the amount of depth on the existing stuff by epsilon. And I don't think that works. Even pre-AI was saying, the thing that I really want is 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.
- 1:14:29
And now AI, right? Like we guarantee like you can do all of an undergraduate degree without ever thinking about it. 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 up level substantially. Like you need to be able to read code and think as a systems thinker and like algorithmically like understand the structure and execution.
- 1:15:06
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.
- 1:15:42
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 going to kick up because, let's be honest, the stuff that's going to matter in an AI era and still get a job is teamwork, communication, design, specification, testing, validation, right? Oh, that's a bunch of software engineering topics.
- 1:16:09
And also building production software, especially with AI. I was talking with Peter Mattis, co-founder of CockroachDB, Cockroach Labs, and he was telling me that during his college on the side, he built the GIMP. And he got a lot of opportunities afterwards and then he built GTK+. 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.
- 1:16:38
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 will build, 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 did a budget theory.
- 1:17:00
My favorite class was the one team-based class where we actually built software. In the four years, there was one, only one. And then I took an extra class to actually learn .NET. And then when I got into a real world, it felt I was starting from scratch. I was picking up all of these things, which we're not taught at the time these days are, but The practice was was missing. I had the theory, but I definitely did not have the reps.
- 1:17:25
Right. And I would argue that the LeetCode interview was because of this, because, OK, how do you find signal that someone has put in the reps? Right. It's the students that were playing in the programming contests. Right. Those are the ones that had enough time.
- 1:17:44
I guess that was the only reps that were kind of a little bit common that were open to. Engineers who didn't have software engineering expertise. Sorry. People with affinity for programming who did not have software engineering expertise. Exactly. Right.
- 1:17:59
And so like it made perfect sense from that perspective for us to like ask those sort of lead code questions in the programming contest styles, not because we needed solutions to yet another breadth first search problem or reversing a linked list or any of that nonsense, but specifically because it was a proxy for you've been in an environment where you put in reps. Whereas the amount of actual like programming time on task for an average degree is pretty modest.