5 Ways Software Developers Can Use Gen AI to Boost Efficiency
When Applause surveyed software development and QA professionals last year to learn how they were using AI, 24.4% stated they were using AI to write or debug code on a daily or weekly basis. We’ll be running the survey again soon and I expect that number to increase significantly. In part, that’s because we’re seeing Gen AI embedded into some integrated development environments (IDEs). Developers are using tools like GitHub Copilot for code completion to save time. Beyond that, many engineers are embracing different ways that AI can save time and boost efficiency.
Here are some of the most common types of use cases for developers:
Aiding with memory and learning
For many engineers, Gen AI offers an effective memory assist for scenarios where they don’t recall the syntax for a particular task, like converting a flat list into tuples. You can ask how to perform a certain task in a specific programming language. When used this way, Gen AI can accelerate learning of languages and different approaches to doing things. In other cases, AI may be able to recommend improvements to working code that help avoid security or compatibility issues.
Making updates for compatibility
Sometimes, you don’t need to learn a whole new programming language – you may be making a one-time change. For example, if you’re moving data to Snowflake, you may have statements written in MySQL that need to be updated. Rather than reviewing all the statements manually, you can paste them into a Gen AI tool and ask it to update them to make them compatible with Snowflake.
Creating tickets and documentation
When you get requirements for a feature from product or customer teams, you can use Gen AI to turn the conversation into a Jira ticket. AI can convert feature ideas into detailed requirement specifications that a developer can act on. The same holds true for documentation – you can record a quick video on how a feature works and have AI generate training materials on how to use the feature.
Developing a starting point for prototypes
AI can often save time by providing a starting point, whether you’re looking for wireframes and UI mockups or functional code. For example, maybe I need to build a table that will display information in my app. I can worry about entering data and adjusting the appearance later, while using AI to create the initial table. I can then ask AI to generate realistic placeholder text, data, or images to simulate a working feature in the prototype.
AI can produce sample code snippets for integrating third-party APIs or services. It can also suggest algorithms for tasks like recommendation engines, search optimization, or user personalization.
Troubleshooting
AI chatbots embedded into your IDE can provide contextual answers for questions like, “Why does this code throw an IndexError?” or “How do I fix a memory leak in this function?” AI can propose code fixes for common issues, such as syntax errors, misconfigurations, or outdated dependencies. AI can suggest ways to refactor inefficient or complex code to improve readability and performance while addressing potential errors. When you’ve got dependencies, it can suggest updates for libraries or frameworks that may conflict with current versions. It can also analyze failures in automated builds, deployments, or integrations and suggest corrective actions.
Because AI is great at summarizing, even if you don’t want to involve AI in your actual code, you can use it to recap solutions from forums like Stack Overflow or GitHub discussions that match your issue. It can also help break down complex technical issues to better explain them to stakeholders or junior developers.
Consider treating AI like you would treat a new team member
I’ve come across developers that are resistant to AI for a variety of reasons. Some are purists, others are hesitant because they’ve seen AI serve up flaky code. Moving forward, AI is only going to become more deeply integrated into the software development lifecycle – and those who refuse to find ways to harness its potential may find themselves left behind.
If you’re a developer who’s been reluctant to try AI, I’d encourage you to treat it like you might treat a new coworker – give it a small task at first, with clear expectations and success criteria. Try different tasks to get a sense of strengths and weaknesses. Offer feedback on what’s working for you and what’s not. Explore some of the prompt ideas above and see how AI can best help you become a more efficient developer.
Podcast
Building High-Quality, Ethical AI Systems
Discover the keys to fostering responsible AI practices with Rishu Gandhi, Senior Data Engineer in Cybersecurity at Wells Fargo in this episode of the Ready, Test, Go. podcast. From bias mitigation to human feedback, learn how to navigate the ethical landscape of AI development.