Last year I added GitHub Copilot to my daily toolbelt for work. Here’s why.
It’s new and exciting.
I see Copilot as a new trailblazing piece of software. It’s fascinating that it’s a product of machine learning. To me, the disciplines behind machine learning have always been a mystery. Plus, I’ve never had much motivation to learn about it as the practicality of the applications wasn’t all that impressive.
Copilot is different. It’s impressive how well it performs today, and it’s reasonable to assume it’ll only get better. Finding out about the statistical learning fundamentals that make it possible to build a tool such as Copilot piqued my curiosity. Learning the fundamentals is complex, so I hope that, by using Copilot for my day-to-day work, I will keep my motivation to grow my knowledge and demystify the technology. I need to understand how it works!
It’s approachable.
In my experience, powerful software requires a lot of time spent upfront learning the ins and outs to make the most of it. Copilot is a pleasant exception. After installing the plugin to an IDE, it just starts working. Currently, it’s free for college students and OSS contributors. Otherwise, it costs $100 per year.
I believe it parallels the Google search engine in simplicity and power. Its inference engine is always running to predict the next lines of code that need to be written. I just do my job as normal, and this fancy software running in the background surprises me by showing what I was going to, or should, write faster than I can type it.
It delivers value immediately.
Using GitHub Copilot feels like I’m pairing with a seasoned developer. Sure, it won’t be able to just intake business requirements and churn out a crud app (yet). That is my job. But it does a fantastic job inferring what the next line of code should be, and even sometimes, generating an entire function. That saves me time and my client’s money.
I bounce between many languages as a full-stack developer and sometimes it’s difficult for me to write the syntax right with all the context switching. Copilot almost always gets the syntax right. Lately, it’s been helping me a lot with bash scripts and terraform configs. I find myself using Google less and as a result, I maintain a flow state of the high-level software problem at hand.
Adding GitHub Copilot to My Toolbelt
Seldom do I come across a new technology that blows me away and enhances my experience as a developer. This is the next big thing in my eyes since containerization. Overall, I’m happier as a developer using copilot.
And of course no mention of the ethical issues with Copilot. You like that function it wrote for you? It’s probably lifted from a FOSS project without any attribution.