A few people have remarked to me recently that they think software developers are going to be replaced by AI. You may have seen Devin, an AI developer, that tends to play into this idea. However, I think we are a very, very long way from developers being automated out of a job. I just watched a very detailed debunking of Devin which prompted me to write some thoughts. Firstly, the hard part of software development is figuring out what is actually needed. Often customers and managers ask for things that make no sense. A back-and-forward game, figuring out what it is they actually need, is the most valuable part of the development process. Just building what someone asks for is almost always a mistake. They may have badly formulated their request, they may be unaware of some critical details or they may just not realise there are different or better ways to solve their problem. As someone who uses AI in software development I can state that it’s a huge productivity benefit. But it also has big limitations. 50% of the time it’ll take me down the wrong path and it’s my job to realise that and ignore the AI when it happens. It is a useful tool, but it’s nowhere near ready to build entire systems on its own. Things like Devin suggest that AI is further ahead than I personally think it is. The detailed debunking video I just watched shows that Devin is fixing bugs (impressive) but also that the bugs it’s fixing were ones it introduced into a very simple task (not so impressive). This doesn’t surprise me. I see this pattern a lot - the AI does something stupid, I tell it I got an error and it says “oh, you are right - the code I gave you is wrong”. It’s smart enough to suggest a solution to a problem but dumb enough to, half the time, introduce more problems as it fixes the original bug. A human can recognise this death spiral and ignore the AI. But an AI on its own will just keep fixing and introducing more problems. What AI does today is help lessen the need to remember syntax, to automate some things like writing simple utility functions, help auto suggest variable names. It removes the drudgery elements of writing code and it improves productivity. But the idea that someone will be able to just say to the AI “build me a product catalog website” is farcical. For a long time yet it is going to be a tool to help developers. It will get better and help them more over time, but it’s unlikely to replace the developer any time soon IMHO. And if it does replace developers, it’ll probably also replace those making the requests as well! But I think that’s a long way off. So let’s roll back the hype. AI is a useful tool that can be a big productivity benefit. But it’s not about to automate developers out of existance any time soon. And let’s not forget that “yes I know that’s what you asked for, but have you considered…” is often the most valuable conversation a developer ever has.
I think the first thing that will and —in my experience is—happening now is what might be called “phantom replacement”: you might have needed a team of 5 in 2021 but now you probably only need 2-3 as those 2-3 people can do the work of the 5 before. I think that’s what you’re also experiencing Duncan Anderson right? So the market will be affected because the numbers have changed. Excepting growth of course.
I agree Duncan. At least for now AI is still very much a technical play. Someone still needs to understand it and put it to work. The nature of software development is clearly changing, but software developers are needed more than ever in my opinion.
Founder @ Barnacle Labs
8moHere’s the Devin debunk video: https://www.youtube.com/watch?v=tNmgmwEtoWE