Since the arrival of transformer models, large language models have burst onto the scene, driving what’s known as ‘generative AI’. Rather than only using models to interpret patterns or predict solutions, generative AI is fundamentally creative. As a result, generative AI has invigorated industries is rapidly transforming job roles.
In software development, tools like Copilot, CodeWhisperer, and Tabnine are capable of generating code suggestions, either from scratch via prompts, or from existing partial code. A recent Gartner poll shows that 70% of executive leaders are investigating generative AI, and 19% are already in the pilot or production stage.
What are the benefits of generative AI in software development?
Generative AI is a clear productivity booster, offering impressive speed gains in a variety of tasks. McKinsey research shows that documenting code functionality and writing new code can be completed in nearly half the time, while code refactoring takes two-thirds less time. GitHub Copilot, a popular generative AI tool, has seen widespread adoption, with over 20,000 organisations using it for faster development and achieving real productivity results, like a 25% increase in developer velocity for Duolingo’s engineering teams.
What are the implications for software developers?
As ever, automation gives rise to the question of redundancy. One might assume that with tools capable of producing code at a far quicker rate than human developers, the role of a developer may start to vanish. However, this is far from the truth, for two main reasons. The first is Jevon’s paradox; increased efficiency means increased consumption and demand. There is likely to be increasingly more work than ever before for software developers overall. The slight caveat to this is that it’s possible that this will lead to a fall in wages for more junior software developers.
With AI generating code and automating routine tasks, developers will focus more on complex problem-solving and overseeing AI-driven processes. This change highlights the importance of new skills and roles in the industry:
A broader array of skills
The shift away from manually writing code creates an emphasis on solutions architecture and full stack development. The ability to zoom out, oversee the entire system, and design solutions effectively will be a key skill moving forward. It’s important that software developers understand the limitations of generative AI. The latter is suited for simple tasks like optimising code snippets, as opposed to more complex tasks.
It’s also worth noting that the likelihood of generative AI tools producing high quality code, is very prompt dependent. Software developers need to become excellent prompt engineers, to ensure the correct outputs are produced.
Quality assurance and ethical practice
Traditional developers retain a crucial role in curating training data and scrutinising AI models for discrepancies and anomalies. Human oversight remains indispensable, generative AI tools are entirely capable of producing erroneous coding suggestions, necessitating developers to correct and debug the code manually. This is why companies would rather invest in their employees becoming more adept at AI, than replace them.
Additionally, the emerging role of AI ethics brings a focus on ensuring unbiased and ethical AI outputs. It’s likely that, synonymous with data protection practices, AI safety and AI ethics will begin to be legislated for. This means developers will need to be equipped with the skills to review outputs from an ethical standpoint.
Emphasis on ML
Generative AI is built upon large language models (LLMs). That is why developers ought to have some comprehensive understanding of the underlying machinery that drives it. Similarly, although generative AI tools are trained on vast coding repositories, for more niche or specific cases, it may be advantageous to fine tune models on more relevant codebases. As a result, overall, developers would benefit from acquiring proficiency in AI and machine learning concepts… Including natural language processing (NLP).
How does generative AI impact the industry as a whole?
- Expectations of end-users. It’s likely that as generative AI becomes more mainstream, the expectations of non-developers will change. As a result, it’s likely that end-users will expect quick results, and this may place pressure on developers to churn out code rapidly. The temptation of speed over quality is not a new one, but it may be exacerbated.
- Empowering Non-Developers. As generative AI tools become more sophisticated and user-friendly, non-developers with limited coding knowledge will be able to generate basic applications independently. This democratisation of app creation could reduce the need for developers in some cases, allowing other professionals to build simple applications tailored to their specific needs.
- Challenges of “Big Code”. The adoption of generative AI in coding may lead to an ever-expanding codebase, often referred to as “Big Code.” This accumulation of code can raise concerns about code sprawl and technical debt. This will require effective management and organisation strategies to maintain code quality and efficiency.
In conclusion, generative AI is a game-changer for the software development industry, offering enhanced productivity and a shift in developers’ roles and skill sets. The integration of AI tools into the development process will foster innovation and automation, driving the industry towards more efficient and adaptive software solutions.
However, this transformative shift also brings challenges in managing the ever-growing “Big Code”. In addition, one must figure out how to meet the rising expectations for adaptable applications in today’s fast-paced digital landscape. To succeed in this evolving landscape, developers must embrace AI technologies, enhance their skills, and strike a balance between human oversight and AI-driven automation to deliver high-quality software products.
—
Are you looking for software developers who stay up to date with the latest AI developments? Specialists who continuously improve their skills? Look no further. Contact a PL Talents expert today, and we will connect you with the right candidates in no time.