Risks and benefits of generative artificial intelligence in software development

Join us in Atlanta on April 10th to explore the security workforce landscape. We will explore the vision, benefits and use cases of artificial intelligence for security teams. Request an invitation here.


As a 20-year coding veteran and CEO of a company serving software developers, I had a reflexive skeptical reaction to early predictions that generative artificial intelligence would eventually render most software development skills obsolete.

While I’m still a bit of a skeptic, my experience playing with Gen AI in my day-to-day development has pushed me to open my mouth to what I think is possible. AI will change software development in some pretty fundamental ways, both for better and for worse. Let’s start with the positives.

End of hard work

Developers spend an inordinate amount of time on details like syntax and punctuation. A lot can (and should) disappear. Instead of studying manuals or compiling snippets from code exchanges, they will describe the desired outcome and receive perfectly formatted code in response. Large language models (LLMs) can also inspect existing code to detect typos, punctuation errors, and other details that drive developers crazy.

Rediscovering the Frame

Software frameworks like Spring, Express.js, and Django have led to massive productivity gains by abstracting away the mundane aspects of software development, setting consistent guidelines, and delivering pre-written code for common functions. Gen AI will increase their value by creating standard code, automating repetitive tasks and suggesting code optimizations. AI can also help customize frame components for a specific project.

VB event

AI Impact Tour – Atlanta

Continuing our tour, we head to Atlanta for the AI ​​Impact Tour stop on April 10th. This exclusive invitation-only event, in partnership with Microsoft, will feature discussions on how generative artificial intelligence is transforming the security workforce. Space is limited, so request your invitation today.

Request an invitation

The rise of the generalist

The stock in store for many developers is their expertise in a particular language. Knowing Python or Ruby won’t matter as much when machines can express code in any language. Similarly, specialized back-end skills like code testing and optimization will quickly migrate to AI-generation models. The most valued skills will be what machines don’t do well, such as building compelling user interfaces, translating user requests into specifications, and inventing new ways to support customers. Software “poets,” or people who come up with big ideas about what can be achieved with code, will be in the spotlight.

A revolution in testing

Gen AI is built for software testing. The developer writes the code and the bot creates as many test scripts as you want. A recent IDC survey found that two of the most anticipated benefits of gen AI are software quality assurance and security testing. This will disrupt the DevOps practice of continuous integration/deployment and send many testing professionals looking for new lines of work.

Citizen development on steroids

The current array of low-code/no-code development tools are already good, and gen AI will take them to the next level. For all their automated elegance, low/no coding still requires people to put together a workflow on a whiteboard before handing it off to the software. In the future, it will be able to give the model a hand-drawn sketch of the desired workflow and return the necessary code in seconds.

AI is not a cure-all, though

Despite all its promise, gene AI should not be considered a panacea. Consider these possible drawbacks.

Risk of overtesting

Since the models can throw out tests quickly, we could end up with way more than we need. Over-testing is a common problem in software development, especially in organizations that measure performance by the number of tests the team generates. Running too many duplicate or unnecessary tests slows down projects and creates bottlenecks further down the pipeline. When AI can recommend when tests should be removed, we’ll see a huge unblocking of developers — that vision of gen AI excites me for the future.

Degradation of skills

“I will always choose a lazy person to do the hard work because they will find an easy way to do it,” is a quote often misattributed to Bill Gates. Although the origin of the quote is unclear, the sentiment is valid. Lazy people find shortcuts that avoid the need for hard work. Gen AI is the cure for lazy programmers. This can lead to the creation of bloated, inefficient and bad code. It can stifle the innovation that makes great developers so valuable. Remember that Gen AI writes code based on existing patterns and data. This can limit the innovative potential of developers who may not consider off-the-shelf solutions.

Trust deficit

Gen AI is only as good as the data used to train the model. Poor quality data, training shortcuts, and poor rapid engineering can lead to AI-generated code that doesn’t meet quality standards, has errors, or doesn’t get the job done. Because of this, an organization can lose confidence in the quality of genetic artificial intelligence and miss out on its many benefits.

Now the money question: Will artificial intelligence make software developers obsolete?

Although some headline-grabbing pundits have suggested this, there is no historical precedent for such a conclusion. Technological advances—from high-level languages ​​to object orientation to frameworks—have made developers more productive all the time, but the demand has only grown. The AI ​​generation may corner the market with cheaper basic coding skills, but the bigger effect will be to move the entire profession up the value chain to do what LLMs currently don’t do best: Innovate. Remember that AI generation models are trained on what is already known, not what could be. I don’t expect a machine to design a revolutionary user interface or imagine an Uber anytime soon.

Even so, developers will not see this kind of transformation again in their careers. Instead of raging against the machine, as I initially did, they should ride the wave. The prospect of removing much of the tedium of software creation should excite everyone. The risk that some functions disappear should be an incentive to act. High-quality developers who translate business requirements into elegant and efficient software will always be in high demand. Make it your mission to increase your skills.

Keith Pitt is the founder and CEO of Buildkite.

DataDecisionMakers

Welcome to the VentureBeat community!

DataDecisionMakers is a place where experts, including technical data people, can share data insights and innovations.

If you want to read about top ideas and the latest information, best practices and the future of data and data technology, join us at DataDecisionMakers.

You might even consider contributing your own article!

Read more from DataDecisionMakers

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *