How developers can work with AI: four steps and four tools

MongoDB Inc

By Wan Bachtiar and Megan Grant, MongoDB *
Wednesday, 13 December, 2023


How developers can work with AI: four steps and four tools

While artificial intelligence (AI) is undoubtedly a valuable ally for tech teams and developers, it also raises a lot of questions: Will AI take over jobs? How much should these technologies be used and how much should still be handled by humans?

These are all valid questions as AI and automation technologies are driving more growth than ever. CSIRO’s 2023 AI Ecosystem Report showed the great pace at which the Australian AI ecosystem is transforming, with businesses generating significant new revenue streams and efficiencies using AI technology.

Many Australian organisations have already reported major wins thanks to AI — in particular, in the software development space. Westpac, for example, recently shared that it was able to improve its coding productivity by 46%, without any drop in code quality.

In this article, we’ll look at how AI can be used to assist developers rather than replace them, the specific areas where it can add value to developers’ work, and finally some key steps and helpful tools developers can use to either get started or optimise their use of AI.

Where can AI actually help developers?

Most employers in Australia are already looking into generative AI, if they haven’t already asked their tech teams to work with it.

But AI isn’t after developers’ jobs as a replacement: it is here as a supplement, with the potential to enhance developers’ capabilities and make their jobs more interesting, provided it is used in an effective and considerate way.

Developers are responsible for a lot of work that ends up being painfully repetitive and monotonous — for example, they spend nearly half of their development time debugging. This is where things like automated code reviews, unit tests, code generation and the automatic implementation of other repetitive tasks can free up time so dev teams can focus on more interesting and complex work.

Additionally, many things done manually during a development process are prone to errors (writing code snippets, auditing existing code, etc). A trustworthy AI tool — for example, an AI code assistant — can help avoid these types of errors and enhance code quality.

Finally, AI tools can be used to interpret, dissect and audit existing code, helping developers make more informed, data-driven decisions. This is where having a database platform with embedded AI functionalities can add a lot of value, by delivering data, insights and intelligent recommendations as a service and on demand.

Four steps and four tools to make AI a supportive friend

1. Align on expectations

It is important to ask these questions: What is the organisation comfortable with when it comes to AI? What’s off limits? What are the strategic goals? Can AI be used in a safe manner, with strong security protocols? Is there any data that should not be put into AI tools?

2. Test small before scaling big

Initiate small-scale testing by starting with the use of AI-powered tools for writing specific code snippets or leveraging AI-assisted suggestions. If these initial stages prove successful, it could justify a phased progression toward the incorporation of AI-powered tools for overseeing complete functions, facilitating code completion, and automating formerly manual and repetitive tasks.

3. Radical accountability remains a cornerstone

AI can undoubtedly enhance code security and save time, but in the end, it is human intellect that remains at the heart of the masterpiece. Developers need to take responsibility for the end results and put some guardrails in place.

4. Try popular AI tools

There are a number of AI tools that programmers are already using:

  • Amazon CodeWhisperer: This is an AI-powered coding companion that generates code suggestions based on natural-language comments or existing code in developers’ integrated development environments, allowing developers to ideate more quickly, rapidly prototype new features and accelerate application development.
  • GitHub CoPilot: This is an adopted AI developer tool. It has been trained on billions of lines of code in various programming languages, and it can integrate with one of the most popular code editors: Visual Studio Code.
  • Amazon CodeGuru Security: This uses ML and automated reasoning to find issues in code, offer recommendations for how to fix them, and track their statuses over time. It will also scale up and down with workloads.
  • Sourcegraph: This is a code AI platform to help build software with a powerful AI coding assistant for writing, fixing and maintaining code. Its code graph powers Code Search which helps developers explore their entire codebase and make large-scale migrations and security fixes.
     

The future of software and app development depends on our ability to navigate and find the balance between the value of AI-driven versus human-driven development. The coding prowess and expertise of developers will continue to be the linchpin of the entire process, but AI can certainly support many areas of the development cycle.

*Wan Bachtiar is Lead & Manager, Community Platforms & Data, and Megan Grant is Editor, Developer Relations at MongoDB.

Image credit: iStock.com/ipopba

Related Articles

Navigating the evolution of data in the age of generative AI

As businesses tackle the intricacies of data management amid the rise of GenAI, embracing a...

Big AI in big business: three pillars of risk

Preparation for AI starts with asking the right questions.

Making sure your conversational AI measures up

Measuring the quality of an AI bot and improving on it incrementally is key to helping businesses...


  • All content Copyright © 2024 Westwick-Farrow Pty Ltd