paint-brush
Improving Developer Experience with AI by@alexomeyer
430 reads
430 reads

Improving Developer Experience with AI

by Alex OmeyerApril 27th, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Improve developer experience with AI-powered tools for efficient code delivery, documentation generation, and collaboration.
featured image - Improving Developer Experience with AI
Alex Omeyer HackerNoon profile picture
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.


Fortunately, this is also the area I think has the most attention from AI innovators, with tools that work across a range of code editors from VS Code to Jetbrains, and across almost all programming languages including JavaScript, Java, Python, C#, Golang, SQL and many others.

Autocomplete

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: 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: specialises in understanding your codebase and allowing you to ask any question to help you understand it.


Adrenaline AI

My view: Tools that do this well are green, but improving constantly. Try for a free introduction to this concept with no set-up required.

Writing tests

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: 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.


Tools:

  • 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.

  • 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.

  • 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.

  • 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.


Tools:

  • analyses the code structure, extracts relevant information, and presents it in a user-friendly format.
  • automates the process of writing code comments.

Readable

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.

Collaboration Assistants

Numerous organisations are rushing to add AI to their own platforms.


The idea is this: instead of trawling through messages and threads looking for the salient points, AI will pick it out for you.


My view: Doing this without AI is a massive drain of time. While there are collaboration bots out there (many of which are specialised to one platform, like Slack), none are yet specialised in software engineering. What I mean specifically is that they don’t integrate with the likes of GitHub and Jira, and aren’t able to surface things engineers care about, like pull requests.

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.


Tools:

  • evaluates pull requests, highlights risks and can automatically approve low-risk pull requests.
  • does something similar
  • 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.


Wrapping up

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.


Also published .


Featured image generated using Kadinsky 2 with the following prompt: An engineer looking through a pair of binoculars.


바카라사이트 바카라사이트 온라인바카라