How does GitHub Copilot Change the Way Dev Teams Work with Kyle Daigle, COO at GitHub

The Impact of AI Assisted Coding on Development Teams

When it comes to AI assisted coding, many people expected that the primary benefit would be an increase in code production speed and quality. While this is indeed a significant advantage, what's equally interesting is how development teams have become more collaborative and their operations have become easier.

In recent times, we've done some research studies on this topic, including one where we asked engineers about the number of engineers that work with them on a given project. The results were eye-opening: on average, 21 engineers work on a single project at any given time. This means that development teams are becoming increasingly collaborative, with many team members contributing to a single project.

So, how does GitHub Co-Pilot help teams become more collaborative and efficient? According to our research, it's not in the way that most people might expect. When we started working on this project, we realized that when you have a lot of syntax and semantics figured out for you, you're able to focus more on the problem-solving aspect of development. You're no longer spending hours trying to come up with a solution; instead, you can start with a framework and collaborate with your team to find the best approach.

This is especially true for senior developers and staff engineers, who may be accustomed to working alone or with very few colleagues. However, with Co-Pilot, they're able to work more collaboratively with their teams. They can use the tool to generate code and then review it together, ensuring that everyone is on the same page.

One of the ways Co-Pilot helps teams become more collaborative is by reducing the amount of time spent on reviewing small, tactical issues like variable naming conventions or method selection. While these things are important, they're not always the most pressing concerns for a development team. By using Co-Pilot, developers can focus on the bigger picture and work together to achieve their goals.

In addition to making development more efficient, Co-Pilot also helps teams work more effectively by reducing the amount of time spent on discussions about minor details. Developers can use the tool to generate code and then ask questions like "Is there a better method for this?" or "How can we improve this?" The responses from Co-Pilot help guide the development process and ensure that everyone is on the same page.

This approach also changes the way developers interact with each other. Instead of spending hours discussing minor details, they're able to have more in-depth conversations about the bigger picture. They're working together to find solutions and make trade-offs, rather than getting bogged down in trivialities.

As we move forward with AI and generative coding tools like Co-Pilot, it's clear that the focus will shift from minor details to the bigger picture. Developers will need to know where they want to go and how they want to get there. The tool will help guide them along the way, but ultimately, it's up to the team to work together towards a common goal.

In this sense, Co-Pilot is not just a tool for generating code; it's a facilitator of collaboration and innovation. It helps developers work more efficiently and effectively, leading to faster development cycles and more successful projects. By embracing AI assisted coding and working collaboratively with their teams, developers can achieve great things and create innovative solutions that might not have been possible otherwise.

"WEBVTTKind: captionsLanguage: enI think we all expected that you know with AI assisted coding that will be able to produce more code that will be able to code faster right but what's interesting that you're touching upon here is that you know development teams have also become more collaborative their you know their work their operations have become easier maybe walks through a bit more detail you know from what you've seen maybe take a few examples from G co-pilot customers how does how do co- how does co-pilot help teams become more collaborative and help their operations become smoother yeah yeah so you know probably not in the way that you think uh you know when we started this we we kind of did a couple of research studies and one of them we asked uh Engineers that work in in a you know a company climate you know what's the number of Engineers that work with you on a given project and we found that on average 21 Engineers work on a single project at any given time and so that's a lot of people that you either want to get review from or have to get review from before you can actually deploy something and so what we started to kind of realize is that when you're getting so much of the sort of you know syntax and semantics figured out for you you're way you have way more time to focus on the problem in the architecture in starting at the beginning and saying okay well how should we structure this versus needing to kind of paint your way to that you can start with a framework and that's a moment to collaborate that was wasn't always there before because in a lot of times if you're a senior Dev or a staff engineer you might be like all right go start with this library and this class get going and I'll review it well if co-pilot can do the get going for you then it's actually more important that you're clear up front and you have to talk through that creative step way more you know and I think on the pull request side why we see pull requests being so much faster is that there's less review on um the small and Tactical things that you know come up like this this variable is not well uh named or have you considered using this method or not because while you're working co-pilot can use your company's sort of Standards to do that or you can ask a question to get a co-pilot chat right and say hey is there a better method than gsub here yes you can use Split For example and so when you're actually reviewing the code you're reviewing the architecture the implementation the intention behind the change in our most senior and staff folks are helping like teach and imbue that into the code base and other Engineers instead of you know spending 50% of things uh for 50% of time on things that the linters you know didn't catch and so you know I really think as we move forward with AI and generative Ai and code we're going to see more and more and more of the focus on what should this system look like how should it operate and do a little bit less of you know I'm going to find my way there and then when I get there I'll plant a flag in the ground and say here I am and actually start way more up front with that process uh because that's what we all know with AI whether we use chat GPT or some other tool the question you ask the problem you pose is currently the most important thing and with GitHub co-pilot or Cod genen it's it's kind of no different we you have to know where you want to go and how you want to get there um uh to be most efficient in those are the conversations that I think dev's uh speaking for myself I love to have anyway I'd rather talk about you know what we're trying to do and what tradeoffs we want to make way more than hey should we be using camel case here or this nested uh class syntax doesn't make any sense uh uh that's something I'd rather's you know the the tool just to help me do automaticallyI think we all expected that you know with AI assisted coding that will be able to produce more code that will be able to code faster right but what's interesting that you're touching upon here is that you know development teams have also become more collaborative their you know their work their operations have become easier maybe walks through a bit more detail you know from what you've seen maybe take a few examples from G co-pilot customers how does how do co- how does co-pilot help teams become more collaborative and help their operations become smoother yeah yeah so you know probably not in the way that you think uh you know when we started this we we kind of did a couple of research studies and one of them we asked uh Engineers that work in in a you know a company climate you know what's the number of Engineers that work with you on a given project and we found that on average 21 Engineers work on a single project at any given time and so that's a lot of people that you either want to get review from or have to get review from before you can actually deploy something and so what we started to kind of realize is that when you're getting so much of the sort of you know syntax and semantics figured out for you you're way you have way more time to focus on the problem in the architecture in starting at the beginning and saying okay well how should we structure this versus needing to kind of paint your way to that you can start with a framework and that's a moment to collaborate that was wasn't always there before because in a lot of times if you're a senior Dev or a staff engineer you might be like all right go start with this library and this class get going and I'll review it well if co-pilot can do the get going for you then it's actually more important that you're clear up front and you have to talk through that creative step way more you know and I think on the pull request side why we see pull requests being so much faster is that there's less review on um the small and Tactical things that you know come up like this this variable is not well uh named or have you considered using this method or not because while you're working co-pilot can use your company's sort of Standards to do that or you can ask a question to get a co-pilot chat right and say hey is there a better method than gsub here yes you can use Split For example and so when you're actually reviewing the code you're reviewing the architecture the implementation the intention behind the change in our most senior and staff folks are helping like teach and imbue that into the code base and other Engineers instead of you know spending 50% of things uh for 50% of time on things that the linters you know didn't catch and so you know I really think as we move forward with AI and generative Ai and code we're going to see more and more and more of the focus on what should this system look like how should it operate and do a little bit less of you know I'm going to find my way there and then when I get there I'll plant a flag in the ground and say here I am and actually start way more up front with that process uh because that's what we all know with AI whether we use chat GPT or some other tool the question you ask the problem you pose is currently the most important thing and with GitHub co-pilot or Cod genen it's it's kind of no different we you have to know where you want to go and how you want to get there um uh to be most efficient in those are the conversations that I think dev's uh speaking for myself I love to have anyway I'd rather talk about you know what we're trying to do and what tradeoffs we want to make way more than hey should we be using camel case here or this nested uh class syntax doesn't make any sense uh uh that's something I'd rather's you know the the tool just to help me do automatically\n"