Skip to main content

Command Palette

Search for a command to run...

GitHub Copilot Is Too Good

AND THIS IS BAD

Published
4 min readView as Markdown
GitHub Copilot Is Too Good
S

Developer Advocate, OSS contributor, JavaScript Messiah

GitHub Copilot was and is an awesome piece of technology. Imagine, AI is helping you to write code! Decades ago this was some sort of sci-fi dream and right now, it's a $10/month reality. But is it any good? Yes, it is...in terms of suggestions, it is very good, though not always. But there is something that worries me and has personally affected my work.

There is a lot of controversy around the moral side of the GitHub Copilot and the way it suggests code. We will not cover this issue in the article.

The Savior

I was one of the developers who got early access to the product and, oh my, how it was cool. The first impression was extremely positive. I couldn't play enough with it.

It's incredible!

GitHub Copilot could predict anything from comments to functions, from ending lines of code for me to writing complete blocks. The team developing this software is pure genius and the work they've done is insane. I realized "wow, this is going to be in my toolbox for a long" and you know what, I was ready to pay for it. My speed of development has significantly increased. On one of the streams, I built a fully functioning ToDo application just by writing comments, GitHub Copilot even worked with third-party libraries and was good at it. It is definitely a tech worth investing in or at least trying out.

The Loser

It's not perfect. There are some gaps.

  • Yes, it doesn't do a very good job at suggesting imports, and pretty often it is very annoying, especially when it blocks the IntelliSense folder view when you type in the path of the file.
  • Yes, it sometimes misleads you with very bad suggestions and breaks your flow. Countless times I had to switch it off globally just to keep my mind focused on one task without interruption by full-blown pieces of code suggestions that have no meaning for my current task.
  • Yes, it sometimes just sucks.

But still, it is super good.

The Problem

I've been using GitHub Copilot almost daily (daily) for about 6 months and I will continue using it. It's great. But I found myself facing a problem. The problem, that I, as an ex-seafarer, was taught not to get into. The problem of the overreliance on technology.

After 6 months of daily usage of GitHub Copilot, I realized that damn, I'm focused on building stuff rather than coding. Which is not particularly bad, but I start losing the grip. It became a norm to me, that I would better write a comment explaining what I want to be done, rather than actually take the problem and write code for it. In cases when I have to deal with a nested array of objects, I will just rely on Copilot.

Problem

I noticed, that my algorithmic thinking started to fade away. Brain got used to just using suggested code instead of cracking the algorithms. The brain is lazy. Give it a quick solution and it's happy.

But wait, brain, this is not okay in the long term.

And it's not okay, at least for me.

The Solution

There are two possible ways out for me.

1) Stop using GitHub Copilot completely 2) Start practicing LeetCode in my free time

Solution #1 is okay-ish, but not for me. I still want to have the benefit GitHub Copilot provides. The speed of development is truly insane and I love it, my bosses love it and I can achieve more in less time.

So, I have decided to go with solution #2. It's not perfect, but this would keep me in the loop and keep my brain working.

Summary

GitHub Copilot is indeed a state-of-the-art technology, but as with every piece of technology, overreliance on something is never a good thing to do. I've got used to it and it's my mistake. I figured, that without these fancy suggestions it's getting harder to write code - a big no-no for a software developer, especially with the current market conditions.

Use your tech wisely and never forget about your primary Software Developer skills

E

I don't do the comments for results thing.

I just write code and sometimes it pipes in with a completion.

This means most of the time I have an idea of what I want to do and start doing it and then copilot recognizes how to finish it.

A

Another problem faced me with using copilot is it doesn't allow you to learn a programming language (in case you're a beginner just starting out). this is the reason why I left completely code suggestion tools

I

Hmm, yes and no.

First disable automatic suggestion. Make it on a key. Copilot is awesome, but sometimes he suggest me shit. Better call it when you need it.

Second, do you think you need that stuff which you could forgot? Then learn more it. Maybe you don’t need it. Then don’t care.

Anyway, Copilot is progress.

More from this blog

Sergii Kirianov - Javascript Messiah

28 posts

Hi! My name is Sergii Kirianov, I am Web Developer. Currently working as Junior Developer. Specializing in JavaScript, React and modern web development technologies.