Changing Software Engineering practice using AI tools
Grant Carver
Technical Leadership | Scaling Cloud SAAS Products, Teams, and Businesses | DevOps and Software Engineering | Musician
I've been attending GitHub Universe 2023 and - as we expected - GitHub Copilot was front and centre. We have been talking about how LLM's and AI tooling in general will be changing how we work as Software Engineers and there were several key things that were evident in how GitHub sees their role in supporting engineers.
This is key in achieving the next point. We need access to an assistant anywhere engineers are working. This has been confined to the IDE/Editor until now which restricted how Copilot could be used. Embedding access everywhere opens up myriad use cases where it can add value.
I think GitHub saying that they were founded on Git and are now being re-founded on Copilot tells us everything about where they see the future of software engineering. It's in enabling engineers with the most supportive, contextually aware AI tooling to improve their experience and in turn performance in delivering outcomes.
2. Expanding Copilot to more use cases that make life easier for engineers.
This is a significant difference to the low and no code proponents in how GitHub views the benefits of AI tooling. Copilot is there to assist, to work as an adjunct, to support and guide engineers. It is not a replacement but an empowering tool.
I've previously been part of the early access to the Copilot X programs and having the help of an intelligent, context aware, tool in explaining code, summarising work, creating boilerplate, crafting test suites, and scanning and suggesting secure code changes are game changers in the developer experience. Purely the subjective response to having access to these tools meant happier engineers. Combine that with the acceleration provided by realtime, in line, guidance without the need to refer to documentation and the automation of generating undifferentiated structural code and tests, mean that engineers are focused on the real work of solving for their business case.
3. Customising the models with contextual information specific to an organisation or development environment.
This is incredibly powerful and a key feature we were looking for in examining AI assistants for engineering. We want to be able to add the context of our specific environment, tools, API's, and developer platform to how the assistant answers questions. In my opinion this is what will make AI assistants the disrupting factor in software engineering.
领英推荐
By giving the model refined training on your specific code bases and documentation you can have it take over the onboarding questions that new engineers have. Have the assistant explain business processes in detail within a complex, distributed system. How much faster will engineers feel comfortable enough to contribute to an unknown system if they have an SME walking beside them?
Everyone is dealing with legacy systems where key people have moved on and there is hesitancy and real risk in making changes. This reduces those risk levels significantly.
There are industries with specific regulatory requirements that need to implement certain functions in a manner that differs from the general use case. We want to provide guidance and implementation that is aligned to our requirements and customising the model can help us achieve this. This allows that to be prioritised allowing the org to maintain governance and still benefit from the acceleration seen with these tools.
4. Integrate with other tooling in the Engineers toolbox.
Surfacing information from different tools in an effective manner is a challenge we continually see in engineering. We try and achieve this by having Service Catalogues and Developer Portals where we bring data to a centralised location. How much more effective would it be to have this data available right where engineers are working?
Imagine a world where your AI assistant can directly reference traces and tell you the impact the section of code you are working on has on request times? Or suggest improvements to a datastore query based on engine metrics and query analysis?
There is a huge opportunity here for producers of tooling, platforms, and services to integrate deeply with the AI assistants that will become the core of how engineers operate.
If you have 45 mins I would suggest a watch of the GitHub Universe 2023 Opening Keynote
and have a read through Thomas Dohmke's blog post https://github.blog/2023-11-08-universe-2023-copilot-transforms-github-into-the-ai-powered-developer-platform/
Mobile Application Developer | Software Engineer | Backend Developer |Flutter | Android | IOS | NodeJS | Postgraduate Researcher | IOT | Blockchain | Machine Learning | IoT
10 个月GitHub's investment in Copilot is a clear indication of the direction our profession is heading in. It's exciting to see how AI can enhance our productivity and improve code quality.