Steve Seeberg

03-15-2023

AI Co-Pilots: Transforming Programming

What is an AI Co-Pilot for programming?

AI co-pilots leverage natural language processing and machine learning to work alongside programmers, offering coding assistance and accelerating the development process. It functions within your Integrated Development Environment (IDE), analyzing code and programming context to provide:

  • Code completions: AI co-pilots suggest entire lines or blocks of code, anticipating your intent and aligning with your coding style.
  • Explanations: These tools deconstruct complex code and provide clear explanations of various functions or code segments.
  • Refactoring assistance: Recommendations are given for improved code structure and optimized implementation.
  • Bug detection: Early identification of potential errors helps with proactive troubleshooting and debugging.

Generative AI increases developer speed, but less so for complex tasks

Source: McKinsey Digital, “Unleashing Developer Productivity with Generative AI,” June 2023,

Where generative AI shows the most gains

  • “Expediting manual and repetitive work Generative AI can manage routine tasks such as auto-filling standard functions used in coding, completing coding statements as the developer is typing, and documenting code functionality in a given standard format, based on the developer’s prompt. In doing so, these tools can free developers to solve more complex business challenges and fast-track new software capabilities.” (McKinsey)
  • “Jump-starting the first draft of new codeWhen facing a blank screen, developers with generative AI– based tools can request suggestions by entering a prompt in a separate window or within the integrated development environment (IDE) they use to develop software.” (McKinsey)
  • Accelerating updates to existing code With effective prompting, developers can make more changes to existing code faster. For instance, to spend less time adapting code from an online coding library and improving prewritten code, developers can copy and paste it into a prompt and submit iterative queries requesting the tool to adjust based on the criteria they provided. (McKinsey)
  • Increasing developers’ ability to tackle new challenges. The technology can help developers rapidly brush up on an unfamiliar code base, language, or framework necessary to get the job done. Furthermore, when developers face a new challenge, they can turn to these tools to provide the kind of help they might otherwise seek from an experienced colleague explaining new concepts, synthesizing information, and providing step-by-step guides on how to use a framework so they can do the work. (McKinsey)

Popular AI Co-Pilot tools

  • GitHub Copilot (Microsoft/GitHub): A popular tool trained on vast amounts of code; it seamlessly integrates with popular IDEs.
  • Amazon CodeWhisperer : Offers versatility for developers across different programming languages and integrates well with AWS services. (https://aws.amazon.com/codewhisperer/)
  • Tabnine (Codota): Offers robust language support and focuses on efficiency through concise code suggestions. (https://www.tabnine.com/)
  • Addition vendors include: ChatGPT, Pieces for Developers, Codex by open ai, Kite, Codium, CodeGeeX

Career benefits for developers

  • Potential for increased salary: Enhanced productivity should create opportunities to negotiate a higher salary, especially when demonstrating tangible improvement in output and code quality.
  • Faster skill acquisition: AI co-pilots expose developers to new languages, frameworks, and best practices through their suggested code completions. This accelerated learning can enhance skills, making developers more marketable and eligible for advanced roles.
  • Improved problem-solving and creativity: AI co-pilots offer various code suggestions, broadening developers' perspectives on how to address coding challenges. This expands their problem-solving toolbox and enables them to think more creatively about innovative solutions, potentially leading to promotions and increased compensation.
  • Competitive advantage: : In an increasingly AI-driven landscape, displaying a strong understanding and experience with AI-assisted development tools indicates greater adaptability giving develop

Benefits for employers and project managers

Equipping developers to be their most productive also significantly improves the developer experience, which in turn can help companies retain and excite their best talent. This can be attributed to the generative AI tools’ ability to automate grunt work that kept developers from more satisfying tasks and to put information at their fingertips faster than a search for solutions across different online platforms. (McKinsey)

Source: McKinsey Digital, “Unleashing Developer Productivity with Generative AI,” June 2023

Potential pitfalls

AI co-pilots are powerful tools, but not replacements for a programmer's skill and judgment. Using them effectively requires a balanced approach.

  • Over-reliance and Reduced Skill DevelopmentProgrammers can become overly dependent on AI-generated code lessening their problem-solving practice and reducing their skill development. They should use AI co-pilots as tools to enhance their work, making sure they understand why and how suggested code works, rather than blindly accepting it.
  • Code Quality and IncorrectnessAI models, while trained on massive datasets, can still produce incorrect, inefficient, or suboptimal code requiring careful human review. Never assume AI-generated code is flawless and thoroughly test suggestions.
  • Security Vulnerabilities AI co-pilots are trained on vast amounts of open-source code, some of which could contain security issues. Employ code scanning and vulnerability checks on both your code and AIgenerated suggestions.
  • Reduced CreativityIf developers heavily rely on AI-generated solutions, there's a potential for decreased creativity over time. Developers should use AI co-pilots to expand possibilities encouraging innovative thinking.

Upskilling resources

A transformational opportunity

AI co-pilots and all offerings of coding with generative AI represent an exciting frontier in software development. IT programmers willing to adapt and integrate these tools will find themselves streamlining their workflow, increasing productivity, and creating better code, in less time while increasing their value to employers.

* A portion of the research for this article was done using Artificial Intelligence.