GitHub Co-Pilot, the AI pair programming assistant developed by GitHub and OpenAI, aims to enhance developer productivity through smart code suggestions and autonomous handling of repetitive tasks. While its potential to replace developers is a topic of debate, I find that notion far-fetched (for now at least). I have been using Co-Pilot since last year through the GitHub student developer pack and in this blogpost, I will share my experience.
Table of Contents
Open Table of Contents
My Usage of Co-Pilot
I installed the Co-Pilot extension in my VS Code editor and enabled it globally. I used it for web projects including React, vanilla JavaScript, and other languages like Python and Ruby. I found that the tool excelled at auto-completing repetitive and nuanced code, and it was even capable of generating code snippets based on comments or context from the existing code.
Likes and Dislikes
Co-Pilot’s ability to generate reasonable CSS for standard components reduced the tedium of manual styling. I also found it helpful as a smart autocomplete tool for reducing manual input in specific JavaScript modules. However, my overall experience was not entirely positive. While Co-Pilot occasionally revealed newer syntax or language features, it often provided suggestions with bugs or presented complex renditions of what should have been simple tasks. The autocomplete feature became intrusive rather than helpful, and I found myself spending hours debugging Co-Pilot’s suggestions instead of focusing on development.
This reliance on Co-Pilot not only compromised my ability to discern code quality but also distracted me from essential aspects of being a good developer, such as problem-solving and deep engagement with the code.
Moral and Legal Concerns
Co-Pilot’s training includes a vast amount of code from GitHub, but the proportion of open-source and closed-source code remains undisclosed. There have been instances where Co-Pilot inadvertently suggested copyrighted or ethically questionable code, which raises concerns about legal pitfalls for unsuspecting developers.
Co-Pilot is currently involved in litigation, highlighting the complex ethical and privacy concerns associated with influential AI tools. Achieving a balance between innovation and moral responsibility, particularly about such powerful technologies, is a significant challenge.
Decision to Disable Co-Pilot
Despite the initial excitement of having an AI assistant, I soon realized that my growth as a developer and student was being hindered. My reliance on Co-Pilot started to overshadow my developmental journey. Instead of being a helpful tool, it became a barrier to my progress. Therefore, I have decided to remove Co-Pilot from my editors and stop using it.
Conclusion
In the words of Tony Stark, “If you’re nothing without the suit, then you don’t deserve it.” AI tools like Co-Pilot may offer convenience and increased productivity, but it is crucial not to let them erode the foundation of our learning and the quality of our code. As a student, I have chosen to prioritize building genuine experience and honing my problem-solving skills rather than relying solely on AI assistants.