Will AI make Software Engineers obsolete?
Oli Deakin
Technology enthusiast and strategist, I love to see and make change happen
Even if you don't work in the world of technology, you've probably not missed a little thing called "Generative AI" that has been in the news a fair bit recently. It feels like stories about ChatGPT, OpenAI, Gemini and other names in the field are mentioned daily and there's a lot of speculation on what these tools might be capable of and, in particular, whether jobs will be wholesale replaced by them.
Today we'll take a look at this concern with a specific lens on Software Engineering.
Why is there so much excitement?
Recent advancements in Large Language Models have resulted in some really amazing productivity tools for Software Engineering. The biggest leap forward has been the ability for humans to write a description of the behaviour they want in natural language and have the model return back source code that implements it.
Although it's not perfect (more on this later), the ability to go from zero to working code in this way has lowered the bar to entry so much that almost anyone could start to use these tools to code. It takes the ability to program out of the domain of professional engineers and puts it in the hands of the masses. Want to write an Excel macro to automate something in your finance spreadsheets? Ask AI. Want to write a fun game in Python that your kids have come up with a concept for? Ask AI. Want to draw a flow chart and have it give you back a working application? Ask AI!
With this incredible leap in AI capability there is a perfectly sensible question being asked - are Software Engineers on a path to extinction? Can anyone become a programmer now and are humans even needed at all?
Time to look for a new profession?
Well, no, not yet...
The thing is that Software Engineering is about much more than just knocking out code. While AI has got pretty good at the Software bit of the job, it's not so good at the Engineering - and this is where the most important value of the craft comes from.
A recent study of code in GitHub (about 153 millions lines of it) over 4 years shows that there has been a much greater amount of "churn" since Copilot and other code writing AI tools were released - churn is code that has been written and then had to be effectively re-written within 2 weeks because it wasn't up to scratch. There are also indications that the amount of copy-pasted or duplicated code has increased. These can't necessarily be blamed wholesale on AI tools as it is unknown how these code repositories were developed, but there is a substantial uptick in these negative code attributes since their introduction and it's understandable why this would happen.
As described earlier, the bar for entry has been reduced and while this is excellent on the one hand, it is likely to result in the above outcomes. Those who can now use an AI tool to code (almost anyone) but don't know how to engineer code well (almost everyone) will inevitably produce poor code because neither they nor the AI tooling have the skills to scrutinise the code and improve it.
领英推荐
To illustrate this further, here are some of the things a Software Engineer will consider as they write code that current AI models are not capable of:
An AI simply cannot understand these concepts, why they're important and how code should be written to avoid these - and neither does the entry-level programmer who has just picked up the tool to generate something quickly, which is likely why we see the proliferation of poor quality code occurring.
You might ask if this is really a problem. Again, for very simple applications it might not matter. But as you progress to more complex pieces of code, maybe a web site for someone's online shop or a parents' portal for a local school, the importance of security, robustness and quality becomes far more obvious. The risk is that novice programmers, with confidence bolstered by the power of their tools, start putting services on the internet with little consideration of the impact of them being hacked or becoming unavailable.
AI! Huh! What is it good for?
Not "absolutely nothing", but it's good to be clear on where it shines and where it doesn't!
While AI code generation provides a fantastic productivity boost for the novice and professional alike, as we see above that really is where it reaches its limits. I predict the trend towards higher volumes of poor quality code will continue as AI tools become more and more widely used (the bar is lowered).
But I also predict that the practice of Software Engineering has a long future with humans bringing the key value to the process. I would strongly encourage anyone in the field to take up use of some of these tools and see what productivity improvements you can gain from them. I'd also encourage you not to consider changing profession quite yet, as we're a long way from being obsolete!
[Header image designed by Freepik, an awesome AI image generator]
VP of Technology @ Cirium | Results-driven leader | Inconsistent swim-bike-runner
7 个月I find this topic similar to the discussion on whether AI will take over image and video production. No doubt it will be a useful aid, but until it can properly understand the laws of physics and the distinctly human concept of beauty, it will never truly replace humans. The laws of good software engineering are more complex and enigmatic than the laws of physics and beauty combined ??
Head of Data Science at Cirium
7 个月I think jobs evolve, but AI won't make anyone with specialised knowledge obsolete. I welcome the emergence of AI because I've seen so many instances of incredibly smart people spending inordinate amounts of time on things that aren't using their skills and expertise and ultimately are necessary-but-low-value. AI can pick up that load, but despite its appearance of intelligence, isn't anywhere near smart enough to replace real, human intelligence and expertise!
Scaled & Sold My £25M Recruitment Business ??NED ??Now I Mentor Recruitment Leaders To Do The Same ??Host: Purpose-Led Leadership Podcast ???Speaker
7 个月I think if we learn to work with AI, rather than battling against it, variations on every job will still exist.