GitHub Copilot: All you need to know
Tags: github, webdev, machinelearning, computerscience
Published: 2021-07-09 09:44:32

Hello reader! 

Microsoft subsidiary GitHub launched Copilot to power pair programming with AI. In this blog post, I will share all you need to know about it.

You can refer to my **YouTube video Tutorial** to see a working tutorial for better understanding and a step-by-step guide of the same. 

{% youtube RZmp6IPN0xw %}

## What will be covered in this Blog

```python
1. What is GitHub Copilot?
2. How does GitHub Copilot work?
3. How good is GitHub Copilot?
4. Does GitHub Copilot write perfect code?
5. Will your private code be shared with other users?
6. Availability
7. How can You contribute?
8. Ownership
```

*Let's get started!*

## What is GitHub Copilot?

GitHub Copilot is an AI pair programmer. GitHub Copilot is powered by a new AI system developed by OpenAI Codex and is coming soon to Visual Studio Code. It aims to help Programmers code faster. It basically draws context from the code you’re working on, suggesting whole lines or entire functions.

OpenAI Codex has a broad knowledge of how people use code and is significantly more capable than GPT-3 in code generation

## How does GitHub Copilot work?

![github_copilot.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625813279327/aoeDJjsCS.png)
It can suggest complete lines of code or entire functions by analyzing how you code. GitHub Copilot can assemble code from user comments and predicts your code by just reading the function name you have declared. It allows you to cycle through alternative suggestions and manually edit the suggested code. It autofill repetitive code, or create unit tests for your methods. 

The GitHub Copilot editor extension sends your comments and code to the GitHub Copilot service, which then uses OpenAI Codex to synthesize and suggest code. it actually works by reading through all the open-source code on the GitHub repos worldwide and then collect the data and tries to find the best possible code related to it! It is said to work great with repetitive code patterns so users can let it generate the rest of the code. The AI assistant can also help you learn a new programming language.

## How good is GitHub Copilot?

The technology is truly promising.

> Copilot helps developers to quickly discover alternative ways to solve problems, write tests, and explore new APIs without having to tediously tailor a search for answers on sites like Stack Overflow and across the internet,

says Friedman.

It said to have been tested against a set of Python functions that have good test coverage in open source repos by blanking out the function bodies and asked GitHub Copilot to fill them in. The model got this right 43% of the time on the first try, and 57% of the time when allowed 10 attempts. And it’s getting smarter all the time.

## Does GitHub Copilot write perfect code?

No. GitHub Copilot tries to understand your intent and to generate the best code it can, but the code it suggests may not always work or even make sense. “GitHub Copilot draws context from the code you’re working on, suggesting whole lines or entire functions,” GitHub CEO [Nat Friedman](https://www.linkedin.com/in/natfriedman/) explained in a [blog post](https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/) introducing the technology. The algorithm consistently improves by recording whether each suggestion is accepted or not. 

In order to make the most out of it, it is suggested to divide the code into smaller functions, provide meaningful function names, parameters, and docstrings.

## Will your private code be shared with other users?

No. They claim to use telemetry data, including information about which suggestions users accept or reject, to improve the model. 

## Availability

![Screenshot_5.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625813310374/II2ZmUf4t.png)

For now, GitHub Copilot will only be made available to use in Visual Studio Code and the access is limited to a small group of testers. The preview version is available for free. The preview version is already installed by 88,783 coders.

The technical preview works well for Python, JavaScript, TypeScript, Ruby and Go but the final version will work with a broader set of frameworks and languages. It will be used to learn how people use GitHub Copilot and what it takes to operate it at scale. 

## How can You contribute?

![Screenshot_3.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625813391060/lqBeVXx5J.png)

The best way to contribute is to sign up for the technical preview. Access is limited to a small group of testers during the technical preview of GitHub Copilot, so you can Join the GitHub Copilot waitlist [here](https://github.com/features/copilot/signup).

![Screenshot_4.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625813408515/r46S2eERc.png)

You only need to answer a simple question regarding how often do you use Visual Studio Code, accept the terms and conditions and you are good to go. The number of spots for the technical preview is limited, so sign up today!

![Screenshot_2.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625813417991/4vZWq1PI-.png)

GitHub states that the current preview phase is restricted because of the “state-of-the-art AI hardware” required for the project. Once the free preview phase is over, the company plans to build a commercial version, which should be “available as broadly as possible”. 

About sharing code snippets on Social media, GitHub says:

> Please use [#GitHubCopilot](https://twitter.com/hashtag/GitHubCopilot) when you post so we can see what you produce!

## Ownership

GitHub assigns rights to the person writing the code, so the user becomes responsible for the suggestions it generates and code created with Copilot. It belongs to you, and you obtain the sole ownership of the code.

## Will GitHub Copilot affect developer jobs?

 [Copilot](https://copilot.github.com/) autocompletes code snippets, suggests new lines of code, and can even write whole functions based on the description provided. It adapts to the way you write code and helps you complete the work faster. The technology will enable existing engineers to be more productive, reducing manual tasks and helping them focus on interesting work. It only suggests a piece of code, it still needs to be reviewed and tested manually like you normally do with every other code. 

It is very interesting to observe how events will now unfold and what the future holds for us but regardless, I do not think that it will replace developer jobs anytime soon. What do you think of this? Share your thoughts in the comment box below.

That's it. And with that, it's a wrap! I hope you found the article useful and now you can start building some projects with API!

I create content about **Career, Blogging, Programming, and Productivity**, If this is something that interests you, please share the article with your friends and connections. You can also subscribe to my newsletter to get updates every time I write something!

Thank you for reading, If you have reached so far, please like the article, It will encourage me to write more such articles. Do share your valuable suggestions, I appreciate your honest feedback!

I would strongly recommend you to Check out the [YouTube video](https://www.youtube.com/watch?v=jAOkWehMF6E) of the same and **don't forget to subscribe to my Channel**. I would love to connect with you at [Twitter](https://twitter.com/ayushi7rawat) | [LinkedIn](https://www.linkedin.com/in/ayushi7rawat/).

You should definitely check out my other Blogs:

- [Python 3.9: All You need to know](https://ayushirawat.com/python-39-all-you-need-to-know)
- [GitHub CLI 1.0: All you need to know](https://ayushirawat.com/github-cli-10-all-you-need-to-know)
- [How to make your own Google Chrome Extension](https://ayushirawat.com/how-to-make-your-own-google-chrome-extension-1)
- [Run Javascript from Python](https://ayushirawat.com/run-javascript-from-python)
- [Automate WhatsApp using Python](https://ayushirawat.com/automate-whatsapp-using-python)
- [Automate Cowin Vaccine slots Availability using Python](https://ayushirawat.com/automate-cowin-vaccine-slots-availablity-using-python)
- [What is Competitive Programming](https://ayushirawat.com/what-is-competitive-programming-or-beginners-guide)

### Resources:

- https://copilot.github.com/
- https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
- https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/

See you in my next Blog article, Take care!!