The Pragmatic Engineer
01:16:42 · Titus Winters, Gergely Orosz
[01:16:42] S1: Yeah. [01:16:42] S0: People with affinity for programming who did not have software engineering expertise. [01:16:47] S1: Exactly. Right? And so, like, it made perfect sense from that perspective for us to, like, ask those sort of leak 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 programming time on task for an average degree is pretty modest. And, you know, you go back to ten thousand hours to mastery and Malcolm Gladwell. I think that's at Gladwell. And like... Yeah, like, where are you getting the time?
01:17:25 · Gergely Orosz
[01:17:25] S0: And if I think back of the boot camps that spun up in the... From, like, early two thousand tens, they started to get really strong 2014 to 2017. What they did is a three month, three to six months, sometimes twelve months, but usually three to six months, they took people who had no prior computer science or programming experience. They started day one, let's build an application which was typically a front end and the back end. They gave them the basics. It wasn't all that much, but that was three intensive months or six intensive months of building a working web application from the ground up. Yeah. And there was such a huge demand for software engineers that they got hired as a junior engineer level or almost at an apprentice level, but what they knew compared to computer science grads, they knew version control, they knew GET, They knew pull requests. They knew they they knew a database. They knew a front end. They knew new Chrome developer tools. So they actually had a bunch of valuable skills in only three months Yep. That the people coming out from programming four years might or might not have had. It was more of a coin toss. Yeah. Exactly.
01:18:32 · Titus Winters
[01:18:32] S1: Like, I've done the math. The number of hours in a CS degree is roughly equivalent to, like, fifteen months on average of full time employment. And that includes all of the theory stuff, all of the things that are, you know, questionably relevant, and is similarly trying to take you from no experience to employable in either an industry or academic direction. And that is... Compared to a six month boot camp, that's not a huge gap, especially when one of those is laser focused on these are all things that are just immediately relevant, And one of them is, here's some stuff that'll hopefully teach you how to think about these problems, maybe. Or less charitably, this was useful when I was a student.
01:19:25 · Gergely Orosz, Titus Winters
[01:19:25] S0: And also, can we just mention some of the most successful schools were actually outside of the The US? One of them... Well, a lot of the schools are, of course, you know, the the the usual suspects are are very highly regarded from from the MITs, the the Stanfords and so on. But Waterloo in Canada, I was very surprised to see that a bunch of Silicon Valley companies have a high number of Waterloo grads. I asked this on social media, like, what's on what's on with Waterloo? They're up in Canada. Why is everyone hiring from there? So it turns out that Waterloo has this program where, yeah, they they teach you computer science or software engineering, I'm not sure which one, but the main part is that every... They have dedicated placements. By the time someone graduates, they will have had four placements slash internships at different companies. And because they have the relationship, this will often be the Shopify, the Meta, this. So you will get an engineer who, you know, three months times four, that's like a year working inside of these companies. Yeah. [01:20:22] S1: And that is the value. Yeah. Exactly. [01:20:24] S0: Like, it's it's not... You can probably throw away the the three... Not not throw away, but but that is more valuable itself if you ask me from a... I I don't wanna downplay the importance of the theory, by the way. Yeah. But from a hiring manager point of view, like, oh, yeah. I'll I'll take that because that person will be up to speed. Wow. They work in different environments.
01:20:24 · Gergely Orosz, Titus Winters
[01:20:24] S0: Like, it's it's not... You can probably throw away the the three... Not not throw away, but but that is more valuable itself if you ask me from a... I I don't wanna downplay the importance of the theory, by the way. Yeah. But from a hiring manager point of view, like, oh, yeah. I'll I'll take that because that person will be up to speed. Wow. They work in different environments. [01:20:40] S1: They might even bring some ideas from day one to us. Yeah. I'm incredibly jealous of... I don't think it's just Waterloo. Like, a lot [01:20:48] S0: of the Canadian schools are really one example, by the way. [01:20:51] S1: Yeah. But, yeah, a lot of the Canadian schools for CS have substantially stronger programs on internships and co ops in a way that a lot of those degrees run five years now. But I think it is a much stronger educational experience because there are some of those lessons... I will fully admit, there's stuff we did not put into the software engineering requirements because there's just no way to do that in the academic setting. There's some lessons you're gonna have to learn the real way, like in the field. Even the... You gave the example of doing a project. I want us to do more projects, but I'm really nervous about there being one project course in most degrees because you know what no team has ever looked like? A bunch of people with exactly the same level of background. Right? Like, it also gives the wrong taste about this is what teamwork is. I'm like, Like, I'll take it. It's better than not doing it, but he's a...
01:21:51 · Gergely Orosz
[01:21:51] S0: Well, we we have what we have, and and this system will hopefully... With with people like yourself and others will hopefully start to to also change or or just adapt to the times. But AI is right now here. And one big question more experienced engineers are thinking about, like, we we've learned to build software pre AI. We have a bunch of... We we know the fundamentals of... Many of us went through computer science, so we actually have a very strong theoretical understanding which we might or might not use some parts of it. But what about for for new grads? Now that they'll enter a workforce of just today with just the capability that that we have, what do you think the fundamentals are that they should focus on and what are the things that were... They should just rely on AI? There's always a question of like, should you just ask AI for this or should you learn the the basics. Right?