Is ChatGPT a threat to software developers?
Toby Parkins
CEO of Headforwards Group creating digital teams, telecoms integration, fintech, public services, CIO Advisory and Fibre Park Digital Academy. Founder of Agile on the Beach, Tech Cornwall, Chair of Tech South West.
Even since I started writing this, ChatGPT-3 has become ChatGPT-4, and Google has announced its own AI chatbot, Bard. We’re going to be seeing more and more of this kind of AI tools launching, and each development will – for a time, worry a few people.?
ChatGPT has taken the world by storm; it reached 100 million users in days as opposed to other technologies, which took months, sometimes years to reach the same sort of level of users, and that's really alerted people to the potential capability of this type of AI.?
There’s been a lot of press around the topic and journalists are concerned about the capability of these types of Generative Pretrained Transformer (GPT). They’re concerned because they can see the potential of a GPT to write like a human, and more worryingly, write?better?than a human. The potential for GPT to replace the need for writers, will certainly alarm journalists and other writers.
In many ways, it’s an evolutionary process comparable to the many advances we saw during the industrial revolution: humans dug up fields with a spade but then horses with a plough attached to them could do it faster. Eventually of course, tractors proved more efficient than horses. And now semi-automated tractors with touchscreen controls are making tractors even more productive.
Since the industrial revolution, industry has introduced Robotic Process Automation (RPA) has been introduced allowing production lines to become more even more productive.?
Of course, we’ve seen it with computers too: machine code was too slow to write, so software languages were developed, then low level and high level languages were created to improve the speed at which code could be created. After that, we’ve seen IDEs created to enable software engineers to write software languages more quickly. And then we’ve seen various frameworks evolve to improve overall productivity of software engineers.
More recently, we've seen things like continuous delivery, and test-driven and behavioural driven development that have been created to improve the quality and the productivity of software development.
In my opinion, ChatGPT (and others) is just another tool to increase productivity and automate a process that without it, would take longer. It will never replace the human element of software development.?
What we have to consider is that ChatGPT works by learning from lots of other, previously completed pieces of work. It’s a very useful tool for improving efficiency and productivity and it needs to be embraced, however, it's only ever going to be as good as what it has learnt. In the future it will be able to significantly improve speed of writing code, but it will also make mistakes, and that’s one area where humans need to be knowledgeable enough to see where it’s got things wrong.
There is a second area of concern. The human brain’s creativity and vision goes far beyond what ChatGPT is capable of. Therefore, the process must start with a human because a human is the only?‘thing’ capable of working out what the business objective is. It’s important to keep in mind that as a tool, a GPT must be managed in the right way to achieve the desired outcome.?
领英推荐
Of course, software itself is another example of automation, and if you're looking to create very effective software, you can automate the writing of it. However, the overall objective and design of a system will still require humans to be able to make decisions based on their experience and knowledge about what the software system will actually do.
How should a tech company use ChatGPT?
At Headforwards, we're looking at how ChatGPT and others can be used to increase productivity.
A software developer typically looks at examples of really great software that everybody thinks is good and gets widely adopted, and is also mindful of the vast array of pieces of software that?aren't?good and?aren’t widely adopted.?
The difference between very good, popular software, and poor, unpopular software, is down to how effectively it has been designed. More specifically, it comes down to how well the team producing it has interacted with the Product Owner and the business during the process of defining the objective and need of a piece of software.
Of course, if anyone can write any software more quickly and more effectively, it’s likely to mean we will end up with lots more being produced; headlines will be grabbed by shocking assertions that humans will be replaced. Actually, the true value of effective software development teams will become ever more important as the volume of software being produced increases.?
The winners in business will be those who identify the business cases and the opportunities to create software that satisfies the needs of people more effectively than poorly designed software.
Software teams and businesses working together need to be innovative and ingenious in how they produce software so that their focus is not on how?much?they will produce, but rather, how much each piece will achieve, and how they will make that happen.??
Helping schools around the world use the power of data.
1 年Thanks for these insights Toby Parkins. As I'm learning web development I'm using ChatGPT to offer suggestions for how to compose particular queries or how to work out a bit of back-end logic. I'm finding it really useful as a learning tool. I agree with you that there will always be a human element to development and this is what most excites me about this technology- the ability to leverage my creativity and soft skills to be a more productive developer in the future.