GitHub Copilot: My experience after one week usage
Tags: vscode, productivity, discuss, programming
Published: 2021-07-18 05:46:22

Unless you were living under a rock, you must have come across some article or video about **GitHub Copilot**, the _AI Pair Programmer_ which a lot of people believe spells the end of programmers. I recently got access to the [Technical Preview](https://copilot.github.com/) of the software. After using it for a week, I decided to write this article, going over some experiments, the pros & cons of **GitHub Copilot** and my thoughts on whether it will actually replace programmers.

# Some Experiments

The best way, I think, to test out software such as **GitHub Copilot**, would be to run a couple of experiments on it. Here are a few short experiments to test how the software faired.

## 1. Stock Price Fetch

![Stock Price Generation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/itqsjivw19mcb4mmizs1.gif)

**Results:**

- Fetched stock price from **external API**
- Did not come up with the types on its own in a **TypeScript** File

## 2. BFS Traversal

![BFS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5rhh26mued6nwzqj2md.gif)

**Results:**

- Generated the function body **line by line**
- Did not **auto-import** `deque` Data Structure

## 3. Array of 100 Ones

![Array of 100 Ones](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ohzvi7dzrtfu8wz53ugf.gif)

**Results:**

- Came up with a bit _wonky_ solution (and would not suggest anything else on **Next Suggestion**)
- Came up with the efficient solution after it was partially typed

# Pros

- Automate the repetitive parts of the code
- Find an **API** for the task at hand, saving hours of _Googling_
- Can help in case you are using a feature where you don't know the syntax. Just describe the task in the comments, and **Copilot** will help you out.
- It somewhat forces you to use more descriptive variable and function names

# Cons

- Occasionally, the suggestions are a bit _wonky_ (it's currently a _Technical Preview_)
- Slow suggestions for small snippets. When I am writing code for production stuff, I was barely using **Copilot** as by the time it could suggest something, I was done writing. This picture describes how **Copilot** works:

    ![How Copilot Works](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ad58jvkwu58owy378cp.png)

    Since the suggestions are fetched from the _internet_, there is a slight delay between starting to type and actually getting the suggestions. In the case of **line-by-line** suggestions, you will easily be able to type faster than waiting for the suggestions.
- **Copilot** overrides **automatic parenthesis closing**, which turned out to be a major pain for someone like me, who heavily relies on it

# Will It Replace Programmers?

Short answer: **NO**. **GitHub Copilot** is definitely an amazing piece of software; even in its early stages, it can streamline the process of programming and provide a huge productivity boost. But programmers will still be required in the Tech Industry.

Let's go back 15 years (15 years for **India**, the time might be different in different parts of the world), when **PC**s were becoming commonplace, everyone was afraid of losing their jobs to computers. Yet computers didn't replace the jobs, it just made the processes more efficient leading to more throughput. Similarly, I believe **GitHub Copilot** would _increase productivity_, _make programming a better experience_ and _lead to the development of better software products_.

What are your thoughts on **GitHub Copilot**? Share them in the comments.

Finding **personal finance** too intimidating? Checkout my **Instagram** to become a [**Dollar Ninja**](https://www.instagram.com/the.dollar.ninja/)

# Thanks for reading

Want to work together? Contact me on [Upwork](https://www.upwork.com/o/profiles/users/~01c12e516ee1d35044/)

Want to see what I am working on? Check out my [GitHub](https://github.com/ruppysuppy)

I am a freelancer who will start off as a Digital Nomad in mid-2022. Want to catch the journey? Follow me on [Instagram](https://www.instagram.com/tapajyotib/)

Follow my blogs for weekly new tidbits on [Dev](https://dev.to/ruppysuppy)

Connect to me on:

-   [LinkedIn](https://www.linkedin.com/in/tapajyoti-bose-429a601a0)
-   [Portfolio](https://tapajyoti-bose.vercel.app)
-   [Upwork](https://www.upwork.com/o/profiles/users/~01c12e516ee1d35044/)
-   [GitHub](https://github.com/ruppysuppy)
-   [Instagram](https://www.instagram.com/tapajyotib/)