July 23, 2024

The Opportunity and Risk of Artificial Intelligence in Software Development

8base
@8base

Docker's recent AI Trends Report highlighted a few interesting data points about the current state of software development. 

Of 885 developers surveyed:

  • 65% said they view AI favorably, and
  • 64% already use AI in their jobs.

However: 

  • 45% responded that they felt AI was over-hyped, and
  • 23% said they saw AI as a threat to their jobs.

This split succinctly breaks down both the opportunity and risk of using artificial intelligence for software development.

Generative AI is something that, when used properly, has the potential to improve the developer experience. Let's start there.

AI Is A Tool to Empower Developers

Software engineering has evolved over the last several decades to be more conducive to the developer experience.

Methodologies like Agile give structure to engineering efforts, while tools like Confluence and Jira make it easier to manage the software development lifecycle.

Now, we're all familiar with AI code generation tools like ChatGPT and GitHub Copilot. They can reduce boilerplate, speeding up development and freeing up developers to spend more time thinking through complex problems.

There are now also a slew of AI-driven documentation tools, which make it easier to take care of the parts of the job not involving writing code.

The latest generation of AI development tools is taking developer experience to the next level. Archie, 8base's AI Product Architect, solves the problem of ambiguous, incorrect or miscommunicated product specifications.

Archie takes a simple text prompt and turns it into a well-rounded set of product specifications. It helps engineers and product leaders more comprehensively scope and plan projects before the first line of code is written. 

This makes for a much smoother developer experience and results in happy, motivated engineers who thrive on making stakeholders happy.

AI Is Not A Tool to Replace Developers

Of course, a crude reading of the above is, "If I can use AI tools to build product specs and generate code at scale, what do I need developers for?"

Large language models are very good at producing text or code that, at a glance, looks good.

However:

  • AI models are trained on datasets written by humans. An LLM code generator can easily regurgitate incorrect or suboptimal code that an untrained editor might miss.
  • Datasets are old. Software frameworks are continually evolving, but the data used to train LLMs is often — at newest — six months old.
  • Generative AI tools don't "think." They simply return text or images based on content they've already been exposed to.

And that's what it comes down to.

Software engineers are highly skilled workers who are trained to solve complex problems and translate their solutions into machine-readable code.

AI assisted engineering involves using tools like Archie to fully flesh out product requirements, and using code generation tools like Copilot to help write the software.

However, there needs to be a consistent and ongoing QA process throughout the software development lifecycle — which only trained software engineers are qualified to do.

Will AI Result In Job Losses in Software Development?

It's been a trying year in tech, to say the least. According to the tracker layoffs.fyi, the number of tech industry workers laid off this year surpassed 100,000 in July 2024.

But how many of them were laid off due to AI?

The answer is very few. 

A Forbes wrapup from April is the most recent to report on the trend, but they reported that just 1.6% of layoffs were attributable to workers being directly replaced by AI.

Instead, companies are contending with a confluence of factors, from inflation to interest rates, geopolitical instability and investor pressure to pursue AI-focused products.

Of course, opinions are mixed and no one can predict the future, but in a 2023 World Economic Forum survey of 800 global companies, half of them predicted AI to drive the creation of new jobs at their companies in coming years, while a quarter predicted job losses.

To Sum It Up

The future of AI in software development presents both opportunities and risks.

While AI tools like Archie and GitHub Copilot can enhance productivity and improve the developer experience, they are not replacements for the skilled problem-solving that human engineers provide.

As AI continues to evolve, its role should be to augment human capabilities rather than replace them.

Ready to try 8base?

We're excited about helping you achieve amazing results.