Thanos and Rollins weekly discuss if and how AI will disrupt current jobs
AI Replaces Software Engineering
===
Michael: , [00:00:00] humans of earth. How are you doing today? My name is Michael Rollins and I am joined by my great friend, Thanos. We both have worked quite a long time in software, in engineering and Silicon Valley, and today we're going to help prepare you for the eventual coming of our robotic overlords. How are you, Thanos?
Thanos: I'm doing well, hopefully we will ingratiate ourselves with the overlords and they're not going to do away with us at the end of this.
Michael: That is actually the entire point of this podcast is to make ourselves indispensable as we prepare the human minds for the coming robot apocalypse, roboto, roboto lips. What is it? Robotic call. That is a really, that's a, that's a wild word to try to say. All right. So I want to,
Thanos: how this is pronounced. ~I'm sure they will know. A~
Michael: ~arrival?~
~All right. ~So ladies and gentlemen, and all of the others welcome to our inaugural episode of [00:01:00] will AI snap that our entire purpose with this podcast is to help you. As the audience contend with all of the questions that both honest and I get on a regular basis, which is I am in this field. Do you think a is going to replace me?
And the answer as you can imagine, is often not yes or no. It is often very nuanced. Thought is how often do you get that question? Do you think?
Thanos: few times a week,
Michael: Okay.
Thanos: usually
Michael: it?
Thanos: software field. I'm
Michael: The software field, right? ~You know, it's funny because I've started to get it not just in the software field, but also in like other fields and that'll be something we can talk about on other episodes.~
~But ~a friend of mine who is a longshoreman recently asked me if AI is going to replace him. Which was the first time I've ever really stopped to think about. Oh, wow. Like there's real physical implications here as well. It's not just, you know, Oh, well, people that work in the digital space are going to have to contend with this.
Like there's actual real world jobs that are fully physically based that, that [00:02:00] may get replaced by AI.
Thanos: When you combine the recent improvements of robotics together with AI, right? Where you had last 10 years or so, the drones and all the electronics that enable these precise movements. And before we could barely have these things that moved on a carpet. And now we have these Boston dynamic robots that can do flips.
Michael: Right. Yeah. So one of the, you know, the, and we can kind of just sort of get into this, one of the frameworks that I often use to be able to start thinking about whether or not AI will replace a field is the likelihood of failure and the cost of failure. The idea being. Well, what is the likelihood that AI is going to fail in this job and how costly will that failure be?
And the answers to those two things are wildly different from place to place. And so,
Thanos: Yeah.
Michael: The likelihood that AI will [00:03:00] fail in something like a long shore, like a longshoreman, like a cargo carrier kind of a thing where they're picking up multi ton, Cargo containers and moving them, the likelihood of failure is probably actually lower than you might think because the everything's in a grid pattern and they've got these giant, you know, cats that sit over top and but the cost of failure is potentially extraordinary in the sense of.
Well, these things don't stop fast, and if you smash one into a human, that human no longer exists, or if you smash one of these into a boat the wrong way, and you turn the boat over that's a pretty high cost of failure. If you, do you have a framework that you tend to use when you're looking at these things?
Thanos: I like the cost of failure, but I think he also there's a couple of things I would add in there, which is you have to then compare it to human failure. Because if we're replacing humans in some way, then [00:04:00] it doesn't have to be perfect. It just has to be better than humans. I was watching a video this morning where there was a Waymo in, I want to say Austin,
Michael: Mm hmm.
Thanos: there was a scooter riding ahead of it.
And the scooter fell right into the path of Waymo. And the Waymo just made a nice little left turn, went around the scooter. If it was a human driver, that would have probably killed them. So that was pretty impressive. And you basically have to compare it to, would a human been able to solve this situation, or
Michael: Mm hmm.
Thanos: have been, I know that this, this scooter rider would have, would have been dead if it wasn't.
So when we cross that threshold, that becomes interesting. Then we can do better than that. Right? And if you think of the better scenarios, that's actually quite interesting one of the persons, a person in this thread I was looking at was commenting, Hey, well, what happens if there was a car to the left and the way we couldn't have moved to the left and say, well, maybe it was smart enough that if there was a car to the left and it knew it didn't have that option, it would have been more cautious with the cyclist, sorry, with [00:05:00] the scooter guy. So then you're basically now moving the curve to things that humans couldn't do, because as you're driving around, you're not always thinking, well, what if that. person falls off. Will I have space to do the maneuver? The computer can do that and it can do that all the time. So I think that kind of innovation becomes exciting as we can basically move off a trade off curve and create a new crit curve that is somewhere else.
Michael: yeah. The the interesting thing about the scooterer example is there. is an experience level at which a human probably could make similar decisions as the Waymo did. I, I mean, I hadn't seen, I hadn't seen how close the scooter was to the Waymo, whether it was like super close or whether there was enough lead time that, you know, somebody with enough experience would be able to say, Whoa.
But I know for I have children that are all either learning to, or have just learned how to drive. I would not want to be the scooterer. In the instance that one of my [00:06:00] children is following them and the person falls because they don't have the experience to navigate that situation as successfully as one would hope.
Not that they're bad drivers.
Thanos: This, this evolves making, you know, when you get experience, you kind of make certain predetermined decisions, right? When something similar happens to you, for example, in that scenario, that hasn't happened exactly that to me, but I've thought about this thing before. Right. And if it's pedestrian versus human, you would swerve to avoid the pedestrian and you'd be okay hitting anything else in your way. Right. Cause I I'd rather hit a car. Cause if I run over the pedestrian, they're pretty much a goner. If I hit a car, well, we've got some chances of doing some damage, but we're probably okay. Right. So a more junior driver may not have that automatic thing built in their head. And obviously the computer overlord already knows like, well, if I don't have space to the left, maybe I slowed down just in case they fall.
Michael: Yeah, it's it's a, I like that not just, you know the, the likelihood of failure, the cost of [00:07:00] failure and whether the failure rate is better than a human failure rate which is I feel like that's a really good framework in which to look at a lot of this stuff.
Thanos: I think that's going to be also more relevant in the beginning than it will be in the end. Right. Cause at some point when the robotic overlords have taken over, then we don't really care how bad humans
Michael: Yeah,
Thanos: We now expect
Michael: yeah, yeah. And we're all batteries by that point, I think is the expected trajectory of our evolutionary development though. All right, so let's let's turn this over to our own field. You and I have both been software engineers for probably a lot longer than either one of us would care to pronounce on this here show.
And I know that We've actually been talking quite a bit and it's some of the genesis of this thing where we're, I like, I, so you know, we're recording this at the end of December and 2024 and you'll probably, y'all will probably have seen or heard this by January of [00:08:00] 2025. But I. Open AI announced you know, their ship miss, which God, what a name and I think the first or second day they introduced 200 subscription to chat GPT that actually ended up getting you Sora, but we didn't know that at the time.
And there may be more that we haven't heard about. But that gave you access to their Oh, one pro model. And you were somewhat incredulous when I told you that I had immediately purchased the 200 subscription. Why don't you tell people about your experience with that? After I convinced you.
Thanos: I think you told me on a Friday and I think maybe a Thursday and I had it purchased by a Saturday.
Michael: Mm hmm.
Thanos: a minute and a half till every question you have is answered. So I really appreciate that part. But in all seriousness, it's actually quite [00:09:00] impressive in many ways. It seems to be able to reason Much more deeply about things and you can do things where before you'd need two or three or four shots You could do this with this thing in one shot. I really like the answers that you get with this I'm still like about a week or two into this.
I'm not sure I have even scratched the surface of what it can do. I tend to like to play with it and try it with everything that I do to throw it in that model and see what it comes up with. But it was, it was really, that's the first thing that impressed me is we were, we're mucking around with this little puzzle.
I don't know if you've heard this one, but you have three wolves and three sheep and they're in one side of the river and you're going to move them to the other side of the river. you can only put two in a boat and the boat cannot come back by itself. And if there's any point in time, anywhere more wolves than sheep it's, it's a massacre. so I just fed that into it and it reasoned it perfectly well. It gave me all the steps one at a time. You know, it took me like at a diner with little sachets of sugar, moving them around for like a good 20 minutes to figure out how the heck do I do [00:10:00] this.
Michael: I've never done that one, ~I'm going to have to try it. Yeah.~
Thanos: ~yeah, so it was really nice.~
The integration with coding environments is, is kind of so so, right? You can tell it to look into your environment, but then it spits out the code and then you have to copy paste it over existing code. So that's kind of a little janky. I'm still kind of trying to find out what are the better solutions if you want to actually do coding with it. So I, I think the jury's out still on how O1 will work with the coding integrations. Let's see what else to say about O1.
Michael: So with regards to the coding integration one of the, if you have, so I, I run everything on a Mac. I think Thanos does as well. We're not of the dirty PC world and nor the pure blooded Linux world. As it may be and you can download the chat GPT app. And then when you're in various modes, you can say, I'm interested in you looking at VS code.
And you have to like put some kind of extension in VS code to make that possible, but then you can highlight your code and VS code, go over to the window with chat GPT [00:11:00] and ask it questions. But I actually wanted you to share the optimization, the example of the optimization that you tried that you call, you text me, you're like, Oh my God, this is amazing.
Thanos: Yeah, that was quite fun. So I had a database query that was being generated by an ORM. So an ORM is a mechanism where you can define little objects and then they can, that thing will create you the tables in the database and kind of vice versa, depending on how you have it laid out. But ORMs are typically not super efficient in making queries.
So we had this query that grew over time and it had gotten a couple of pages long. It was pretty bad. Pretty nasty looking and it was taking two or three seconds. And I was looking at this query. It was, it had some Postgres specific features, which I wasn't super familiar with. It had some SQL clauses that I'd never seen before.
So I was looking at a good like hour or two to go figure this out by myself. Right. You know, I was Google, you know, Postgres documentation, figure out what this thing does, figure out what that thing does. It's not rocket science, but it's relatively [00:12:00] time consuming.
Michael: Right.
Thanos: So I just fed that query to a one pro and I said, what the heck does this do?
Especially like this clause in that close in that close. And it just explained it to me for sure. Perfectly. So I had a pretty good idea of how that worked. And then I said, well, this seems pretty slow. Can we do better than this? And, and boom, it just gave me one query. Boom, like within a minute or two that
Michael: Yeah.
Thanos: And I didn't quite understand that query either. So I said, well, can you explain this query a little bit to me? And a minute later, I had a pretty good explanation. Okay. So, you know, five minutes into it, I understand what it was doing. I understand what the new thing, new thing is working. I pop it in the database and it's learning now instead of like five or 10 seconds, whatever it was taken, it was like 65 milliseconds.
Michael: Which is insane.
Thanos: impressive. Further to that I wasn't sure that the query that they proposed was exactly what I needed.
Michael: Mm hmm.
Thanos: You know, it kind of looked about right, but it wasn't like, I didn't, you know, plug it in and actually test it. I did further test it. And it was actually like mostly correct.
I'd say 95 to 99 percent correct, but I can, with a few tweaks, we can get that into production pretty [00:13:00] quickly.
Michael: Mm hmm. Mm hmm.
Thanos: So that was like,
Michael: Mm hmm.
Thanos: dang, that's pretty cool.
Michael: Yeah, it's interesting. I, so with, when I use chat GPT and I did this with Claude and I've done this with a lot of other things is the oftentimes I'm not asking it to write a whole file. I'm not asking it to build a whole class for me. A lot of times what I'm asking it to do is something I know how to do.
And it's also something that is going to take me An hour or maybe two hours, and I can just kind of pick it up, hand a part or all of the code to chat GPT and say, I need to do this. And can you get this done? And, you know, a minute or two later, all of a sudden it's like, Oh yeah, well, here you go. And then I kind of copy paste back in and it's, you know, not having it designed my code as it were.
I'm not [00:14:00] having it architected, but it is doing all kinds of chat. GPT is doing a lot of the grunt work that would take me more time than it was worth to get it done.
Thanos: Okay.
Michael: a very, very small startup where I'm the only full time engineer.
And Thanos, you do contracting in various different environments, but we're both more or less independent. And I look at that 200 a month and I have a few folks that do work with me for like either equity or other things. And I'm like, It's actually probably worth it in terms of a speed up to have to like, just pay for it out of my own pocket for these people that are working with me.
And. Because at least at the stage that my company's at right now it is all about velocity [00:15:00] shipped it, ship it, ship it, ship it, ship it. If you're not shipping two, three times a week preferably two, three times a day, then you're not moving fast enough. And so like, I look at this as that's 200 a month that I can spend per engineer to make them much, much faster.
And that's like, that's a no brainer as far as I'm concerned. Your
Thanos: completely agree with that. I think it probably paid for itself just after dealing with that query, right? I was able to deal with that in an hour. It would take me two or three to get the whole thing done. So that was amazing.
Michael: hourly rate is probably over 200
Thanos: yeah, that's that's
Michael: an hour.
Thanos: a no brainer for that. The fun part, though, comes to how you utilize these tools, because sometimes you're If you, you know, there's just hallucinate. So
Michael: Yes.
Thanos: doing something this morning and it proposed like a particular data structure and it was just completely off. And so I think if [00:16:00] someone used that result without realizing it's completely off, then they could go down the path of like using that data structure in a bunch of places and they wouldn't have realized. So when it first proposed this and it was off, I went like, that doesn't feel right. So there's a technique that you can use to sort of reverse it and say, okay, well, instead of starting from there. Let me start from another angle. And then, you know, it's, it's the ones where the, I've done things right, the train tracks would connect at the same place.
And if they don't, something's messed up. And I think that takes a little bit of experience to figure out how to do things that way. So it's. It's interesting in how newer engineers are going to use this, that don't have the experience that you and I have, and may not, I've hit these problems many times before that if they rely on the AI, it might lead them down a path where they're actually not wasting time.
Cause the AI is just
Michael: Yeah.
Thanos: them sort of some silly stuff. So I'm very curious to see how that plays out over time.
Michael: So we were early on, I had made. you As I was like building the thing I was building as the only engineer, I made some [00:17:00] intentional tradeoffs to say, I'm going to do this this way right now. This is the lazy but fast way and I know that eventually this tech debt that I've just created is going to catch up to me and I'm gonna have to fix it.
But in this instance, it was actually worth it. Because performance and speed wasn't necessarily like performance and speed of the code wasn't necessarily what I was indexing for. Right? I wanted this in front of people so they could look at it and say, Oh, my gosh, this thing exists. That's incredible. And so then eventually got to the point where we had this one query that was taking 10 seconds.
It was bad. It was, it was real bad and I knew exactly where the inefficiencies were and the tech debt that I had built in meant that I couldn't just fix the query. I also had to fix the front end and I had to fix the API layer, you know, but I [00:18:00] intended to. I knew that was going to happen eventually. And so this was, this was prior to Oh one, I sat down and I had four Oh, and I was like, let's see what four Oh could do with this.
So I had four Oh, I tossed in all this code and I said, fix this. It could not, it couldn't even figure out what the heck was happening. And I I'm tempted to go back and find those branches and hand it to Oh one preview or Oh one pro and see what it would do. But. There is an interesting point there, which is the larger the expanse of the thing you're trying to fix.
It seems like it does much worse. And so asking it to optimize a single query where, Hey, this all works versus optimizing a query that is then attached to an API, which is then attached to some data structures on the front end. I don't know that it can fix that. Have [00:19:00] you?
Thanos: think what you see is that the barrier of hitting a certain with the abstractions things can handle keeps moving, right? So, so before The various GPTs, we would have auto completion and what it would do is it would look up like whatever you just typed and see, oh, that's an object that has these attributes.
Now you can pick from these things, right? So that's as good as it could go. Whereas now, even if you don't have that, it can kind of look at surrounding code and be like, okay, well, this was kind of like that. So if you say wrote a unit test and you want to write another one, Oh, this is different. So let me just that the same.
So now we're like a little bit higher levels of abstraction. So, As to what we can handle, I don't think we're there yet, but that may be the next frontier of being able to look what you're saying across files and sort of start digging in deeper meaning in what you're doing. I think it probably already can do this in certain areas where it's pretty straightforward.
So, for example. You're doing sort of crud, create, update retrieve, delete forms, right? That's a pretty well understood
Michael: [00:20:00] Yeah.
Thanos: that if you said auto complete this, it probably do just fine. But if you have something that's more custom, right, you're building something new that hasn't been built before, or the examples are kind of a bit more scattered or the nuances of what you're trying to build here. That are different. Than it might have, have some more difficulties. And that's actually quite interesting as well, because we tend to build things that haven't been built before. If something has been built 10 times over, I'm just going to go use that library. I'm not going to just start it from scratch. So for the things that I tend to do, they, these are one offs. These are new things. Otherwise I'll go leverage something else. So that's where the, the a I may struggle a bit more as it hasn't.
It doesn't know exactly what it's doing. So then over the years, hopefully this level of abstraction changes and maybe I can give it like a short description of what I'm doing. And I mean, you can do this now, but maybe as you as it [00:21:00] progresses, you can do that. Now it's more successful in actually creating it.
But it's, it's pretty good if you go step by step, so I,
Michael: Okay.
Thanos: like a whole couple of apps or an electron app. I have no idea how electron works. I didn't want to know how electron works. I just needed a simple
Michael: Let's do the yeah, huh.
Thanos: Now make a page that does this.
Okay. Now read the files from up here. Show them in the list over there. Now highlight that thing. Now, if I move up and down, I want you to highlight it. Well, don't go off the end and just bit by bit without knowing anything in a couple of hours. I could do something that would take a couple of days. ~Okay.~
Michael: So it's funny you say that I am, I have been forced to get better at react. I, for the majority of my career, I have avoided front end web development I've done. Mobile. I've done back end. I've done infrastructure. I've done site reliability only in the very beginning of my career. Did I do anything with web?
And it was, this was back in like the job of being days when javascript libraries weren't even a thing. I mean, it was, I was, [00:22:00] it was in the days of you. If you remember that, but I'm dating myself. So so I started it. This thing. And I was like, all right, I got to get, I got to figure out how react works.
And what's really interesting is like the learning curve was probably not as steep as it would have been for some other folks, because like I've done enough with Swift UI, I understand how reactive UIs work and I really like them. But it was still. pretty steep. And what was really interesting is that occasionally I would throw something into chat GPT and it would, I would be like, Hey, this isn't working right.
Like, can you, I'm getting this error. Can you do this? And in the process of doing that, it would teach me. And, and that is like, So much more valuable than just fix my code, because all of a sudden it would start filling in these little gaps in my knowledge that I didn't even know were there. And so I started learning a whole lot more about how you know react handle state.[00:23:00]
I started learning a whole lot more about, you know, the differences between, you know, using a context versus using a state and react and why you would want to choose one over another. And what's interesting is as I've used chat, GPT and Claude at the, you know, during the same time period, I have become a better engineer as a result of it.
Because the explanations that this thing spits out either explicitly or implicitly fills in gaps in my knowledge that I didn't even know were there. Would you ever assume, like, let's say, all right, here you are, you're your VP of engineering, your CTO, and somebody comes to you and they say, Hey, this entire team is basically just pulling as much code as they can from chadgbt.
What would be your response? ~Oh, yeah.~
Thanos: ~I. ~I used to play this like F 16 fighting game when I was a kid.
It was like a simulator and it had like, I had the manual of it. And one of the things that was really stuck with me, [00:24:00] it said, it has some random quotes from, from people. one of them was some, some purported, you know, aviator that said, no one use all the capabilities over your aircraft because if you don't sooner or later, some guy who does will kick your ass. Right. So I think learning new things falls in that category, right? If you don't use chat GPT or use any of these new things in your thing, some other companies going to eat your lunch at some point because they will figure out how to use it. So I think you have to on the other hand, it absolutely terrifies me. Because these things are trained on the internet and I have been on the internet, and you have very good things, but you have very bad things on the internet. And, you know, especially like, you know, my day job is engineering efficiency and processes and there's a lot of really good advice of how to structure your. Your engineering teams to be well in high performing, but it's also like a lot of really bad
Michael: advice.
Thanos: right? And if
Michael: Like
Thanos: to coding
Michael: to secure the cheese to the pizza? That kind of [00:25:00] advice?
Thanos: Yeah, like what was it? The other one ~that rock soup~
Michael: ~Yeah. Yeah. ~Wait, so you're telling me
Thanos: or something like that
Michael: If you train all of these models on Reddit data, that's bad.
Thanos: Well, not necessarily bad, but maybe a mixed bag
Michael: Might get a little out of pocket
Thanos: Yeah, you
Michael: just on a side note.
Thanos: getting like white supremacist software, then it's like, no,
Michael: Yeah. That that's bad. That's bad. You know, the
Thanos: so that's kind of a little bit of my trepidation is that it, it is really useful if you know what to look for. And, you know, again, you and I have been around.
So when something spits something, when the chat spit something out, that's like raises your eyebrow, you're like, wait a second. And you go and look into it and, you know, To be honest, it has, it has messed me up a couple of times, a couple of times. It lets something sneak in. And then I looked at it later.
It's like,
Michael: yeah.
Thanos: I should have caught that
Michael: Yep. Mm hmm. [00:26:00] Yeah.
Thanos: it's. for me to use chat GPT to code something than, you know, maybe delegating some chunks of it, like form code or something like that.
Right. You know, something that someone cut their teeth in it and learn from. I'm curious as to they're doing what you did and they're, they're developing something with chat GPT, they're going to get some advice, good advice, some bad advice, and I hope that over, over the years, we can give them more and more good advice if, if that's what they're using to learn,
Michael: Yeah.
Thanos: Otherwise it's going to be crap in crap out
Michael: Yeah.
Thanos: that sort of situation.
Michael: I, I one of the primary reasons, so, well, let me back this up first off, I have seen firsthand that too much reliance on these tools, at least at this moment can and will introduce systemic issues that you will not be, you may not be aware of until later on down the line, unless, you know, to look for them in advance.
And so I have, I, I, like I said, I'm not a [00:27:00] great react engineer. But. Possible. But you know what? I can throw a picture into Claude or into, I think, chat GPT. Now I can say build this UI and. That's really great until it's not because chat GPT doesn't have the, or Claude doesn't have the context of the entire front end when it does that.
And so all of a sudden you start popping out with different styles. With different things that you wouldn't even think about until you see it. And you're like, Oh, that's wrong. Like over here, we've been doing it this way and this thing just spat it out this way. And I've been around long enough to know that if I pull this file up after somebody has been working in the code base over here, they're going to look at it and go, what the hell?
Like, Why would you write it that way? And similarly, you [00:28:00] know, when you, because of the the locality, if you will, of the actual, like its ability to see anything oftentimes it will make local optimizations on the page that you don't want it to make like pulling state in where it doesn't need to pull state in Because it just doesn't have that overarching context.
And so I do think there's like a, there's almost an instinct that you develop over time to know that this is bad. And I agree with you. It's like, well, if, if even if I rely on this too much, am I going to lose that instinct and not realize that I'm pulling like a ticking time bomb into my code base? And that is, that is something I periodically worry about.
It's like I use this too much, which is why I tend to constrain it to very small things still.
Thanos: Yeah, and if you think about how this evolves in different areas, there may be places where we can use better prompting. To fix some of the issues, so, so take the front end examples, right? You could say, Hey, in my front end, if I'm [00:29:00] developing a page, here's my structure, right? My components live over here, page has a front and a back, and it works like this. okay, so now you've drawn a pretty good border. You can then say, it should look roughly like how all these other pages look like. So it uses the same patterns. Okay, now we're this far, you mentioned state, right? So now you're talking about patterns as to how a page works with other parts of the app. So can we start standardizing what these rules look like? those are not, those are good, not only if the AI is doing it, it's actually often good when people are doing it, because if each page needs to know about every other page, you get this mess. So we typically will come up as we try a new app, we'll learn how the structure works for this app, figure out what the good practices, best practices are for this sort of thing, and start putting in some constraints that help humans or AI to build this in a certain way. And that's architecture, right? So, so again, that's moving up the level of abstraction.
Michael: Okay. [00:30:00] Okay. everyone for having us.
Thanos: and, you know, I haven't played that much with it. This may be a shortcoming for us, right? Maybe this is something that you and I, because we're good at it, we can go and see how the AI does with it.
Michael: Yeah.
Thanos: maybe other folks that are not as good with it are getting AI help, and I'm not sure what the output from that is.
Is it good? Is it bad?
Michael: Yeah.
Thanos: but we'll be finding out.
Michael: That is, that is a very, very intriguing question is our, you know, we, we don't have to answer this now, but is our experience a hindrance at some point? All right. So here.
Thanos: let's answer that.
Michael: Yeah, go ahead.
Thanos: hindrance if you just get stuck in your old ways. If you're like, I know how to do this, I know how to do this, this [00:31:00] very one way, you're kind of stuck in that. So I use JetBrains suite in my development, but I haven't yet found a really good plugin that will integrate well with it. Lots of folks are using, what's the new one? That is a built in ID based off of VS code that does everything cursor. So a lot of folks are using cursor, but I can't stand VS code. So I was like pushing it and pushing it and like, I don't want to deal with this. Right.
Michael: Look, man, I, I,
Thanos: I'm actually missing out on a lot of good stuff.
So the next couple of days I'm forcing myself to start using cursor a little bit. And it's excruciating. Right. Cause I know how to like. Click on one thing and go to another thing. And now nothing works. All my
Michael: yeah.
Thanos: up, I think these are the sort of things where if you're just stuck in how you do it and yeah, I'm experienced with this and I'm not changing cause I'm really good at it. You're not going to see progress.
Michael: After years of working exclusively in Xcode, I can tell you that there's. Yeah, I don't [00:32:00] care anymore. ~All right.~
Thanos: ~it since 2007. ~I went back to it for a client last week and I was like, what are
Michael: Jesus.
Thanos: up there on the
Michael: Yeah, no. Like, yeah, it, it, it, oh, it's awful. Sometimes it's so bad. Okay. But that is a different podcast. All right. So here, here's the time during the podcast where Thanos, we're going to rate the the snappability of software engineering based on a reasonable guess of like the current state of AI verse where it might be in just a little bit.
And so I think the way that we're going to do this, and I reserve the right to change this at any moment is that on a scale of 1 to 4, let's figure out the snappability of software engineering. So one being, it will not impact it whatsoever. Two, there will be some. There will be some impacts, but not enough to start replacing jobs.
[00:33:00] Three. Okay, there's impacts now. The impacts are at a place where, okay, we're going to begin to see a reduction in the necessary group of people that do this, a reduction in force, if you will, the dreaded riff. Where, okay, now this thing is, Potentially going to cost other people jobs because it's good enough.
And four, which is you're doomed. Your industry's over AI is going to replace you. You are now snapped. So on that scale of one to four, which is probably way too complex, but I don't want to give anybody the, you know, the ability to pick three in the midst of one to five. Where do you think software engineering is?
Let's say for the next year.
Thanos: I was going to pick the middle, so I was annoyed you went with the scale with
Michael: I know, but that's the point. You can't pick the middle. You got to go one way or the other. ~You're not allowed to pick the three.~
Thanos: ~still going to have to go with explanations, right? ~I'm going to go with something like a three. I don't think we're there yet you'll have a reduction in force. Because of the AI, I think you'll get you're in the part where people are becoming to be a bit more productive with [00:34:00] it and figuring out how to use it.
So you may get a little bit of velocity increases, and I think you're going to get a fair amount of reorganization of how we do things over the next year. This is, again, I think the pattern that I see is that you'll get your proverbial, and this is a term I hate, but your 10 X engineers, those, those really high performance that you have, or even higher performing, cause they know how to leverage these tools really well.
So I think you're going to see some change out of that. I won't claim I can predict what happens after that. I think what happens sort of mid seniority and below is going to be more interesting and hard to predict. And I think the fallout is going to probably come after the dust on, on that settles, think there's going to be some. Play people that work along the model that you said that they're learning with it. some are going to probably thrive and some are probably going to fail. And we're going to figure out how to support these folks because we do want the next batch of software engineers to to, to raise out the ranks and be
Michael: Yep.
Thanos: With these toolings. I hope I'm being pessimistic here in a way and that we, that [00:35:00] I hope that becomes really successful when we do figure it out. it's unclear to me that as an industry, we're at the point where. We'll see reductions in numbers. I think there's super duper high demand still for software engineers. so if you figure out how to make them productive, there's a lot of these sort of digital transformations where companies are moving more and more stuff in the digital realm.
So I think software engineers, biases aside, are probably going to be well employed for the time to come. Again, that's, is static, right? So things will always change and it's going to be those folks that are not stuck with their tools, but are willing to go and look and explore other tools. So I'd say I'm somewhere in the three.
I think I can see many, many changes happening here. Not necessarily a reduction in people. But like, I think the industry is going to change. And if we're just focusing on that, that change, it might be even closer to a four, like this may be changing a lot. I don't think software engineers go away, but how we do things is going to be radically different over the next five, 10 years.
Michael: So my [00:36:00] take is it's a two and in, in, and I think I'll, I'll redefine this on the fly because you actually bring up something good, which is if a one is, is zero impact on the industry who may very well be. An impact on the industry that leads to a little bit more of a plateau in terms of number of jobs available three being okay.
Now the jobs may start to diminish in for as the industry goes away. I would say we're at a pretty solid too. Where the, I see it highly likely that the industry continues to grow. I don't, I don't think like the current steady state of software engineering is we need more engineers. I don't think we're getting to a place where it's like, okay, we have enough engineers.
But you bring up something That is really interesting. And you betrayed your bias when you said it, you said, well, not that I believe in the 10 [00:37:00] X engineer, but you know, the 10 X engineer is going to learn how to leverage this in a way that makes them faster. And I think you actually just, you actually said something very profound there, Thanas, which is the people that learn how to use these tools, the best.
Are the ones that win. ~And I don't think that's,~
I think if you have, you know, one of the things I'm always thinking about is like, man, what does this do to new grads?
Science degree right now, should you be worried? I think at this moment, the answer is no, but what is that?
What about two years from now, four years from now? And I think actually. You just said the thing, which is at least for software engineering, the people that learn how to use the tools, the best are the ones that are going to continue to thrive. And that actually may put pressure on the top group of people, folks like you and me who have been doing [00:38:00] this for a long time that refused to learn how to use the tools out of some misguided purity.
And so it almost makes me wonder if. The, the new cadre of, you know, young computer scientists coming up will overtake the experience people faster because they, it's like, you know, it's like the people that, that knew how to type were able to become faster on computers than the people who never learned how to type, right.
Or the you know, my mom and dad never grew up with computers, right. I kind of want, some of my first memories are of computers, right? So you and I, at least I didn't probably you as well. I think we're similar age, like we just grew up with the tool. It never became anything that was the tool was just obvious to us.
And so I wonder if. That might be what ends up happening is whoever adopts the tool faster ends up doing it better, basically.
Thanos: [00:39:00] So one thing to do is perhaps pull apart the experienced engineers and the engineers with the ability or value of learning. And there may be some correlation if you made it this far, maybe you have both, although I can, you know, think of examples in my career of the person that
Michael: Well, that was very obviously not true.
Thanos: very set in their ways. so I think it's the learners that will, that will progress, right? I think, you know, experience can often be a proxy to that, but it's not a guarantee to that. And we'd be veering in a sort of slightly different topic, right? Because I think learning is part of what we do is a key component. This is very much so. It's probably one of the most important things that you look at engineer is do you have the capacity to learn new things, right? You want engineers that look at technology, look at their environment, look at the product they're trying to build, figure out how to mesh these two. And there's a lot of learning in doing that.
I think those are the successful
Michael: Okay. [00:40:00] Okay. Okay. Okay.
Thanos: and I will just wield it. So it's,
Michael: That's a good question. And I'm not a specialist. So I don't know. I don't have any evidence to support that. I think that's a good question. I don't know. I would probably go with it. I would say I'm not a specialist. I don't have any. I don't have any. I'm not a scientist. I'm not a scientist.
I'm a researcher. ~I'm a researcher. That's what~
Thanos: ~as a whole? Right? Because you could see maybe we ~become more effective and the industry thrives, even though there's a reduction in force, maybe because we
Michael: it looks like. It's good. It's good. It's good. Yeah. Yeah. Yeah. Yeah.
Thanos: So that could be fun to sort of segmenting [00:41:00] things and analyzing across multiple dimensions as we do this.
Michael: I like it. All right. So final thing for anybody that is, you know, thinking about the, the folks that have not utilized these tools yet. And Maybe more interested in beginning to utilize them. The folks that maybe have said this whole time, Hey, you know, if it was good enough for grandma and grandpa, I'm not going to use this LLM.
What would you, what would be the starting point? Where would you tell a software engineer that has finally, they've listened to us and our wisdom and our incredible knowledge and understanding and good looks and said, I'm gonna go ahead and take their advice. Where, where would you point them? How would you say, this is how you get.
To the point of using AI in your current job.
Thanos: I think the easiest thing is if you, if your job allows it, and I know some places that don't, which is kind
Michael: Yeah. Yeah. [00:42:00] Yeah.
Thanos: and say, Hey, how would you do this? Or try some experiments of, you know, the next, the next change you want to make, what happens if you ask the ID to do it. Rather than doing it yourself, and then get to asking some more complicated questions. Like, let's bubble it up to the architecture and see how far we can get with that. I know how do we express these things in that way? your job doesn't allow for it, that is a bummer. And maybe think about a different job because it could be a proxy for some short sighted thinking. Obviously there's, you know, exceptions to this. There's some places that you might work at that, that may actually make a lot of sense. you know, Some places with restrictive IP or where you can't feed certain things into the algorithm. so not doing those, but if you, you know, doing run of the mill software development with no, none of that stuff, then I'd be curious or questioning a little bit as to why we have such a policy.
Michael: Yeah.
Thanos: if you don't, you know, find a sign project. ~I, ~I had some personal stuff that I do like filing my PDF documents away.
And that's, that was the electron app that I was mentioning earlier. It's like, Hey, I'll spend a couple of hours and just build something in technology. I don't know. Go learn a [00:43:00] new language. great things about closure on the front end running on the browser. So, you know, go plug that in and see how that works. or, you know, try, try learning something new with it. I I've tried a few times. I haven't tried it with O one pro yet as kind of like slightly tangential to coding, but I fully want to understand the, the general and specific theories of relativity and, you know, I could go
Michael: There you go.
Thanos: or I could, you know, work through the, through, through the AI and kind of learn something.
So again, apply this to coding. But you can go have some fun with it. There's tons of tools. You don't need to splurge on the 200 bucks to, to get
Michael: Yeah. No, no.
Thanos: 01 pro, but you can go get this, the Claude on
Michael: Claude's got.
Thanos: tools. This is pretty good stuff. You can get
Michael: Yeah.
Thanos: and play with and get some good plugins for your IDs, where you have them and go from there.
Michael: Yeah. I think from a practical application, I mean, the choice of LLMs is, is there's actually quite a few. And what ends up so [00:44:00] far, what's been happening is The, these LLM companies, they leapfrog each other every like few weeks to a month and a half. And so you've got a one pro right now, which seems to be kind of ascendant, but Gemini from Google has got some really interesting things on the horizon.
Claude. is called interesting. There are different, they're productizing this in a better way, I think. So there's some things that I've seen with Claude that are very intriguing, especially for my, my company. But in order, like, here's like, obviously if you can just use this in your job, Go for it.
You know, and you just need to remember that everything you put into these models, everything you put into these products is going to be used to train these products. So if there's something that shouldn't be in the training material for these products, don't put them in. But also I tend to enjoy setting myself little challenges and those challenges may be as simple as [00:45:00] here's a very simple app.
How fast can I. How fast can I build it with this tool? How fast can I go from zero to MVP? And if I leverage this product is undoing that what does that look like? So it can be
Thanos: it's
Michael: interesting.
Thanos: advent of code season. So again, the spirit of having good advent of code, which is a 25 puzzles over the month of December is not to be using that to compete, but if you're not competing with others and want to just practice just solving some problems, it has some fun
Michael: Remember kids,
Thanos: with and see how it works.
Michael: not unlike what one of my children's economics. Personal finance professors or teachers told them it's okay to cheat on your taxes as long as you don't get caught. So don't cheat on admin of code. And if you do don't get caught,
Thanos: It kind of ruins the whole thing, I think, ~if you're,~
Michael: ~it does. ~It does.
Thanos: it for the satisfaction of solving these coding problems.
Michael: No, that was very true. So, all right. [00:46:00] And so, ~little bit behind the scenes here ~what you all just heard was the complete and total episode. The. future episodes. And this won't, this won't take effect for a little bit, but eventually what we're going to do is we're going to get to the point where we rate the we're going to give our rating and then we're going to give our reason for the rating.
And the reason for the rating, you will have to be a subscriber, whether that's on Patreon or Mighty Networks or something. We're going to, you know, the intent is to build a community. The intent is to allow people to. Kind of engage with us directly if they're able to. And so as part of that, and then a little sweetener to the pot, we're going to also provide for them, like the, the, not just the rating, but why we think the rating is and what people may be able to do going forward.
So for the first few episodes, everybody gets that. We hope you really enjoy it. And eventually we will put that behind the subscription. So just just to kind of get, get everybody ready. [00:47:00] Thanos, this has been lovely. I'm glad that we could cut our teeth on this particular topic. Cause I think we're both very passionate about it.
And listen, humans of earth. We are here to help guide you through your eventual, what's the word I'm looking for here? I totally dropped the word, Thanos. Ah, humans of earth. We are here to guide you through your eventual assimilation by the robotic overlord. And with that, peace out. May the force be with you.
Thanos: Michael. And maybe we should maybe work this way in, but Hey, thanks, Michael. And also robotic overlords you know, takes, take good care of us, please.
Michael: That's right. Oh, that's right. Because the subscribers will also be part of the bootlicker community. Where once we've gained favor, we will then curry favor for them. Remember?
Thanos: We will help you get saved.
Michael: That's right, that, oh god, time to talk about our [00:48:00] robotic overlord. And with that, goodbye everybody.
Thanos: See ya.