As a software engineer in 2023, you’ve likely come across AI tooling. Our upcoming State of the Developer nation data shows that majority of developers in South Africa aren’t working with AI tools as part of their roles. Considering the advances in the industry, it’s a good time to explore how these tools can improve your software development.
Here, we’ll look at how members of the OfferZen community are using AI tools in their current roles to ramp up their development.
AI tools are here to stay
Even if the industry doesn’t spark your interest, it’s still important to recognise the benefits of AI in your general day-to-day responsibilities.
Philip Joubert, OfferZen co-founder, says that using AI tools in software development will increase the demand for developers:
“With developers getting an AI productivity boost, the cost of their output decreases. As a result, the number of problems worth solving with tech increases. Developers will be able to generate more value for companies, and companies will hire more of them.”
It could be in your best interest as a developer to learn how AI tools can improve your productivity to secure company interest in future.
Your future company may already be using AI tools
Our 2023 State of the Developer Nation report shows that many companies are already using AI as part of their operations:
65% of South African developers are working at companies using AI as part of their data processing systems, fraud flagging, making customer recommendations and autocompleting systems.
It’s likely more companies will adopt AI in multiple ways to stay competitive in the market.
The majority of South African developers aren’t using AI tools
Although most companies are already using some form of AI, 77% of developers in South Africa aren’t using an AI coding assistant. Another 66% haven’t had an opportunity to work with an AI API.
That means you have an opportunity to bridge this gap between the demand for developers with experience using AI tools and the lack of supply of these individuals.
If AI coding assistants become a normal part of coding, having experience with AI tools will set you apart from developers who either have little experience or are still exploring these tools.
AI tools can help you level up in your current role
Even if you’re not looking to interview with new companies or pivot into an AI-focused role, AI tools can still make a huge difference to your current role and your productivity.
AI tools can increase productivity
The main advantage of AI coding assistants is the opportunity to boost your productivity.
Tools like ChatGPT and GitHub Copilot are cutting down developers’ time spent coding:
Instead of spending hours searching Stack Overflow for an explanation to a coding problem, developers are finding they’re more productive when they can get answers immediately from ChatGPT.
On top of helping you code faster, AI tools can help solve bugs. However, some have found it more difficult to solve bugs in code that is generated by AI tools instead of themselves.
Alex Steinberg, an OfferZen senior software engineer, has explored different AI tools in his developer role and finds ChatGPT most useful in writing code.
“I have also been using GitHub Copilot and Tabnine in my IDE, and I don’t know if I can live without AI autocomplete. For example, our JavaScript codebase is not typed, but AI can read the codebase and tell me what types are required.”
Utilising AI autocomplete saves Alex a lot of time and energy, which allows him to focus on more challenging tasks.
Alex’s experimenting with GitHub Copilot has increased his productivity in his work:
“I've found it helpful because we have an internal library that is not typed (Piñata) – it's in JavaScript and doesn't use TypeScript. When we consume this library, our IDEs don't know what type of data the various props of the component accept, which forces us to source-dive to find this data.”
Alex finds this time-consuming and momentum-breaking, which affects his productivity. He found that GitHub Copilot could give him this information as code when he uses the component, so he doesn't have to source-dive as much.
“It's not perfect, it doesn't get it right all the time, but at least it's mostly right, and it's easy to spot when it's wrong. The code suggestions allow me to keep context and momentum, which brings down the time to the final solution.”
While these tools can assist in boosting your productivity, they are best used for more mundane tasks alongside developer input.
You now have more time to spend on more challenging tasks
If you’re able to write more accurate code at a faster pace, you’re free to spend more time on deep-thinking tasks.
Spending time understanding challenging tasks allows you to unpack the nature of these issues and how they play out in software engineering. As your understanding gets deeper, you can identify similarities and differences between problems and solutions.
The ability to think outside of the box as a developer is a “highly critical skill you continuously need to work on.”
If you’re able to spend more time on tasks that require more critical thinking in your role, it’s likely you’ll develop this skill faster.
The challenging tasks that require more critical and logical thinking don’t only ramp up your ability to develop essential developer skills, they are usually the more interesting tasks that make your work enjoyable.
They use AI tools that support their current experience level
The best way to leverage your potential and the potential of these tools is to use AI coding assistants according to your experience level.
Junior developers can use tools like ChatGPT to explain coding fundamentals or experiment with code in personal projects.
Using them for writing code isn’t seen as useful for initial career growth as it can hinder learning. Writing your own code as a junior developer will help you understand the fundamentals behind what you’re writing. It also helps with developing good coding habits.
Developers also find AI tools still lack the intuition that comes with being a senior developer. So it’s important that a junior developer uses them to advance what they already know and provide clarity on what they don’t.
Senior developers feel more comfortable picking up where the AI tool implemented code differently than how they usually would or how it would work best for production. As an experienced developer, using an AI tool for code writing can assist in saving time, but it won’t hinder learning or production.
The community emphasises that it’s essential to use AI tools with a critical approach – they’re helpful to decrease time spent on mundane tasks, but their outputs will still require an informed review.
AI still has a long way to go
AI tools can be hugely helpful in your role but it’s important to recognise that AI is still in its beginning stages. These tools carry their limitations, especially in a professional environment:
Some companies may not allow the use of AI tools in code writing since it generates publicly available code. This can cause some problems in terms of patenting software that could lead to legal copyright issues for a company.
In addition, the quality of the code generated by AI tools like GitHub Copilot may not be the same standard as what a company requires.
Alex confirms AI tools still have a way to go until they can be used without a critical approach:
“AI tools are still somewhat unreliable, but they're good enough to add value.”
At OfferZen, developers are encouraged to experiment with AI tools, but there is no pressure for their implementation yet. Unlike the fear surrounding AI replacing humans in their work, Alex looks forward to the stage where we can start implementing these tools:
“There’s no reason to fear AI. We should shape AI to help us. It's just a technology. Forget the sci-fi movies.”
Our community is excited about how AI tools will change the way developers approach their work. Start exploring them yourself and discover how they can help you ramp up in your developer role.
Read more
- Bringing the power of AI to OfferZen. Sign up to get smart candidate recommendations made with GPT-4 and ask Zen AI questions about candidates' profiles to qualify matches.
- Exploring Artificial Intelligence: Understanding the Basics and Its Applications
- Exploring Artificial Intelligence: Tips to Pivot Into the Industry
- How I Collaborate with AI to Become a More Efficient Developer
- Quick Guide: Introducing AI To Your Company
- Ashi Krishnan, Apollo: Robots and Their Future in Our World
- How Tangent Solutions Used RPA and AI to Speed up COVID-19 X-Ray Screening
- Template: Melio’s Machine Learning Ops (MLOps) Skills Matrix
- Programmable Banking Community: How to Build a Low-code Budget Tracking App