Steve Seeberg
06-15-2023
Measurable benefits for CTOs
Generative AI for Coding and AI Co-Pilots, two innovative special-use cases of AI Large Language Models (LLMs) and Natural Language Processing (NLP) are revolutionizing software development and project delivery.
For CTOs and recruitment managers, they provide a multitude of actionable and measurable transformative benefits such as,
- Dramatically shortening project delivery time
- Reducing development cost
- Optimizing resource deployment
- Enabling scalability
- Spurring innovation
- Streamlining onboarding
- Building brand equity in the eyes of employment prospects
- Increasing developer satisfaction
- Decreasing turnover
- Encouraging skill development
Happier and more productive developers
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 and AI Co- Pilot 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
Generative AI for coding vs AI Co-Pilots
- Generative AI for coding
Generative AI for coding refers to artificial intelligence systems that generate code based on specific prompts in any spoken language. These systems can create new code from scratch and can produce entire blocks of code, functions, or even complete programs based on user input.
Generative Ai for coding is useful for quickly generating boilerplate code, prototypes, or even complex functions and large sections of code without having to manually write each line.
- AI Co-Pilots
AI co-pilots refer to artificial Intelligence systems that are more focused on assisting developers in real-time as they write code. They function as a virtual pair programmer, offering advice, detecting potential errors, and improving code quality, suggesting code snippets, auto-completing code lines, and providing documentation based on the context of the code being written.
Using machine learning, AI Co-Pilots incorporate programmer feedback to improve suggestions over time.
AI Co-Pilots are more suited for assisting with small to medium-sized code tasks and enhancing existing code and functions within your Integrated Development Environment (IDE).
- Core capabilities
- Code creation: Spoken or natural language prompts are used to create code.
- Code completion: AI co-pilots suggest entire lines or blocks of code, anticipating your intent and aligning with your coding style.
- Explanation: These tools deconstruct complex code and provide clear explanations of various functions or code segments.
- Documentation: Needed documentation can be easily and instantly created.
- Refactoring: 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 and AI Co-Pilots increase developer speed, but less so for complex tasks
Source: McKinsey Digital, “Unleashing Developer Productivity with Generative AI,” June 2023
Where generative AI and AI Co-Pilots 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 code
When 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)
Who uses these tools
A 2024 survey by StackOverflow of 1,700 developers found a majority of respondents (76%) are using or are planning to use AI code assistants. Some roles use these tools more than others amongst professional developers. These roles currently use code assistants the most.
- Academic researchers (87%)
- AI developers (76%)
- Front-end developers (75%)
- Mobile developers (60%)
- Data scientists (67%)
Other roles indicated they are using code assistants (or planning to) much less than average.
- Data/business analysts (29%)
- Desktop developers (39%)
- Data engineers (39%)
- Embedded developers (42%)
The nature of these tools lend themselves to work well when trained well; a tool such as GitHub Copilot that is trained on publicly available code will be good at JavaScript for frontend developers and not so good with enterprise and proprietary code scenarios that business analysts and desktop developers face regularly. (StackOverflow, May 29, 2024 “Developers get by with a little help from AI: Stack Overflow Knows code assistant pulse survey results”.)
Potential pitfalls
Generative AI for coding and AI co-pilots as coding assistants are powerful tools, but not replacements for a programmer's skill and judgment. As the Purdue University Study cited below indicates, using them effectively requires a balanced approach.
-
Code Quality and Incorrectness
All coding assistants while trained on massive datasets, still produce incorrect, inefficient, or suboptimal code requiring careful human review. Never assume AI-generated code is flawless and thoroughly test suggestions.
This warning is borne out by researchers from Purdue University whose recent study “Is Stack Overflow Obsolete? An Empirical Study of the Characteristics of ChatGPT Answers to Stack Overflow Questions” found that 52 percent of programming answers generated by ChatGPT contain misinformation.
The study addressed the question Is Stack Overflow Obsolete? by investigating how well ChatGPT performs in answering programming questions compared to Stack Overflow. Specifically the researchers took 517 programming questions asked on Stack Overflow and examined the correctness, conciseness, and consistency of ChatGPT answers. They found that 52 percent of ChatGPT answers contain misinformation, 77 percent of the answers are more verbose than human answers, and 78 percent of the answers suffer from different degrees of inconsistency to human answers.
Despite these shortcomings, by conducting a small user study with twelve participants, they found that ChatGPT answers were preferred 35% of the time due to their comprehensiveness and their use of well-articulated language style and they overlooked the misinformation in the ChatGPT answers 39% of the time.
This led the Purdue researchers to state: “This implies the need to counter misinformation in ChatGPT answers to programming questions and raise awareness of the risks associated with seemingly correct answers”
Stack Overflow is playing its part in this endeavor by partnering with OpenAI and giving it access to its entire repository of programming questions and answers. Another way to improve ChatGPT answers is to raise the quality of prompts ensuring that they contain clear information. (Sue Gee, June 5, 2024 “Developers Like Code Assistants Even When They Are Incorrect”, i-programmer.info).
- Over-reliance and Reduced Skill Development
Programmers 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.
- 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 AI-generated suggestions.
- Reduced Creativity
If 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.
Popular tools
Two code assistant tools dominate the space today: ChatGPT and GitHub Copilot. Professional developers and those learning to code are equally likely to be using ChatGPT, but those learning are less likely to be using GitHub Copilot (29% vs. 49%). Given that ChatGPT offers a popular free option and GitHub Copilot offers a time-limited free trial, this makes sense. Visual Studio IntelliCode is more popular with those learning (16% vs. 11%), as there is a free version of this IDE for those not using an enterprise license. (StackOverflow)
-
ChatGPT:
Most popular offering a free option.
-
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:
Codeium, Visual Studio IntelliCode, Google Gemini, Cody, Microsoft Copilot, Pieces for Developers, Codex by Open Ai, Kite, CodeGeeX
Easiest and most satisfying to use
- Codeium (84%)
- GitHub Copilot (76%)
- ChatGPT (61%)
Increased Productivity vs satisfaction
Upskilling resources
- Coursera | Globalpros.ai: An intermediate 3-hour course ”Coding with Generative AI” sponsored by Globalpros.ai, provided by Coursera and taught by Fractal Analytics can be monitored free or taken to generate a certification for $49. www.globalpros.ai/education.
- Vendor documentation: Start with the official documentation of your chosen AI co-pilot (e.g., GitHub Copilot docs).
- Community Forums and Blogs: Engage with other developers using these tools, sharing experiences and tips.
- YouTube Tutorials and Webinars: Benefit from visual guides and demonstrations from coding experts. Coding with an AI pair programmer: Getting started with GitHub Copilot by GitHub, Have I Found The Best AI Copilot? by Janakiram MSV, GitHub Copilot: (https://www.eficode.com/webinar-ai-driven-development-exploringgithub-copilot)
- Specialized Workshops: Look for intensive workshops and boot camps targeted towards AI-assisted coding. https://redresscompliance.com/microsoft-copilot-bootcamp-a-2-daycomprehensive-course/
Certifications
- To our knowledge at this time, the only Certification for coding with generative AI is that provided by the Coursersa | Globalpros.ai sponsored course mentioned above. www.globalpros.ai/eduction.
Development professional guidance required
Generative AI and AI co-pilots are reshaping the software development and project delivery landscape at an unprecedented pace, offering significant productivity gains, and transforming developer experience.
While these tools hold immense potential for streamlining workflows, accelerating project delivery, encouraging innovation, and increasing developer satisfaction, given the pitfalls noted above, their adoption requires the careful, thoughtful, and inquiring guidance of experienced development professionals.
About Globalpros.ai
If you haven’t had a chance to visit our website, we’re a private marketplace powered by machine learning with tens of thousands of the world’s top, deeply pre-vetted developers in our AI Talent Sync Community seeking fulltime positions.
Our Community consists of app and web developers as well as highdemand, hard-to-fill roles such as AL/ML engineer, data engineer, certified salesforce developer, and the fast-growing role, generative AI for coding and AI Co-Pilot expert.
Our AI/ML technology instantly matches and ranks candidates from the Community to your job description, reducing your time to fill by up to 90%. Contract or direct hire onshore remote or save up to 40% in salary and HR expense by hiring nearshore or offshore.
There’s no learning curve. Copy and paste a full job description or let AI generate one for you and see deeply vetted and ranked matches in seconds ready to shortlist and interview.
GLobalpros.ai is free (no subscription fee) to match, rank, shortlist, and interview.
Use Globalpros.ai as your go-to sourcing tool and avoid expensive portal ads, resume searches and the time-consuming resume evaluation of hundreds of CVs from those ads, searches, and career pages. https://www.globalpros.ai/client-lp1