The Pragmatic Engineer
01:28:54 · Titus Winters, Gergely Orosz
[01:28:54] S1: Yep. [01:28:54] S0: You need to come up with novel ways of creating an assignment which you need to use AI to solve, but AI itself is not enough. How how do you get the feedback? You might need to put in more time. Let's say, like, sit down with someone afterwards and have them explain to you because, you know, again, like, interviews are also changing. And one of the interviews that seem to be working well is when you're pairing with someone, you know, like video or in person, you're using AI, but you're explaining what you're doing and how. Right? Because now you you cannot just fully fake it and go away, give it to a friend or or just have Claude do it. You're you're now showing your cognitive ability. The interviewer can push you into uncomfortable, you know, they'll they'll get a gauge of like how expert you are and push you further and further
01:29:40 · Titus Winters
[01:29:40] S1: and so on. Yeah. Exactly. And at the undergraduate level, like, there is some move towards more oral exams and those sort of things. But also, I think a really simple solution is stop grading just the outcome. Focus on the process. Right? Like, even if you don't come up with wildly harder assess... Assignments for assessment, Stop grading just the code that they turned in. Grade instead, what are the prompts that you used to get here? Also, what are the tests that you provided? Like, how did you make sure that this thing is actually doing what you need it to do? And when you start focusing on the process that got you there instead of just the outcome, I think not only CS, but most disciplines. Right? We've been using... Go write a new essay on Catcher in the Rye. We don't need another essay on Catcher in the Rye. Go write a new linked list. We don't need another linked list. We've been using the artifact that's produced from that as a proxy for you put in the time and the struggle and faced the friction that we assume that you now have learned something. It might be more appropriate to just focus on, do we have evidence that you've struggled and learned?
01:31:00 · Gergely Orosz, Titus Winters
[01:31:00] S0: Turn in the whole package. Right? Curriculums are designed by committees, which is for a good reason. But if if you had Titus' self ranging school where you could yourself put together the curriculum and study course for an undergrad course of, let's say, three to four years, how would it look like right now? And and we're talking about getting engineers, having engineers who can hit the ground running at software and engineering companies, obviously, using AI tools, building software, that kind of stuff. [01:31:29] S1: Yeah. So I think the first course, like the first semester, starts unaided by AI. We need to get you through at least the level that you can read code and have a vague idea of what's going on, can like understand control flow and those sorts of things. I think there's some really interesting things on well scaffolded and harnessed AI for educational purposes of we're intentionally not just going to give you the answer, and in conjunction with, if you're assessing the whole package and process of creation, then you don't need to worry about them going to chat GPT and just getting the whole answer. Right? Some of that's covered. I mean, I'll be honest. I don't know. Nobody knows. There is no playbook. But one of the ideas know. [01:32:14] S0: I I I I wanna get opinionated. Yeah.
01:32:16 · Titus Winters
[01:32:16] S1: So one of the ideas that I've had is let's make CS zero, like, non majors and majors alike intro to programs. Like, specifically, how do you describe the inputs and outputs and structure and design of the interfaces? Right? So we could talk about what's the difference between a checkbox and a radio button? When do you use a button versus some other UI widget? For non UI things, like what command line flags, positional parameters, how do you interface these components? Specifically so that if that's the only class that you ever took, at least the the AI vibe coded slop that you produce for your own use cases is going to have a, like, slightly more coherent, sensible design language and, like, be more fit for purpose. Like, I live in New York. The condo building I'm in has a... You know, there's an app for the laundry room. And drives me insane because they use menu UI for purpose. And the design language is completely wrong. Start with that. And then graduate kinda along the lines of what you're saying. If, like, we wanna move up into projects and teamwork and things like that, try to motivate them into, in themselves, wanting to solve a bigger problem and then needing some background on, oh, this is how the web works. This is how a remote API RPC call works. You can't give people a solution to a problem they don't realize they have. Right? And until they are trying to solve these problems, those solutions that we present in theory are all just trivia. They're just isolated academic, not connected to anything. Motivate that by getting them into a situation where they need that as the answer first, and then you can provide that background. I also desperately want more projects for two reasons. I don't want the assignments to be there is a correct answer, because that's not how the industry works. Mostly not how research works. And I want them to grade... Part of your grade is critique of others. Look at their outcomes or their code or both. Right? And be able to say, that was great. Did you think about doing a different thing here? And then also grade them on, can you give feedback without being a jerk? Because psychological safety and teamwork. Right? And all of this sounds like a lot of work, except you can use AI to, like, do some of that analysis. Let's
01:35:01 · Gergely Orosz, Titus Winters
[01:35:01] S0: do [01:35:01] S1: the sentiment analysis. Was that rude? Right? Things like that. And I think we could have a much more practical, hands on, and much more effective educational structure. And And I worry that that's going to be software engineering departments and not CS departments. [01:35:21] S0: And as closing, for for grads right now, college students sitting inside of CS program, software engineering programs, who are seeing, okay, it's it's more competitive to get into the industry, tools are changing. What advice would you get in terms of tactics, strategies to activities to do to maximize your chances of getting into the industry and then doing well there?
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?