A viewer wrote in to ask about the top areas that I think are going to be displaced by AI.
Do I have a crystal ball? No. But here are my current observations and what I anticipate!
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, we're going to the comments on YouTube today for the topic. This one is from I486 DX66. I think I got it. Um my music. Um and this question is about AI and placing displacing deping displacing software engineering um areas. Uh obviously it's early. My apologies. So, I'm going to talk through this. My perspective, obviously, I don't have a crystal ball. I suspect this person also knows that I don't have a crystal ball, but I will do my best to kind of talk through it. Um, a friendly reminder, this question, this channel, this channel is driven by your questions. So, if you have questions, leave them below in the comments. Uh, anything software engineering or career development related, happy to try and answer. If you want to be kept anonymous, you can send a message into Dev Leader on social media. It's also my main YouTube channel.
Or Nick Cosantino on LinkedIn. I should have a public premium profile for you to to send messages to and should all be no issue. Okay. Now, can I get one sentence out of my mouth that's proper? Um, let's see. So, uh, when I saw this comment come in, I was thinking about like how I wanted to answer this. And I feel like my answer is going to be a little bit generic or general, I guess, because I don't think that when I was reflecting on this, there was like like obvious categories in software engineering. So, uh, and maybe as I get talking a couple like will come to mind that are a little bit more specific, but I think the parts that are going to be displaced, and you could probably extrapolate this beyond software engineering, right? I think that the parts that are going to be displaced are starting off with uh maybe there are a couple ways to look at this.
I wanted to say like like the quick fixes, right? Um, I'm sure depending on, you know, who's watching your career experience and stuff, sometimes there's like when you have uh bugs and features and stuff like that that have to get prioritized. Eventually, you reach a point and it can happen early, it can happen later, but you start to have like things that you're like, well, I don't know if that's really a bug. I don't know if that's actually like a feature, an enhancement. It's kind of just like maybe someone disagrees with how it's done and like it's not necessarily wrong. It's just that it could be improved and to go fix it or change it is probably like a small amount of effort but you're also like the value ad is not not really there. So it doesn't get prioritized.
And I think that there's going to be a lot of work that kind of fits into this bucket where uh you know from especially from the perspective of a software engineering manager and someone that's been you know effectively a product owner uh just doesn't get prioritized. I think that this kind of stuff it's like cool like if we want to do it but we just don't really think it's a priority go have the LLM do it right go make an issue have co-pilot go do it someone can review it uh if they don't get to it for a week like who cares um because you have to remember I've talked about this in other videos too you don't just get stuff for free like when you add more work into a sprint or a time period uh it's not free, right? Uh I talked about this from the perspective of like high performing individuals where they think that they're helping.
I've talked about this from the perspective of my CTO where I used to work would like got to get through that light. um he would get more stuff done like he would kind of say like well I did it because no the team wasn't busy and then now it's like okay but you've created more work for people because we can't just ship what you have. Um so as long as that's like low effort and it's not time critical then I think it's not such a big deal. Um, but at least to get the code done, have an LLM do it. So, I think that's one class of issue. Um, I think there's classes of work that are like migrations or like package upgrades and migrations that maybe uh like I'm hopeful this is the kind of work that can just be completely taken care of by agents.
Um, we were talking about this on the dev leader live stream on on Monday. Uh, bit of a tangent, but um, on the stream we were talking about the fact that, you know, when we're using agents and stuff to program, like it seems kind of ridiculous that something like security isn't something that is like expected from from these agents, right? Like we all know at this point, at least at the time of recording, that when you're having like if you're vibe coding or like you're having agents build stuff for you, the security seems to be like a non-existent thing, right? Like you've heard the horror stories about people leaking secrets and all whatever else on the internet. And so I think a lot of us now like if you're aware you're like well I should not rely on the LLM for anything security related. But like doesn't that seem kind of ridiculous?
like for these companies that are building tooling for developers, like shouldn't shouldn't the models have like I don't know like I don't know the right terminology, but like if we're using existing models, can they fine-tune them for like security or like I don't know just why isn't that like number one thing baked into LLMs for for programmers? And I was thinking like why that relates to this migration stuff. It's like well this like migrating things like you know to a different library usage or upgrading versions on things. This is a a super common developer pattern and it sucks the life out of software engineers. It's crazy. Um, you know, I had even at Microsoft, my previous team, I had someone working on a migration for over a year. Good project for him to like to own end to end. But like, man, that's that's migration. That's not that's one person working on something that has to get done.
There was there's no it's not getting done like we need to because the infrastructure is changing. But that's one human being just on my team who basically almost full time was dedicated just to migration. That seems like silly that we have scenarios like that. Not that like he did an amazing job on it, but to me it seems silly that we have scenarios like that. And I'm hopeful that like that's the kind of thing that LLMs are and agents are just way better at doing. Um so I hope that's something that gets you know eradicated or at least minimized. Um, I think there's probably prototype work, which this one's kind of interesting, right? Because I think that the other ones I've been talking about so far are probably not exciting for developers. like probably developers would be pretty happy if like they never had to do like a package upgrade again and like go solve all the issues.
Um, but for something like prototyping, I actually think that a lot of people like the idea of getting to play with new things and try it out. So this one I think is going going to be heavily influenced because we already see this like a lot with especially non-technical people or less technical people that are able to get prototypes out of things very very quickly and um like they make the mistake of then shipping it. Um, but if we if you consider it a prototype so that you can see something functioning end to end or or mostly right like I think that's a huge win. Um, now the this one's weird because I think that like some people like that like let me time box it, let me go explore some technologies. So, I don't know if this is something that will be fully given up, but could you imagine like I don't know if you've done prototyping before.
For me, this is something I did for a large part of my career. Uh even to this day, like given my time at Microsoft versus a forensic company, I like over half my career is still in prototyping. So, um, when you're prototyping things, you can be in situations where you're just trying to prove if something's technically feasible. And maybe you don't need a bunch of uh variations of it. You know, as soon as you can prove technical feasibility, cool, like your your work's done on the prototype. You might have other prototypes that you're doing where you're you're vetting technology or vetting packages and you do need multiple implementations to kind of compare and contrast and could you imagine giving co-pilot or whatever your favorite AI agent system is uh a task to go like implement this but use X implement this but use Y and
then you can like it's not that there's no work to do but you can go do the analys analysis after see how it looks blah blah blah like I just think that this space because it is already being heavily influenced and there is a lot of value I I don't see that going away but I also think that prototypes are something that a lot of you know software engineers like like to look forward to um because it's potentially new it's potentially exciting uh which is great uh now the Their downside with prototypes that I think developers do struggle with is like get ready to throw that code out, right? A lot of developers don't like that I worked on this. It's my baby. It's like yeah, but the goal of it was just to prove or like to get an answer to a question. We don't need it now.
We have the answer to the question. Sometimes the prototype lives on, but so prototyping is one area I think it's going to be heavily influenced. maybe not displaced though. Um, I like I'm also hopeful. Again, this is I don't know if this is a prediction so much of a a wish, but I talked about this on other videos already, but I love the idea of having like I don't know, like around the clock little code maids that go around and just like clean up your code base and keep it from deteriorating. Um, I don't know if this works in practice for a few reasons. One sec. Oh my god. Okay. Um, I've said in other videos, and I I still stand by this, that any code base that you have over time, right, if you're continuing to add to it, even if you're trying to refactor it and keep things tidy and and everything else, over time the codebase will rot.
I don't think people like that idea, right? Like, no, it won't because it just means you're not refactoring and keeping it tidy. It will rot over time. to varying degrees, right? It's going to rot because you didn't plan for everything. And then when by the time you have to go refactor things, you might not be able to go, you know, accommodate for every possible variation of things you have. So, you're always going to have these like weird outlier scenarios. Minimizing them is great, but over time, these grow, and that's just a reality. Uh, it doesn't mean it's not livable. When I say it's rotting, I don't mean like it has, you know, it's now the plag and it's terrible. I just mean that like the truly the the quality of the code, especially in areas that aren't really being touched will degrade, right? You're going to have these patterns that are left behind from like seven years ago and you're like, we don't really like that, but like whatever, right?
We're it's fine. like it's clearly not that bad because it's everything else is still working. So, sure, but I'm hopeful that we can have sort of around the clock agents kind of working through our code bases to to chip away at this kind of stuff. I say that I don't know if that works in practice for a few reasons. One, like, can we get there with AI agents? I think so. I think we're so early right now. Like it's it's kind of silly. Like I complain about some things that like Co-Pilot's not doing or Cursor is not doing. Um because I just have these high expectations, but I'm like, man, it's only like we're just at the beginning of this. Um so I think the AI agents can get there. I don't know if it works in practice because it's technically more changes, right?
So, if I was already saying, you know, you as your own maintainer of your code base, it's going to rot anyway, does that mean that AI agents can actually solve that problem? I don't I don't know. Um, but I so I don't think it solves it. I think that it might help and I would hope that it helps significantly because instead of you having to go I don't have time to go back and clean this up. Uh you know classic thing in companies where you know the software engineers complain because there's no time for tech debt. But like what if you didn't have to trade that? What if you could have AI chip away at the tecta? I think Matt would be really cool. Uh I talked about this already, but to give you like on a different video, but to give you another example in Brand Ghost, which is the social media uh content scheduling and posting crossosting platform I'm building, there's there's architectural drift, right?
Um, it's a heavily plug-inbased architecture and that means that every time I go to do like what I would consider a vertical, so a new this new social media platform, every single time and there's like 20, what I do is I realize like, hey, there's some other way that I would like to improve on this from last time or when I'm integrating this, it's slightly different. So like my my patterns that I've tried to make generic this whole time, they don't seem to cover this case quite well enough. So then I, you know, I make the new implementation like I consider a little bit more. Now there's more insight. But if I were to go back to the first plugin, which would have been like LinkedIn support, it probably has compared to the other social media platforms the oldest architectural patterns associated with it. And over time, like absolutely I've gone back and I've like upgraded some of them that matter and others I'm like, it's just going to be drift for now.
But imagine if you could keep track of this and have AI chip away at it and you could just reduce or minimize your architectural drift. I hope that this kind of work is stuff that will get eliminated. So these are all things that I'm thinking of, but it's not like this type of role. Um, on that note, and just to wrap it up because I got to CrossFit, I think that I think that people that are not leveraging it, leveraging AI in some way are probably going to find that they're like the world around them has changed. So this is also why like I am trying to use AI agents like even in my my IDE when they're frustrating me because I don't want to just stop and then five years go by and I go oh crap like I fell behind. So I'm trying I'm trying to keep track of these things.
I'm trying to make it part of my flow. Um things like GitHub Copilot with pull requests absolutely gamechanging. I have a contact at Microsoft. I'm going to see if I can get uh some more content made uh on this feature. Um my my video on my main channel, my video editor is out right now for some family stuff. Uh but I have a few videos pending on this. Like they're uh they're done for my side, but they're not edited. So, got to wait. But I'm going to try to crank out some more. And I'm I'm going to ask this person if there's like, you know, features they want me to highlight, especially if there's new stuff coming. That would be super cool. But anyway, that's my answer to this. Thank you for the question. If you have your own questions, leave them below in the comments or send a message to Dev Leader on social media.
See you next time.
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- Which software engineering tasks are most likely to be displaced by AI according to the video?
- I believe that tasks involving quick fixes, such as small bug fixes or minor feature enhancements that don't add significant value, are likely to be displaced by AI. These low-effort, low-priority tasks can be handled by AI tools like LLMs or Copilot, allowing developers to focus on more critical work.
- How might AI impact the process of software migrations and package upgrades?
- I think AI agents have great potential to take over migrations and package upgrades, which are common but tedious developer tasks. For example, I had a team member spend over a year on a migration project, which seems inefficient. AI could automate much of this work, reducing the burden on engineers and improving productivity.
- What is the potential role of AI in managing codebase quality and architectural drift?
- I'm hopeful that AI can act like around-the-clock code maids that continuously clean up and maintain the codebase to minimize rot and architectural drift. While codebases naturally degrade over time, AI agents could chip away at tech debt and help keep code quality higher without requiring developers to sacrifice time on manual refactoring.