Artificial intelligence (AI) tools have enormously impacted industries over the past few years, and tech is no exception. AI reduces the time needed for repetitive tasks, increasing outputs and freeing developers up to do more impactful work.
In a recent webinar, OfferZen’s Head of Engineering, Nic Botes chatted with Mike Davis, Head of Software Engineering at API-first SaaS platform Root, about how AI can help tech teams do more with fewer resources and the challenges and opportunities these tools bring for businesses.
Can AI really improve team productivity?
AI tools seem like an obvious solution for ramping up software developers’ productivity in a time of doing more with fewer resources. The problem is that it’s difficult to say just how effective they are at this stage.
“We’re not quite far enough down the path to know – it’s a tough thing to measure. With these kinds of tools, it's often easier to measure when you take the tool away. So if you take the tool away for a week or so, then you’ll know the difference or the impact it has,” noted Mike.
That said, Mike pointed out a few ways AI can save tech teams time:
- Speedier bootstrapping: Reduce the initial learning curve when new frameworks are introduced.
- Quicker onboarding: Get new team members up and running in your environment faster.
- Less boilerplate coding: Generate common pieces of code automatically.
- Faster testing: Resolve issues by identifying common problems, patterns and themes.
- Enhanced visualisations: Generate diagrams of code dependencies to assist in understanding complex codebases.
- Improved debugging: Optimise and debug code, such as SQL queries.
To accurately determine AI’s impact on productivity, you must establish clear objectives and key results (OKRs) or use other metrics.
“Making sure that you’re measuring what you're doing in terms of OKRs or sprint velocity helps you understand the adoption and where the gaps are," Mike advises. Systematically tracking these metrics will give tech teams a clearer picture of how AI tools influence their productivity and identify areas for improvement.
What tools are out there and how are developers using them?
According to Mike, using the right tools is critical to improving productivity. “You've got to use the most appropriate tool for the job. So if there’s one better or worse than what you’re using, you have to use a different tool,” he said.
He pointed out that there are three broad classes of tools that developers can use to improve their productivity and efficiency: web-based tools (e.g. ChatGPT, Google Gemini, Groq and Grok), IDE-based tools (e.g. GitHub CoPilot or JetBrains AI Assistant) and coding agents.
“Interestingly, people are also starting to use local LLMs. That’s something that runs on your laptop and is connected to your IDE or a web interface. I think that with some of the risks, we might find this is being used more and more,” he added.
While South African companies have generally been slow to adopt these tools, coders are enthusiastic about their potential benefits. According to OfferZen’s 2024 State of the Software Developer Nation Report, 51.9% of developers have worked with some kind of AI API, up 16.5% in just 12 months.
Mike noted that developers tend to use these tools to help them generate simple code or get guidance by asking interactive, long-form questions about executing specific tasks. If all else fails, he said, it’s time to “just Google it”.
The risks of developing software with AI
Tech teams need to be aware of the risks of creating programs with AI tools. While serious, Mike notes that using enterprise-level AI software can fortunately overcome most of them.
1. IP loss
Proprietary code and other intellectual property (IP) can be leaked to other companies if your inputs are used to train AI models and reproduced for different users. To mitigate this risk, avoid inputting sensitive code into AI systems and opt for enterprise-level tools.
2. Data loss
Data protection is a critical concern, especially with regulations like GDPR. AI tools might inadvertently cause data breaches by transferring data across different privacy regimes.
Here, it’s essential to educate your team on data protection protocols and ensure that they don’t upload sensitive data to AI tools. “It’s mainly just awareness. You should be aware of standard data protection standards,” Mike points out.
3. IP pollution
In the past, integrating open-source AI-generated code opened your codebase up to the licensing terms of the tool you used to write those lines. Fortunately, this isn’t longer a problem, as most tools now generate new code rather than regurgitating existing code. However, you should look for it when reviewing the terms of use for AI tools.
4. Security and quality issues
Security vulnerabilities and quality issues are the biggest concerns when working with AI-generated code. Rigorous code review processes and adhering to established best practices are crucial here.
“Good quality peer reviews and good coding practices are critical. Using AI isn’t a substitute for having good CI and checks in your code base – just because you have a companion doesn’t mean you can skip checks by other developers,” said Mike.
5. Over-reliance on AI tools
Junior developers who depend too much on AI tools might not learn essential coding skills. Senior programmers might find some of their skills slipping as time goes by. “As developers, we learn from the code that we write, even if we’re using templates. So we still need to examine code to learn and understand what it’s doing,” explained Mike.
In this case, promoting continuous learning and skill development within your team can help balance using AI tools.
Four steps to creating a culture of coding with AI
To harness AI’s potential, tech companies must create a culture that embraces AI. Mike notes that education and intentionality are key, “All of the risks associated with using AI can be mitigated just through behaviour.”
Here are Mike’s four practical steps to help you achieve this:
- Assess your current situation and identify knowledge gaps. One strategy is to host exploration sessions to understand how and why your team uses AI tools and where you could expand or improve this usage.
- Host hackathons to foster a collaborative learning environment and help teams understand the best practices for using AI and its potential benefits.
- Have evangelists for the tools that you choose. “We had two developers keen to try out the tools. We gave them access to the tools, and they were excited by the change in how they work,” said Mike. “They started talking with the whole company and getting the team on board with best practices, and it was very cool to see that take flight.”
- Most importantly, measure and track your team's performance and coding outputs. This will help you continuously optimise your integrations and workflows to ensure that your AI tools really improve your team’s productivity.