Author: Juan David Yepes – Software Engineer
INTRODUCTION
As Artificial Intelligence continues growing exponentially, the question on many people’s minds is whether it will replace their job. Everyone, from CEOs to junior professionals, has the right to be concerned about the potential impact of AI, as we continually witness new AI technologies performing tasks we never thought possible, even in futuristic films.
As a software developer, it’s essential to recognise that AI technologies can already generate quality code. Therefore, in this article, we will examine the current state of AI in software development and identify how we can use this to our advantage.
The current state of AI
The current state of AI in software development is quite promising. AI technologies such as ChatGPT, GitHub Copilot, Open AI’s Codex, AlphaCode by DeepMind have been developed to generate code automatically, analyse code for bugs and vulnerabilities, and even optimise code for better performance. They are already being used by some companies to improve their software development process. The latest one is GPT-4, which is a big step in performance.
Since the launch of GPT-4, people have used it in exciting ways such as developing games with just a few prompts, generating HTML from an image, creating an app with a repo, finding breaches of security in a code and many more things. Also, its achievements in the tests they run for AIs showed that there is still a lot of room for improvement.
Another tool that is very close to developers is GitHub Copilot, which launched in October of 2021. It autocompletes while you code or gives suggestions when you write an idea. Some conclusions from people who have used it, for example, Mark Seemann, a Danish developer, is that it is still in an early stage.
For developers, it is not necessary to save time typing; the time is mostly spent researching, for example, API documentation, and that’s where it can make a difference in saving time. But there can be errors that are difficult to find and end up being more of a waste of time. (Seeman, 2022).
New skills that developers will need
To remain relevant in the field, developers need to acquire new skills that complement the work of AI. For example, they need to focus on problem-solving, critical thinking, and creativity. These skills are essential in ensuring that the AI-generated code meets the project’s specific needs.
Additionally, developers need to be able to understand how AI technologies work and are being used in the development process. This includes identifying the limitations of the technology, as well as how to optimise its output. A good understanding of AI will also enable developers to collaborate more effectively with AI systems rather than seeing them as competitors.
Another crucial skill for developers is the ability to manage data effectively. With AI, large volumes of data are processed at incredible speeds. Developers need to know how to work with this data, including how to extract, process, and store it. Additionally, they need to understand how to use AI-generated data to improve the quality of their code.
Finally, developers need to be able to communicate effectively. As AI technologies become more prevalent in software development, it’s important for developers to be able to explain the limitations and capabilities of AI to non-technical stakeholders. This includes being able to explain how AI technologies are being used in the development process and how they will impact the product.
How to use it as an advantage?
Despite the concerns about AI replacing software developers, it’s essential to recognise that AI technologies can be used to the advantage of both the industry and the developers. For industry, AI can be used to automate routine tasks, thereby increasing productivity and efficiency. It can also be used to identify and mitigate bugs and vulnerabilities in code, leading to more secure software. Additionally, AI-generated code can be used to quickly prototype and test new ideas, reducing the time to market for new products.
For developers, AI can be used to augment their skills and capabilities. By automating routine tasks, developers can focus on more creative and complex tasks, such as problem-solving and critical thinking. Additionally, AI can be used to assist with research and development, allowing developers to quickly prototype and test new ideas.
With the current technologies and talking more specifically in the day-to-day work, with ChatGPT, you can ask for anything related to code. Still, there is a chance of being wrong, so here you should try to use it carefully and as a second set of eyes that could give you a different perspective rather than the absolute truth.
A simple way of using it, given by a senior software engineer, Chris McClure, is doing a code review, this way it will help you analyse a piece of code and maybe provide some suggestions, also generate small pieces of code that you are able to understand and modify at your will.
Code review ChatGPT
Use it as a tool to troubleshoot and solve errors that you are not able to find. Usually, you might use Stack Overflow; this can be a suitable replacement in some cases where you don’t see the answer or a lack of explanation, which is key for learning. Ask to translate code from one language to another; you might be an expert in a specific language but, in some cases, can’t solve the same idea in a different language.
Prompt to translate from C#
Result of translation in Python
Some recommendations when using code in these applications are to avoid giving keys, secret or personal information, or anything else you wouldn’t want to be leaked online. Never fully trust this information; always double-check every piece of code and text.
CONCLUSION
In conclusion, we are still far from being replaced by an AI given the challenges that face the types of projects that developers participate in; however, it is essential to acknowledge the changes that will happen in the industry and how the developers will have to adapt to be competitive and remain productive in a team. From now on, the best thing we can do is stay on track with the latest technology and experiment with AI to find its potential and understand how it can make our job more efficient.
REFERENCES
- CloudGuyChris. (2023, 01). 7 Amazing Uses Of Chat GPT For Software Developers. Retrieved from https://www.youtube.com/watch?v=WmY5NFi-nFw&ab_channel=CloudGuyChris
- Gazar, E. (2023, 01 07). Medium. Retrieved from https://ehsangazar.com/my-experience-with-github-copilot-2d6903870450
- Seeman, M. (2022, 12 05). Ploeh blog. Retrieved from https://blog.ploeh.dk/2022/12/05/github-copilot-preliminary-experience-report/
Juan David Yepes – Software Engineer
EQUINOX
what’s ai?
Discover what is AI and how it will become revolutonary in the industry