A surprising path in the woods

Copilot feedback can help us stay on course

It’s a good idea to focus your energies on the things you do best.

If you’re a company that sells coffee beans, you probably don’t want to build your own CRM system. Most software companies happily rely on AWS or Azure for their cloud infrastructure. Save your energies to invest in your core competencies; the unique things you do best.

Builders often have a hard time with this. Out of curiosity, frugality, or fastidiousness, we want to build things ourselves — whether or not it’s the best use of our time (see: Not Invented Here). Most of the time it’s easy to spot when we’re drifting off course (most coffee roasters don’t think twice about buying a CRM system), but sometimes it’s not so clear.

Thankfully AI copilots can help us stay on task.

But let’s back up: what are AI copilots? (Feel free to skip to the next section if this isn’t new to you…)

AI copilots are most often discussed in coding contexts, but we’re starting to see the pattern emerge in other areas. In a nutshell, copilots are AI-powered tools that observe user input and a project’s current state to generate helpful suggestions.

GitHub Copilot is perhaps the best-known example. It runs in in your code editor and suggests code completions as you type, based on the current context: recently opened files, the file name, preceding text, and so on. Microsoft 365 Copilot is an example of a non-coding copilot. It helps you write emails, create presentations, and more using both a chat interface and text autocomplete.

As you use copilots, you start to learn their strengths, weaknesses, and quirks.

Copilots are great at problems and patterns they’ve seen before. If you’re writing a function in Javascript or Python you’re going to get better recommendations than if you’re writing in Swift or R. If your function performs a common task – like converting a temperature from Fahrenheit to Celcius, parsing an XML document, or scraping a website – copilots will eagerly produce great recommendations.

Copilot code completion in action

Here we’ve written a single comment and named our function and GitHub Copilot is ready with 13 lines. We just have to hit tab and tweak a selector or two.

But when you’re writing weird code it might only recommend the next word or two.

For example, Copilot isn’t great if you’re writing Processing code. Processing just isn’t that popular (especially its non-JS variant). It doesn’t rank in the top 50 languages being used on GitHub and interest has been steadily declining since its heyday in 2016.

(This is a shame! Processing is fun.)

But languages like Processing are the exception: copilots are fantastic; far and away the LLM-powered application producing the most value.

Great copilot feedback signals familiar terrain.

Because the LLMs powering copilots are trained on mountains of code, their strengths and weaknesses are a good proxy for the strengths and weaknesses of the software development community at large. Our Python web scraping function above probably exists in countless GitHub repos, independently discovered time and time again, copied and pasted even more.

The speed, amount, and quality of Copilot feedback is a valuable signal. It’s a signal of what’s been done before, what’s been done often, and what’s been done well. It tells you when you’re trodding familiar terrain and when you’re breaking new ground.

Sometimes the quality and amount of feedback will surprise you. “I thought I was working on something unique,” you’ll think as you review the 20 lines of code Copilot just wrote for you. But it turned out to be a common problem.

When I talk about this feeling with others who work with copilots, we liken this to the feeling of déjà vu. But it’s not déjà vu: I’m not seeing something I’ve seen before. I’m seeing my own idea, but its known before I had a chance to write it.

It’s déjà connu, already known.

Déjà connu is a cue you’re walking an existing path

The novelty you thought you were creating is a mirage. If this happens when you’re working on a strategic area of your product, it might be a problem. The moat you planned around your business is already empty.

But on the other hand: if every function you write leaves Copilot with nothing to say, you might be innovating in too many directions. You’ve taken on several new ideas before you’ve proven one of them resonates with an audience.

Ideally, copilots usher you along with most of your work but has little to say about the strategic areas.

Pay attention to copilot feedback – when coding, writing, or whatever else – and use it like a 6th sense to stay on task and focused on only a few areas of innovation.

Have thoughts? Send me a note