GitHub Copilot: Software delivery teams’ best friend or worst enemy?
Understanding GitHub Copilot
85%
85% of developers felt more confident with their ability to deliver quality code output.
Connect with me
Bobby Vitrano
Connect with me
VICE PRESIDENT PRACTICE SOLUTIONS
Application Engineering
Kforce Consulting Solutions
John Wright
PRACTICE DIRECTOR
Application Engineering
Kforce Consulting Solutions
Ready to the make the latest
GitHub Copilot update work for you?
If the time is right for your company to embrace this new technology, Kforce can help.
We have successfully rolled out GitHub Copilot at many companies, helping development teams define standards of use when implementing this powerful tool. Our team of experts can guide you through proper use cases to leverage Copilot and add the latest technology to your company’s toolbelt.
Contact Us
Contact Us
MEET THE AUTHORS
GitHub’s AI-powered Copilot Chat continues to revolutionize the development landscape, offering new possibilities for developers. However, many companies are still learning when and how the powerful tool is best used.
Since its initial release, GitHub has expanded access to Copilot Chat, making it available via subscription to both companies and individuals, and launching GitHub Copilot Enterprise. Engineers and developers have been raving about the tool's ability to save time, expand learning potential and increase productivity.
A GitHub study published in November 2024 highlights findings of increased functionality, improved readability and overall better quality of code. The recent study also reaffirmed data from the year prior that showed 85% of developers felt more confident in their code quality when authoring code with GitHub Copilot and GitHub Copilot Chat. Additionally, 88% of survey respondents said the tool helped them enjoy coding more.
This Ruler is for the Space Above and Below the Header Text Area.
It Should Reach from the Bottom of the the Nav Bar to the Top of the Header Text.
And From the Bottom of the Header Text to the Bottom of the Header Photo.
This Ruler is for the Space Between the Bottom of the Hero/Header Text and the
Subheader Copy. Check Your Spacing for Consistency.
This Ruler is for the Space Between Modules/Macros/Sections.
It Should Reach from the Bottom of the Previous Module/Macro to the Top of the Next Section.
88% of developers find the tool helps their focus and lowers frustration.
88%
WHAT the engineering Community is SAYING
UPDATED NOVEMBER 2024
The AI-powered software development tool is a timesaver in some scenarios but creates risk in others.
Bobby Vitrano, Kforce Consulting Solutions Vice President Practice Solutions
"GitHub Copilot is not a replacement for anything but more of an assistance to speed up cycles for educated users. It is only as good as its input, instruction and oversight."
So, what exactly is GitHub Copilot? Just like an aviation copilot assists the pilot with technical steps throughout a flight, GitHub and OpenAI developed a tool that helps developers write code. Both in aviation and coding, the copilot is trained for the task, but is only used when needed. There is still an expert at the helm guiding the result.
Copilot is not a replacement for a well-educated development staff, and it is not a replacement for developers themselves. A company’s development staff needs to be aware of the tool’s limitations and take responsibility for ensuring it is securely implemented.
“Ultimately, it’s up to the company to ensure that the code Copilot produces is safe and secure, protecting any critical data from breaches,” Kforce Application Engineering Leader Bobby Vitrano said. “Copilot was trained on petabytes of source code from dozens of programming languages, not all of which were vetted for best coding practices. It is not a replacement for anything but more of an assistance to speed up cycles for educated users. It is only as good as its input, instruction and oversight.
This article will explore different scenarios in which a developer could use GitHub’s Copilot. Some are ideal for the tool, and others should be reconsidered. By understanding the strengths and limitations of the trending technology, leaders can feel confident in deciding when and how to implement the powerful asset.
Mastering CMS migrations: Solutions to 7 common challenges
Mastering CMS migrations: Solutions to 7 common challenges
Related stories
Kforce develops API modernization tactical roadmap
Kforce drives sustainable transformation with a center of excellence
Kforce drives sustainable transformation with a center of excellence
reaffirmed data from the year prior
But just because individual developers are leaning into the latest AI trend doesn’t mean companies should rely on the tool in every scenario.
The first thing Kforce Application Engineering Expert John Wright thought of when he read about GitHub Copilot was Abraham Maslov’s famous quote: “If all you have is a hammer, everything looks like a nail.”
“While the right tool for the right job can improve the development of code, using the tool wrong can lead to more problems,” Wright said. “It is important as companies start to adopt these powerful tools for their developers that they temper their expectations, look past the hype and put processes in place to support their developers for the best outcome.”
Scenario 1: Tedious tasks
GitHub Copilot’s sweet spot is in streamlining tedious tasks and giving coders a foundation to work from.
Take web APIs as an example. Copilot is great at reading any backing interfaces/procedures that a developer wants to expose via API and creating most API CRUD operations that are needed.
The tool is well trained on this type of work. The developer simply points copilot to a series of interfaces/procedures and asks it to create the corresponding API interfaces. Copilot is then able to read the interfaces/procedures and create the corresponding Web API endpoints for clients. This scaffolding can save developers a lot of time and repetitious coding, allowing them to focus on specific rules, processes and security.
“I was working on a project that had hundreds of interfaces that were going to be exposed by APIs,” Wright said. “I was able to direct Copilot to those interfaces and have it generate the corresponding API scaffolding for them. It saved me hours of programming.”
However, that is not a replacement for validating and managing the output, the developer should still examine the code to ensure it is secure and performant. Copilot replicates baseline code in a sufficient way, but ultimately, it is not responsible for the work. Developers are the owners of the code that is produced, and as such, should ensure the result is quality codes as defined by the company.
Use case scenarios
GitHub Copilot’s sweet spot is in streamlining tedious tasks and giving coders a foundation to work from.
Take web APIs as an example. Copilot is great at reading any backing interfaces/procedures that a developer wants to expose via API and creating most API CRUD operations that are needed.
The tool is well trained on this type of work. The developer simply points Copilot to a series of interfaces/procedures and asks it to create the corresponding API interfaces. Copilot is then able to create the corresponding Web API endpoints for clients. This scaffolding can save developers a lot of time and repetitious coding, allowing them to focus on specific rules, processes and security.
“I was working on a project that had hundreds of interfaces that were going to be exposed by APIs,” Wright said. “I was able to direct Copilot to those interfaces and have it generate the corresponding API scaffolding for them. It saved me hours of programming.”
However, that is not a replacement for validating and managing the output. The developer should still examine the code to ensure it is secure and performant. Copilot replicates baseline code in a sufficient way, but ultimately, it is not responsible for the work. Developers are the owners of the code that is produced, and as such, should ensure the result is quality codes as defined by the company.
Wright equated it to driving a car. Modern models come with all sorts of tools to improve environmental awareness, such as stopping in an emergency or notifying us if someone is in our blind spot. But ultimately, it is up to the driver to ensure they are driving as safely as possible. The tools do not eliminate the need for us to pay attention—so it is with Copilot.
Companies and professionals should carefully consider when and why they’re using Copilot. Doing so effectively can increase adoption, productivity and team velocity. But in the wrong use case, it can provide limited-to-no value and even set a team back.
Scenario result: Saves time and effort, frees developer up for more custom work
This Ruler is for the Space Between Text/Buttons/Callouts. Check Your Spacing for Consistency.
Scenario 1: Tedious tasks
Tedious tasks
quality assurance
MENTORING A JUNIOR DEVELOPER
Tedious Tasks
quality assurance
MENTORING A JUNIOR DEVELOPER
Scenario result: Skilled at writing basic tests; does not replace a good QA staff
GitHub Copilot is particularly skilled at generating unit tests based on existing code. As the developer writes test cases, they can ask the tool to examine the material and create appropriate unit test output. The developer can evaluate and accept the code, often reducing the amount of typing and time needed while creating efficiency around a tedious and simple but critical task.
Creating quality unit tests has long been a pain point – or simple annoyance – for developers. As a result, they often struggle to create quality unit tests. Common excuses for not writing test cases include:
Scenario 2: Quality assurance
Scenario result: Creates risk, potentially introduces security problems or sub-optimal code
We’ve covered two scenarios where GitHub Copilot is helpful. Just as important is understanding where the tool may fall short.
In some instances, a junior developer may be assigned a task that they don’t have the expertise to complete.So, they turn to Copilot as a "mentor" to guide them. As Copilot churns out code based on the developer's limited experience, the junior team member accepts the code at face value and implements it. If your company does not have good policies in place for code reviews or a mature CICD pipeline, this junior developer just risked putting code into production that may introduce errors and instability. Worse, this dependence risks potentially exposing sensitive data to outside entities.
Companies need to be cautious about using Copilot with new developers or those who have bad habits. Copilot is not a replacement for knowledge and experience. It is easy to assume that Copilot will act as a “mentor” or senior level developer and provide insights and experience. This is not the case. New developers should have a good foundation of OOP development skills and solid design skills, as well as basic understanding of programming fundamentals. A developer must be able to understand and evaluate the code Copilot generates. It is their responsibility to know if the code follows company standards or introduces potential security problems.
A junior developer should be able to describe the code functionality and how it incorporates into the program to a senior team member. The senior developer needs to perform this code review until they are comfortable with the junior developer’s knowledge and understanding.
“Human intuition, knowledge and experience are more valuable than the code automation Copilot provides,” Wright said. “Leaving a junior developer under the guidance of Copilot alone is a disservice to the company and the developer.”
Make sure your company has policies and procedures in place for developers to follow to keep them on the right track.
Scenario 3: Mentoring a junior developer
a. I don’t have the time to do unit testing
b. I am paid to develop not write tests
c. I know how to break my own code
d. That is QA’s job
While excuses will always exist, Copilot can help eliminate some barriers that developers run into. The technology is skilled at generating many basic tests, freeing them up to instead focus on more complex tests.
But caution must be taken while using Copilot in this scenario. Copilot is good at generating simple tests based on the code it can examine, but it has no way of creating tests that are more custom or may be required to meet governing oversite. Developers still need to examine the output, write specific tests or write more complex tests that may require more more oversight, interaction or coverage.
Also, Copilot is not a substitute for a good QA staff, robust CI/CD pipeline, proper stage gates or quality oversight. Relying on Copilot to replace QA can leave a company open to untested, non-performant and unsecure code being released into production.
LET'S TALK CUSTOM SOLUTIONS
Contact Us
Contact Us
“Why is my cloud bill so high?”
3 steps to optimize
cloud spend
Connect with me
Chadd Schwartz
MEET THE AUTHORS
SERVICE DELIVERY DIRECTOR
Cloud
Kforce Consulting Solutions
Connect with me
PRACTICE LEADER
Cloud
Kforce Consulting Solutions
Robert Laurens
Published JANUARY 2024
Sound data, prioritization and governance can prevent companies from falling victim to "cloud sprawl"
Cloud solutions revolutionized the corporate world over the past decade. Companies invested time and money to move their data and applications to a central nervous system that promised efficiency, elasticity and cost savings.
But a few years into the transition, some CIOs and CFOs are looking at their budgets and IT operating expenses and wondering where things went wrong. Cloud spend is high, and not everyone is seeing the maximum return.
If your company isn’t seeing the return on investment you hoped for, you’re not alone. Overspending on cloud is a digital pandemic. The term “cloud sprawl” gained traction as corporations realized the pitfalls of unused space, unchecked storage growth and limitless levels of cloud resources/workloads due to lack of cloud governance. These elements of cloud sprawl weigh down organizations financially and expose them to budget overruns.
Cloud Spend Landscape
31% of enterprises spend more than $12 million on public cloud services every year
(RightScale, 2022)
50%
Nearly 50% of IT executives struggle to control cloud costs
(State of Cloud Cost Report 2022)
Obtain cloud spend data
In IT huddles and board rooms across the nation, leaders are looking at their cloud bills and scratching their heads. As with any problem, the first step to solving it is determining the cause.
Ready to cut down on costly cloud spend?
Kforce Consulting Solutions experts can help you optimize your cloud journey through these key three areas and beyond. As your trusted partner, we'll help you collect and analyze the right data, prioritize and execute projects and build a governance structure that protects your company going forward. Investing in cloud financial management can cut down wasteful cloud spend so your business can innovate with all the agility and elasticity of cloud.
Contact Us
Is an In-House Design Studio Right for Your Company?
What AI Solution is
Best for Your Company?
Kforce Leads Large Enterprise Application Migration to AWS Cloud Platform
Related Articles
SPACE IN BETWEEN BUTTONS
SPACE IN BETWEEN MODULES/ Macros/ Sections
SPACE IN BETWEEN HEADER AND SUBHEAD + Subhead & Body
Kforce develops API modernization tactical roadmap
Copilot Chat
Together Toward Tomorrow
Together Toward Tomorrow
Together Toward Tomorrow
GitHub study