4 Ways to Improve Developer Experience with AI
An excellent developer experience correlates to great outcomes.
Traditionally, improving developer experience (also known as DevEx or DX) has been an incremental project, and one that takes time and innovation.
The good news? Artificial intelligence heralds the arrival of some much faster, more impactful ways to meaningfully improve DevEx.
In this post, I will talk about four parts of life as a software engineer which are ripe for refreshment with the help of AI. I’ll cover how to improve DX with AI for software developers, and how this might look for teams like yours.
1. Code Delivery
Software engineers at most software companies write code every day. But many engineers regularly have to complete relatively trivial tasks that keep them away from the more interesting problems. This isn’t usually popular – who wakes up every day to write test suites? Okay – some love it – but you see my point!
So it seems the logical place to start improving developer experience.
Let’s start with something already in the mainstream of software engineering.
Autocomplete does what it says on the tin. It works the same way it does on your phone, but for code. Autocomplete for engineers is generally codebase-aware, so it understands your current context and coding patterns.
It improves DevEx by making code easier and faster to write.
Tools: GitHub Copilot is an established tool with an autocomplete feature. If you’re open to more cutting-edge tools, keep reading.
My View: This may be the least revolutionary implementation of AI for code delivery, but it has been around the longest, is better understood, and carries fewer risks. Great for the risk-averse organisation.
Understanding your codebase
So, you've inherited a legacy codebase that's as tangled as a ball of yarn.
Understanding and modifying the code is daunting. But AI-driven LLMs can come to your rescue. These models can analyse the code, answer your questions about its functionality, and suggest improvements.
For example, you might ask the LLM, "What does this function do?" It could provide a concise summary or visually represent the code's logic.
Tools: Adrenaline AI specialises in understanding your codebase and allowing you to ask any question to help you understand it.
My view: Tools that do this well are green, but improving constantly. Try Adrenaline for a free introduction to this concept with no set-up required.
Whatever tests you’re writing, and whether you’re doing TDD or BDD, AI is capable of 10x-ing your output.
Let’s face it. Most engineers aren’t thrilled at the prospect of writing test suites. AI can write suites of non-trivial (and trivial) test suites in seconds. What’s not to love?
Tools: Codium specialises in test-writing
My view: Specialised tools appear to do a better job of test generation than simply asking ChatGPT, because that’s what they’re trained for. Invest in the right tools. Your devs will thank you.
Intelligent code assistance
This is the “next level up”. Intelligent code assistance systems aim to have total comprehension of your codebase and context, and can write, refactor or test code.
In practice, that means that AI can suggest substantial snippets of code, detect and fix errors, recommend best practices based on your project’s specific context and more. Pretty powerful.
Depending on your tool, you may be able to ask questions or interact with the codebase through natural language processing (NLP), in the same way that you might talk to ChatGPT.
This is a home run for teams who want to have good developer experience – a type of tool so good that going back to the old ways doesn’t feel like an option. This post is about DevEx, but it’s straightforward that these leads should lead to far better outcomes across the board.
- Tabnine is an established AI code assistant. It benefits from being legally robust and compliance-friendly, but runs on the now-outdated GPT-3 at the time of writing.
- GitHub Copilot X isn’t out yet, but it will be able to do many things, including explaining code, fixing errors, testing, writing pull request templates and more.
- Sourcegraph Cody is currently in Beta if you can’t wait for Copilot X. They can look at your code graphs and company docs alongside your codebase for richer context.
- Mutable AI is a slimmer version with features like autocomplete, refactoring, and prompt-driven development safely out of Beta.
My view: GitHub Copilot X is the most hyped tool in this category, and it isn’t even out yet. Organisations with a greater appetite for risk may be able to use “greener” AI and significantly speed up development and gain a lasting competitive advantage. Tabnine has been loved by many organisations since 2018, and I would guess that they are working to roll out on GPT-4. Watch this space.
2. Writing Documentation and Comments
Documentation is the lifeblood of any software project, providing essential guidance and information for developers, technical managers, and product managers alike.
However, creating and maintaining accurate, up-to-date, and easily digestible documentation can be daunting.
You hate bad documentation, and so do your engineers.
And frankly, most of them aren’t enjoying writing it either.
AI-driven documentation and comment generation are ready, and you should never have incomplete, outdated or confusing docs again.
By harnessing the power of AI, we can automate the process of generating comprehensive and context-aware documentation.
- Mintlify analyses the code structure, extracts relevant information, and presents it in a user-friendly format.
- Readable AI automates the process of writing code comments.
My view: If it’s left to humans (no matter how well-meaning), docs will never be a priority. Give the job to a tool that can do it in seconds, consistently, and that won’t hate writing them.
3. Collaboration Tools
You and your engineers are probably sinking hours every day into keeping up with developments in their projects.
Let’s think of some examples of places that drain time:
- Catching up with Slack and Teams
- Searching for where someone shared a link you need
- Chasing someone to review your pull request
- Checking for new commits
- Trying to work out whether you’re unblocked yet by checking Jira
If each person spends 2 hours every day doing this, and you have ten people on your team, that’s 100 hours every week.
As projects grow in size and complexity, the time it takes to catch up and find what you need compounds, leading to miscommunication, duplicated efforts, delays and so on.
This is the kind of frustration that engineers complain to their friends and family about at the end of the day, the kind of annoyance that loosens company loyalty. That’s not something most teams can afford.
AI-powered collaboration tools can help teams overcome these challenges and streamline their workflows.
- Stepsize AI – This is the AI companion for software projects. It tracks everything happening on GitHub, Slack and Jira. It uses a complex network of AI agents to develop a sense of history and rich understanding of project context. It’s able to offer impactful summaries of what’s happened, actionable suggestions of what to do next and answer any question you have about the project.
4. Code Review
By analysing the submitted code and providing intelligent recommendations, AI can assist developers in identifying potential issues, adhering to coding standards, and understanding complex code snippets.
This reduces the time spent on code reviews and minimises the risk of human error.
For senior technical managers, this means a more efficient and accurate review process, resulting in better code quality and maintainability.
- Codeball AI evaluates pull requests, highlights risks and can automatically approve low-risk pull requests.
- Planar does something similar
- What The Diff can create pull request summaries and manage instant code refactoring, to avoid the back-and-forth.
My view: Truth is, code reviews can be slow, arduous and a reliable blocker to progress. Some code review tools claim to be able to 10x your code review process. Even if they can only 2x it, they’re often well worth the investment for DX alone.
AI can transform the developer experience by streamlining code delivery, enhancing documentation, optimising collaboration tools and more.
By leveraging the power of the underlying neural networks, deep learning, machine learning algorithms that sit under AI, your team can enjoy a more efficient, engaging, and enjoyable work environment, leading to better outcomes across the board.
Done right, you’ll get the most out of your great developers and have happier people, better developer productivity and better development processes.
Your developers, technical managers, and product managers will thank you for making their work lives more satisfying and productive.
Don't miss out on more insights and thought leadership in the world of software engineering and AI.