A trial of Microsoft’s “AI pair programmer” tool GitHub Copilot at Tampa’s MercuryWorks, a custom software development company specializing in web apps, mobile apps, .NET development, and legacy application modernization, produced promising productivity benefits as announced by founding partner Donald Bickel.
“We’re not dealing with magic yet,” Bickel said, “but we’re getting close.”
The results so far have exceeded the company’s expectations for the tool, which was initially believed to be incompatible with MercuryWorks engineering’s practice of keeping code bases in Azure DevOps Git repositories. Once compatibility was established, the engineers set out to explore Copilot’s capabilities as a productivity tool and quickly began incorporating it into their work.
“We saw the quickest new tool adoption we’ve seen in the firm’s 25-year history,” Bickel said.
Results since January have established several clear use cases and benefits, the firm reported. Top productivity and quality benefits include:
- Autocompletion of entire chunks of code
- Automated unit test creation with streamlined test generation and improved code quality
- Detailed explanations of code sequences
- Code refactoring suggestions for reduced complexity and improved readability
- Code creation suggestions for increased development speed, improved functionality, risk reduction, and enhanced collaboration
- Streamlined debugging process
- Automated code documentation
Autocomplete
According to Bickel, this is the single most used GitHub Copilot feature by MercuryWorks. Copilot Autocomplete empowers developers to be more productive by streamlining repetitive tasks and suggesting best practices.
“You may be asking: isn’t this just IntelliSense? It’s a lot more,” noted Bickel.
IntelliSense is embedded into Microsoft Integrated Development Environments (IDEs) to help developers with remedial tasks, like single statement syntax and line completion. Copilot’s Autocomplete does that but goes much further – Copilot Autocomplete will provide the logic and code for an entire function rather than single lines or statements only.
3 Keys to Maximizing Effectiveness
From the experience of MercuryWorks, maximizing the effectiveness of GitHub Copilot requires a proactive approach with three keys to consider according to Bickel:
1. The Power of Prompts
By treating GitHub Copilot as a helpful coding partner and guiding it with clear and concise prompts, the more accurate and relevant its suggestions become.
2. A Context-Rich Coding Environment
Copilot thrives on context so it will produce better suggestions when utilizing existing code and libraries, maintaining consistent formatting and naming conventions, and leveraging code comments consistently – clear comments act as guideposts for Copilot, helping it grasp the intent behind the code so it can generate more targeted suggestions.
3. A Collaborative Learning Environment
While Copilot can significantly accelerate development, code reviews remain crucial for quality assurance, knowledge sharing and serve as an opportunity to discuss alternative approaches and best practices for leveraging Copilot.
Day-to-Day Benefits & Productivity Improvement
In general, Bickel says, the tool has generated solid productivity gains and helped to streamline and reduce repetitive tasks, freeing developers to work on core activities. This creates more value for clients in less time.
MercuryWorks engineers reported reduced development time, fewer errors, enhanced code discovery, and improved code consistency, among other time-saving benefits. The company’s engineering leaders estimated an overall productivity improvement of 10%, a figure that is expected to increase as Copilot becomes more ingrained into the firm’s coding style.