A few thoughts about Github Copilot

I have used Copilot daily for three months now, mostly writing TypeScript, React and nodejs code. I think I have quite clear in mind its use cases and the reasons why I don't want to go back to not using it.

I am also pretty sure there is nothing to worry about it (at least not for the current generation); too many people are writing about doom scenarios where Copilot will take over our job as software developers and all is lost. It's not (too bad).

It's incredibly useful. Some use cases include:

  • I don't need to remember how to disable a specific linter rule for a line; copilot "sees" the linter issue and "knows" how to disable it
  • Almost 50% of the comments I write are auto-completed by Copilot (and probably using better English than mine)
  • It's fantastic at creating fake data for a quick test... you write "const x = [1, 2..." and the rest is up to it. I once needed a list of known brands, so I just had to write the first one ("BMW") and it provided another 5 on its own
  • it helps a lot with auto-writing some common helpers for data manipulation - or even unit tests
  • it moves autocompleting object properties to another level, inferring (or proposing!) names in a way that looks like you are pairing with someone

It's uncomfortable. This may sound silly but I haven't fully gotten used to it yet; sometimes it really puts you off for a second and you are like "Wait, what? How did you...?" (yes, it's "you" now). It's good that it hasn't written (yet) anything that I wouldn't have, which means that it is actually saving me time writing code but I still need to validate (and test) what it has written. It cannot be trusted (just don't, trust me).

I am still in charge and I am not going anywhere. As useful and smart Copilot is, it's still not sentient or even really intelligent of course. It's an extension, something to expect from the (nongeneric) AI we are getting used to in these times. It's not going to replace me any time soon, but I can use the time he saves doing other things - like writing posts on Linkedin. How meta.

The future of this tech is unclear. Even though with all those years on my shoulders, I should be able to get a feeling of where we are going with this, I honestly don't know. The next generation of this AI will be even more helpful but if I were an AI I wouldn't want to just write code... code is for dumb humans, right? The next AI will get some kind of different input, not from a slow, goofy person using a freaking keyboard. I think "writing code" is not a thing an AI should aim to be fantastic at, we could probably skip that part altogether.

After all, who needs faster horses, right?

What do you think about Copilot? Hate it? Love it? Meh? Let's keep the conversation going on LinkedIn!