DonTheDeveloper Podcast

Agentic Coding IS NOT Software Engineering

Don Hansen Season 1 Episode 210

Agentic coding isn't software engineering. If you've been coding for a while, it doesn't give you the same rewards. Yet some developers are all too eager to let their skills atrophy and outsource the fun parts of being a developer to an AI, instead of fixing the root issue - their skill issue. This is mainly targeted towards junior developers, but a lot of this applies to more experienced developers as well. Or it will, once they let their skills atrophy.

---------------------------------------------------

👾 Join Discord - https://discord.gg/TpQe2k8Ab3
💻 Learn Frontend (20% off): https://scrimba.com/the-frontend-developer-career-path-c0j?via=donthedeveloper
⚙️ Learn Backend (25% off): https://boot.dev/?promo=DONTHEDEVELOPER
🐱 Learn NestJS (free) - https://scrimba.com/nestjs-c0n7djgjma?via=donthedeveloper
🧠 Advanced Coding (40% off) - https://app.codecrafters.io/join?via=donthedeveloper
👥 1 on 1 Mentorship - https://cal.com/donthedeveloper/mentorship
🐦 Follow on X - https://x.com/thedonofcode

Disclaimer: Some product links are affiliate links which means if you buy something I'll receive a small commission at no extra cost to you.

Don Hansen:

If you enjoy agentic coding more than you do coding without AI, you don't really like coding. Stop telling people you like coding. Of course, you don't like coding. Not nearly as much as you thought you did. Agentic coding is so I put more time into really trying to utilize AI to build out certain features. I have apps that would greatly benefit me to build out with AI, and I just hate every bit of it. So what is agentic coding? What does that mean to a developer? That means several things. Um, one, I don't know if you've like some developers just work in a very small shop and they don't really do code reviews. They don't get code reviews. So maybe you're not used to this. But if you are working with a team that does code reviews, I don't know about you, but I would rather be building features than reviewing other people's features that they built. I don't like code reviews. I do them to help others, but it's not my favorite part of being a developer. It's one of those parts where it's like, you just gotta do it. Um, I don't really like setting up the feature in local and testing it out. I don't care. I like building my own features. I like building stuff. You are a code reviewer with agenda coding. You are constantly reviewing the AI's shitty ass code. Unless you keep it very local scope and do it little by little by little, um, have really good spec files, and we'll talk about that in a second, but you are a code reviewer. That's all you are. You're not a developer. There's so much more to being a developer than just code reviews. And if you honestly just stick to code reviews with agenda coding and having it build out features for months, you're gonna get extremely rusty. You're not going to be a good software engineer. A lot of people that are leaning on these AI tools extremely heavily as a software engineer are going to atrophy with skills that are still relevant. And you really need to think to yourself: if all you like doing is code reviews because you love agenda coding, why are you trying to become a software engineer? It's okay to be a little bit tech savvy and kind of be, you know, go towards a project management route, indie hacker route, and just get stuff out quickly. Well, okay is maybe not the right word. It is a path that you can choose. Why are you trying to become a software engineer? There's so much depth to becoming a software engineer to be competitive right now. There are other options. I'm being serious about this. If you truly love agenda coding, you might be going down the wrong path of trying to become a software engineer. So another thing to make agenda coding very effective is creating really good spec files. Um, product managers can do this very well, especially tech savvy, technical project managers, they can do this very well. They're used to building out a lot of issues and they like that sort of they they like the specs, they like that aspect of project management where they really have to think through and outline all the pieces of the features, all the pieces of the solution, because they've very thoroughly identified the problem that they're trying to solve, right? If you need to build out a spec file, you're probably going to start with something a little bit more generic, but you have to understand the problem that you're trying to solve, even think about how the solution is broken down. When you deliver this to AI, it can be much more effective in generating code. But you're a project manager. I don't mind creating tickets, I don't mind breaking things down. I actually find that helpful sometimes, but it is an aspect of being a software engineer. And sometimes something you don't really have to deal with, especially kind of like junior-ish level. Um, but sometimes you have very heavy project management where they are doing a lot of this for you. I don't think I would thrive in something like that. I like kind of being, I like being close to the issues that I'm trying to solve. I like really understanding the user's complaints and their frustrations. But you want to be really good with agenda coding, you need to be a good project manager and you need to love code reviews. Those are the two main things. Both of those, to spend most of my time on both of those, sounds horrible. That sounds so fucking boring. I don't know how anyone that says they love software engineering that wants to be a software engineer would settle for that. It's like the worst parts of being a software engineer, like some of the best parts are just solving really, really hard challenges. If you're using AI to try to debug your code, what are you doing? That's fun. Why aren't you having fun with that? You're going to grow and get faster eventually, but you are just outsourcing the debugging part of it, which is very often lackluster. But, you know, if it's scope locally, it doesn't require a ton of context. It doesn't require a lot of different pieces of your code base. It can help, it can solve some bugs pretty quickly, but don't you enjoy doing that? It's not an excuse that AI does it faster. If AI does it faster, it means that's a skill issue. AI is not that good, especially with a lot of context. It's not that great right now. And if it's faster than you, that should be a signal that that's a skill issue that you can improve and get better. Don't you want to get better? Because if you don't, you are exactly the type of developer that will be replaced by AI. You just are. I don't understand how people have they just so easily adopt this mindset of accepting such a low skill level for yourself. To me, that's such a pathetic thing to accept. Why don't you want to get better? Why do you want to outsource your intelligence, your problem-solving ability, your ability to code to something else? What you're just handing away your job. Like I it just doesn't make sense to me when software engineers push agentic coding. If you're an indie hacker, fine. If you're a project manager that is tired of working with software engineers, fine. Like I I get those. I guess this is it's just a rant. I here's what I love about software engineering. And I think it aligns with a lot of other software engineers, at least that I've worked with. I love organizing a code base that grows. I like trying to make it scalable. I like making trade-offs with implementations and owning that. I like facing the demons that I've created with one of my implementations, getting pissed off at myself or doing something so dumb, and then owning that and getting better from it. I don't care about correcting AI. I'm not helping anyone by doing that. I feel like it's such a waste of time. I don't mind code reviews for developers that need to grow. And I mean, code reviews for developers that are better than me, it's still helpful. More eyes on something is still helpful. A different perspective is still helpful, but we're all kind of just helping each other grow and build better stuff. I don't like mentoring an AI. It's not human. I don't give a shit if it gets better. I don't care about AI. I don't care about it growing. I like mentoring. I can't mentor an AI. That's not mentorship. Like when you mentor junior developers, there's fulfillment in that, there's rewards in that. Like I feel rewarded for seeing a junior developer grow and being a big reason of why that happens. How can you care about investing so much time into trying to improve your AI? Why don't you just improve another junior developer? I just it it it feels so weird with the direction that we're going with this blind acceptance of something that isn't human, right? And that's not even that good. Like if it would replace software engineers, which it I it was supposed to, what, two years ago? I I don't even know at this point. Fine, software engineering can evolve, but LLMs after the release just continue to get worse and worse and worse and worse. I don't like fixing all the bugs that they create in my code base. It's a pain in the ass. How is this a pleasurable experience for people? You want to know why? It's because the people that are pushing agentic coding are either extremely pressured by management, but likely have a skill issue that they don't want to improve. They're just desperate to push out something fast. It doesn't matter that it's scalable or good code, but it works. And there are product managers, there are executives at companies that that is all they care about. And as software engineers, we've had a fight against that for a very long time. Because we have to continue to clean up that fucking garbage over and over and over. But if you want that in your code base because you feel pressure, fine. But if you step outside of that, because I think that's kind of niche territory, at least at the moment, when you step outside of that and you're building something with a team and you're a good developer, you you realize how unmaintainable this becomes. When you are leaning heavily on agenda coding, you realize that it is just producing a very unscalable application, very unmaintainable application, and that snowballs over time, and your experience gets worse and worse and worse. The people that are pushing for agenda coding, and I think this is really important, are people that don't care to be really good developers. They just want to push out a product quickly. That's it. They don't really enjoy coding as much as you think they do. They don't like being a software engineer as much as you think they do, but they might be loud, they might have a lot of followers. But these types of people, they're product managers. They just see coding as a means to an end. And I've seen this in a lot of my comments. It's like coding is a means to an end. I've seen that comment over and over and over. I know exactly the type of developer, they're not a developer. I know exactly, but they claim they are. I know exactly the type of person that says that. I've met a lot of those people. They aren't going to dive deep. They're not trying to become a really good software engineer, despite what they tell you, but it's just noise on the internet right now. So if you truly enjoy coding, if you enjoy the craft of it, if you enjoy the creativity of it, if you like architecture, if you like seeing your shitty code improve over time, if you like helping other developers and seeing their code improve over time, and you just respect yourself enough to want to become a good software engineer in this field, you want to lift others up. I promise you, you are not alone. There's just so much noise that is completely misrepresenting what software engineering is. It's misrepresenting who really great software engineers are and how they got there. I promise you, agentic coding is not the way, and you are only going to shoot yourself in the foot if you are actually serious about software engineering. Please, please put down the AI and fix your skill issues.