Developer Toolbox: Github Copilot

To kick off this new series, the Developer’s toolbox, we asked our developers what their favourite tool is for work.

Within minutes we had multiple replies with the same answer: GitHub Copilot.

 

GitHub Copilot is the new AI coding assistant that acts like an autofill for developers. GitHub’s Thomas Dohmke describes Copilot as “an editor extension that suggests code in real-time”. The tool had been in technical preview for a year before announcing its release to General Availability (GA) status just last month.

 

Over its year in preview, 1.2 million developers (including the LuminateOne team) trialled the tool. Through evolutionary computation, scanning millions of lines of code committed by GitHub community members, Copilot is now versed in billions of lines of code in various code languages. The aim of the tool is to spend less time creating boilerplate and repetitive code patterns, and more time focusing on the end goal: building great software.

 

In the LuminateOne offices, we’ve been using GitHub Copilot since February this year, and we’re quite impressed! In five months, we’ve noticed a real difference in our workflow and we’ve rounded up our developer’s thoughts to give you our pros & cons.

 

PROS

 

Effective timesaver

 

This is hands-down the biggest perk of Copilot. Having the ability to autocomplete lines of code and sometimes whole functions have been a huge timesaver. It took some getting used to, but once we understood how to frame inline code documentation in a way that the AI could easily compute, we found the code output surprisingly helpful. By not sweating the small stuff, we can focus on building the truly awesome software our team are capable of.

 

Makes helpful predictions

 

Much like predictive text, Copilot suggests the ending to your lines of code. It’s truly been great to see finicky, repetitive code complete itself, keeping us from banging our heads against our desks over minor issues. This means we save our brainpower for the more creative & challenging sections of code and algorithms.

 

Improves inline code documentation

 

Copilot has encouraged us to write better inline code documentation. This is because the tool generates suggestions based on the code documentation you give it. Kodie Upton, our development team lead noted that “our documentation has had to be more verbose so that Copilot can properly suggest the next stage, which in turn is good for returning or future developers to use for reference.”

 

It has encouraged all developers to get into the practice of writing great documentation. In particular, we’ve found that the need for comprehensive inline code documentation has helped our junior developers to instil good habits early on in their development journey. Not only is it helping them realise solutions and deploy them, but it’s helping them improve their code readability and writing skills.

 

CONS

 

Doesn’t work in all situations

 

Fortunately for us developers, Copilot is not perfect. Kodie uses the tool for many different languages including Python, JavaScript, TypeScript and more. But he has found limitations when working within templates. “It struggles to work well within templates that mix different languages, like HTML blocks within PHP files, for example”. This isn’t surprising for a tool still in its infancy, we imagine this will change in later renditions.

 

OpenSource Licensing Issues

 

As Copilot’s AI has been trained on billions of lines of public OpenSource code, the debate over intellectual property and licensing have caused quite the stir. It appears the code generated can and has on occasion derived or emulated existing code without an attribute to the original license. This is potentially problematic as users may unknowingly create derivative works of copyleft-licensed code.

 

Copilot has navigated this issue with a broadly worded license in their terms of use which gives “the right to store, archive, parse, and display Your Content, and make incidental copies, as necessary to provide the Service, including improving the Service over time.” While this hasn’t quite subdued the backlash they are facing online, we are keen to see how GitHub tackle this in the future.

 

Future of AI coding tools

 

Copilot’s successful release has paved the way for other companies to follow the lead. Amazon unveiled their own code assistant at their re:Mars conference just a few days after CoPilot was officially launched and is now in the preview stages for developers to play with. Google has also announced their AI tool, Alphacode.

 

Final thoughts

 

Overall, we’ve seen a real improvement in performance within our business using this new technology. The rate at which we develop has gotten faster and our developers have noticed a real difference when using Copilot. We will continue to use the AI assistant and investigate new AI tools as they are released.

 

We are cautiously optimistic about the future of AI development tools. While there is fear that sometime in the distant future our roles could be automated away, we are confident that with the help of AI coding assistants the bar will be raised for humans, and the small finicky code will be left to the bots while we humans focus on creating truly innovative software.

More
articles

Off-the-Shelf: Monday.com

While we love building custom software solutions at LuminateOne, it simply would not be efficient to reinvent the wheel every time a new project came

Read More »
Blog - Business education

Everything Business Education

An online educational resource developed by LuminateOne is the legacy of an inspirational secondary school teacher. Mary Kerrigan, who passed away in 2020, provided the

Read More »