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 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.
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.
- Fetched stock price from external API
- Did not come up with the types on its own in a TypeScript File
- Generated the function body line by line
- Did not auto-import
- 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
- 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
- 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:
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
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 PCs 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.
Want to work together? Contact me on Upwork
Want to see what I am working on? Check out my GitHub
I am a freelancer who will start off as a Digital Nomad in mid-2022. Want to catch the journey? Follow me on Instagram
Follow my blogs for weekly new tidbits on Dev
Connect to me on: