Despite being a relative newcomer to the developer tools ecosystem, AI continues to have an increasingly significant impact on how developers are doing their jobs. According to a recent report by Gartner, 75% of enterprise software engineers will be using AI code assistants by 2028, a sizable jump from only 10% of those surveyed in 2023.
Developer research firm SlashData recently published an even more bullish survey that revealed 71% of all developers are actively working with AI “in one way or another” and that “59% of developers use AI tools in their development workflows.”
“I don’t think AI is going to replace software developers (yet), but I do think software developers that use AI might replace software developers that don’t.”
– Shane Thomas, co-founder of Audiofeed
While the growth and impact of AI on software development are undeniable, we wanted to get a real-world sense from developers on how they’re personally using AI development tools, so we spoke with a number of software engineers to find out — and also to get their feedback on the pros (and cons) of using AI development tools.
Top AI tools: Pair Programming and Code Completion
The largest category of AI tools used by developers I spoke with fall into the AI pair programming and code completion categories, tools which can easily generate code snippets and serve as automated assistants for programmers.
GitHub Copilot was mentioned by every developer I spoke with, and seems to be one of the most popular solutions for developers looking for an AI tool.
“For me, GitHub Copilot is mainly about increasing my speed,” said Shane Thomas, a veteran software engineer and co-founder of Audiofeed. “[GitHub Copilot] is best when I already know what I want to write and it can just autocomplete those sections for me. It’s not often [completely] right, but it’s directionally correct. It gets me 80% of the way there and I can update the things I know are wrong.”
Other developers had similar things to say about Copilot. “I use GitHub Copilot every day,” said Kristian Ranstrom, owner of Rainstorm Technologies and an experienced developer. “It’s built into Visual Studio and Visual Studio Code (and other IDEs) so using it is extremely easy… you can [also] use the GitHub Copilot Chat window to ask it to do something. For example, ‘How do I handle resizing images in an API in C#?’ or ‘Write test cases for this class.’”
Bekah Hawrot Weigel, a technical AI advocate at OpenSauced, said that “GitHub Copilot and ChatGPT are the obvious choices for improving efficiency and getting unstuck”, and added that using AI tools “…helps us find the right answers more quickly and connect with the people who have those answers faster.”
Thomas also relies on Cursor IDE, which he sees as an enhancement on top of VS Code. “I use this to chat with sections of my code or my code base when I’m not exactly sure what to do… it’s not always perfect, but it often saves me a significant amount of time [compared to] a search engine or on StackOverflow.”
In addition to GitHub Copilot and Cursor IDE, other pair programming and code completion tools mentioned by developers I spoke with included ChatGPT itself, Claude 3 Opus, Pieces for Developers, and Codeium. This is by no means an exhaustive list and there are several other tools developers may want to consider — and more will likely appear in the months and years to come — but the aforementioned seem to be some of the most popular.
Other AI Tools for Developers
In addition to the pair programming/code completion tools mentioned above, there are a host of “AI adjacent” tools that aim to make the lives of developers easier in other ways and were recommended by the developers I spoke with.
“There are the code completers that most developers have heard of, like Copilot and others,” said Elizabeth Lawler, CEO and founder of AppMap. “Then there are some craftier ones like SuperMaven and Aider, and then there are adjacent tools that are not code completers, but do deeper problem-solving work and act as deep coding work ‘agents.’” Lawler then explained how AppMap’s Navie — which she describes as an “AI software architect for troubleshooting and deeper, more complex design and refactoring work using runtime data as context” — falls into the latter category.
Outside of AI-powered tools specifically focused on helping a developer within an IDE or while writing code, most developers I spoke with are also using other AI tools to increase their productivity in other areas.
Ranstrom said that he’s used the APIs for OpenAI / ChatGPT — as well as WriteSonic — to help with image creation and writing content, while Weigel uses SwellAI to “break down audio content, repurpose it into other forms, and highlight key moments for sharing,” as well as AI-powered video editing tool Descript, which she uses to edit podcasts, demos, and audio clips. She also relies on the Zoom AI companion for meeting action items, summaries and referencing past discussions.
Encouragement and Caution: General AI Programming Advice
All of the developers I spoke to sang the praises of what AI can bring to the table for developers, ranging from increased productivity to enhanced learning opportunities. That said, many also provided some general AI development advice based on their own experiences.
“The better you are at prompting the more effective AI can be.”
– Bekah Hawrot Weigel, Technical AI Advocate at OpenSauced
“AI is a tool in your toolbox… it’s there to help you be more effective and push the boundaries of what you could do otherwise, but it’s not a tool for everything,” said Weigel. “If you need a wrench, you don’t use a hammer. It’s up to the user to figure out how to use it effectively and ensure its accuracy. AI hallucinates confidently, so it’s not a substitute for knowledge you don’t have.”
Weigel also stressed that writing effective prompts — when using tools like ChatGPT — is a skill that takes time to master, but reaps dividends for patient developers. “I hear a lot of developers talk about how ‘bad’ AI like ChatGPT is,” said Weigel. “They’ll quote unclear or wrong answers, but I wonder what their prompts look like. The better you are at prompting the more effective AI can be.”
Benefits and Advantages
Falling squarely into the benefits category, Ranstrom said that leveraging AI for coding help has made a huge impact on his productivity. “[Using GitHub Copilot] has sped me up by about 30%. Imagine needing to write a long class: That takes a lot of typing. Even if you can copy/paste some of it from other places,” Ranstrom said. “Instead of that, I write a comment explaining what I need to do, the code fills itself in, and I tweak it to fit my needs.”
Thomas echoes the productivity benefits, highlighting the “increased development velocity, improved debugging and maintenance over unfamiliar code.”
Help with new techniques and approaches was also cited as a big positive to using AI. “When I ask Copilot to write some code for me, I get to see how others have handled a similar situation,” said Ranstrom. “Behind Copilot are millions of lines of open source code.”
Weigel also stressed the positive learning aspect of using AI for development. “AI is a great tool for learning; it’s much easier to learn new languages or frameworks because there’s always a tool ready to answer your questions.”
Cons and Caveats
While using AI tools can have a positive impact on the efficiency and education of developers, everyone I reached out to also provided some caveats and cautionary tales about using AI for development.
“You can’t lean 100% on AI to handle your coding yet. It’s good at smaller chunks of code and will help a lot, but it’s not the best Software Architect.”
– Kristian Ranstrom, Rainstorm Technologies
“Once a person [is] given a calculator, they often don’t need to learn how to actually do the math. Most of the time, this is probably okay,” said Thomas. “However, some of the time, the understanding really matters. If you leverage AI without actually understanding how the code works, you won’t build the critical thinking and problem-solving skills to solve the more complex problems that AI can’t currently solve for you.”
Ranstrom echoes those concerns. “You can’t lean 100% on AI to handle your coding yet. It’s good at smaller chunks of code and will help a lot, but it’s not the best Software Architect,” said Ranstrom. “Currently, a human still needs to be in control of a project and plan accordingly.”
Lawler also cautions less experienced developers to not trust AI too readily, citing research that shows the danger of novice programmers using AI too extensively. “Research has shown that less experienced developers have higher code acceptance rates from AI, while more experienced developers see more flaws in AI-generated code and have lower acceptance rates,” said Lawler. “A discriminating eye is crucial in delivering high-quality code.”
Thomas points out another issue that will undoubtedly develop over time as AI development tools and processes continue to mature: AI and data privacy. “This isn’t a problem if you are writing code for a side project or a small startup,” said Thomas. “However, it gets more complicated when you are writing code for a larger organization.”
While data privacy and AI are too large of a topic to discuss in detail here, according to a data privacy report by Reuters — authored by Gai Sher and Ariela Benchlouch — the “AI privacy paradox represents one of the most significant challenges of our time. As we move forward, we must ensure that our pursuit of technological advancement does not come at the cost of our privacy rights.”
The Future of AI-Assisted Development
Despite the growing pains, AI tools are proving to be invaluable coding companions for developers. Ranstrom notes that the AI tools he’s using have been improving rapidly. “From when I first started using it until now — and we’re just talking months — AI programming recommendations have gotten much better. If you’re not using [AI programming tools] you’ll probably get left in the dust, so my recommendation is to jump on the bandwagon and hold on.”
“Just as we don’t want to hear the same song over and over again, we don’t want many versions of the same app.”
– Elizabeth Lawler, CEO and founder of AppMap
Thomas agrees. “I don’t think AI is going to replace software developers (yet), but I do think software developers that use AI might replace software developers that don’t.”
A consistent theme seems to be that AI tools can be a powerful addition to a developer toolbox, but the indispensable part of the equation is still the human directing the AI.
Lawler reminds developers that they remain the creators: “You don’t outsource the creativity part of your job to AI, which is more like an analyst than a magician. AIs are pretty predictable, just like AI-generated music,” said Lawler. “It starts to all ‘sound the same’ after a while if you don’t give it new ideas for the composition. [Just like we] don’t want to hear the same song over and over again, we don’t want many versions of the same app.”
The post Favorite AI Tools of Developers and Tips For Using Them appeared first on The New Stack.
Which AI tools are developers using today — and how? We spoke with leading software engineers about the pros (and cons) of AI in development.