{"id":71337,"date":"2023-04-14T08:15:50","date_gmt":"2023-04-14T15:15:50","guid":{"rendered":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/?p=71337"},"modified":"2024-02-07T18:15:54","modified_gmt":"2024-02-08T02:15:54","slug":"how-generative-ai-is-changing-the-way-developers-work","status":"publish","type":"post","link":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/","title":{"rendered":"How generative AI is changing the way developers work"},"content":{"rendered":"<p>During a time when computers were solely used for computation, the engineer, Douglas Engelbart, gave the \u201c<a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/www.smithsonianmag.com\/innovation\/douglas-engelbart-invented-future-180967498\/\">mother of all demos<\/a>,\u201d where he reframed the computer as a collaboration tool capable of solving humanity\u2019s most complex problems. At the start of his demo, he asked audience members how much value they would derive from a computer that could instantly respond to their actions.<\/p>\n<p>You can ask the same question of generative AI models. If you had a highly responsive generative AI coding tool to brainstorm new ideas, break big ideas into smaller tasks, and suggest new solutions to problems, how much more creative and productive could you be?<\/p>\n<p>This isn\u2019t a hypothetical question. AI-assisted engineering workflows are quickly emerging with new generative AI coding tools that offer code suggestions and entire functions in response to natural language prompts and existing code. These tools, and what they can help developers accomplish, are changing fast. That makes it important for every developer to understand what\u2019s happening now\u2014and the implications for how software is and will be built.<\/p>\n<p>In this article, we\u2019ll give a rundown of what generative AI in software development looks like today by exploring:<\/p>\n<ul>\n<li><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-04-14-how-generative-ai-is-changing-the-way-developers-work\/#the-unique-value-generative-ai-brings-to-the-developer-workflow\">The unique value generative AI brings to the developer workflow<\/a><\/li>\n<li><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-04-14-how-generative-ai-is-changing-the-way-developers-work\/#how-are-generative-ai-coding-tools-designed-and-built\">How generative AI coding tools are designed and built<\/a><\/li>\n<li><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-04-14-how-generative-ai-is-changing-the-way-developers-work\/#why-should-developers-care-about-transformers-and-llms\">Why developers should care about large language models<\/a><\/li>\n<li><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-04-14-how-generative-ai-is-changing-the-way-developers-work\/#how-developers-are-using-generative-ai-coding-tools\">How developers are using generative AI coding tools<\/a><\/li>\n<\/ul>\n<h2 id=\"the-unique-value-generative-ai-brings-to-the-developer-workflow\"><a class=\"heading-link\" href=\"#the-unique-value-generative-ai-brings-to-the-developer-workflow\">The unique value generative AI brings to the developer workflow<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>AI and automation have been a part of the developer workflow for some time now. From machine learning-powered security checks to CI\/CD pipelines, developers already use a variety of automation and AI tools, like <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-02-17-leveraging-machine-learning-find-security-vulnerabilities\/\">CodeQL on GitHub<\/a>, for example.<\/p>\n<p><strong>While there\u2019s overlap between all of these categories, here\u2019s what makes generative AI distinct from automation and other AI coding tools:<\/strong><\/p>\n<div data-target=\"content-table-wrap.container\" class=\"content-table-wrap\"><content-table-wrap><table>\n<tbody>\n<tr>\n<td colspan=\"1\" rowspan=\"1\"><strong>Automation: \ud83d\udee4<\/strong><br \/>\n<strong>You know what needs to be done, and you know of a reliable way to get there every time.<\/strong><\/td>\n<td colspan=\"1\" rowspan=\"1\"><strong>Rules-based logic:<\/strong> \ud83d\udd0e<br \/>\n<strong>You know the end goal, but there\u2019s more than one way to achieve it.<\/strong><\/td>\n<td colspan=\"1\" rowspan=\"1\"><strong>Machine learning: \ud83e\udde0<br \/>\nYou know the end goal, but the amount of ways to achieve it scales exponentially.<br \/>\n<\/strong><\/td>\n<td colspan=\"1\" rowspan=\"1\"><strong>Generative AI: <\/strong>\ud83c\udf10<br \/>\n<strong>You have big coding dreams, and want the freedom to bring them to life.<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">You want to make sure that any new code pushed to your repository follows formatting specifications before it\u2019s merged to the main branch. Instead of manually validating the code, you use <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/resources.github.com\/devops\/tools\/automation\/actions\/\">a CI\/CD tool like GitHub Actions<\/a> to trigger an automated workflow on the event of your choosing (like a commit or pull request).<\/td>\n<td colspan=\"1\" rowspan=\"1\">You know some patterns of SQL injections, but it\u2019s time consuming to manually scan for them in your code. A tool like <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/codeql.github.com\/\">Code QL<\/a> uses a system of rules to sort through your code and find those patterns, so you don\u2019t have to do it by hand.<\/td>\n<td colspan=\"1\" rowspan=\"1\">You want to stay on top of security vulnerabilities, but the list of SQL injections continues to grow. A coding tool that uses a machine learning (ML) model, like Code QL, is <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-02-17-leveraging-machine-learning-find-security-vulnerabilities\/\">trained<\/a> to not only detect known injections, but also patterns similar to those injections in data it hasn\u2019t seen before. This can help you increase recognition of confirmed vulnerabilities and predict new ones.<\/td>\n<td colspan=\"1\" rowspan=\"1\">Generative AI coding tools leverage ML to generate novel answers and predict coding sequences. A tool like <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/features\/copilot\">GitHub Copilot<\/a> can reduce the amount of times you switch out of your IDE to look up boilerplate code or help you brainstorm coding solutions. Shifting your role from rote writing to strategic decision making, generative AI can help you reflect on your code at a higher, more abstract level\u2014so you can focus more on <em>what<\/em> you want to build and spend less time worrying about <em>how<\/em>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/content-table-wrap><\/div>\n<aside class=\"p-4 p-md-6 post-aside--large\"><p class=\"h5-mktg gh-aside-title\">Want to learn more about generative AI?<\/p><p>Check out our guide on everything from <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-04-07-what-developers-need-to-know-about-generative-ai\/\">common generative AI models to its applications beyond code<\/a>\u2014including gaming, finance, and healthcare.<\/p>\n<\/aside>\n<h2 id=\"how-are-generative-ai-coding-tools-designed-and-built\"><a class=\"heading-link\" href=\"#how-are-generative-ai-coding-tools-designed-and-built\">How are generative AI coding tools designed and built?<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>Building a generative AI coding tool requires training AI models on large amounts of code across programming languages via deep learning. (Deep learning is a way to train computers to process data like we do\u2014by recognizing patterns, making connections, and drawing inferences with limited guidance.)<\/p>\n<p>To emulate the way humans learn patterns, these AI models use vast networks of nodes, which process and weigh input data, and are designed to function like neurons. Once trained on large amounts of data and able to produce useful code, they\u2019re built into tools and applications. The models can then be plugged into coding editors and IDEs where they respond to natural language prompts or code to suggest new code, functions, and phrases.<\/p>\n<aside class=\"p-4 p-md-6 post-aside--large\"><p class=\"h5-mktg gh-aside-title\">Generative AI allows developers to work on bigger, more meaningful problems.<\/p><p>When it comes to coding, these models are still in their early days\u2014but the gains we\u2019re seeing are profound since we launched GitHub Copilot two years ago. In one study, we found that <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness\/\">developers who used GitHub Copilot reported feeling 88% more productive<\/a>. Those reports were supported by quantitative research, which found that developers using GitHub Copilot coded up to 55% faster than those who didn\u2019t.<\/p>\n<\/aside>\n<p>Before we talk about how generative AI coding tools are made, let\u2019s define what they are first. It starts with LLMs, or large language models, which are sets of algorithms trained on large amounts of code and human language. Like we mentioned above, they can predict coding sequences <em>and<\/em> generate novel content using existing code or natural language prompts.<\/p>\n<p>Today\u2019s state-of-the-art LLMs are transformers. That means they use something called an attention mechanism to make flexible connections between different tokens in a user\u2019s input and the output that the model has already generated. This allows them to provide responses that are more contextually relevant than previous AI models because they\u2019re good at connecting the dots and big-picture thinking.<\/p>\n<p>Here\u2019s an example of how a transformer works. Let\u2019s say you encounter the word log in your code. The transformer node at that place would use the attention mechanism to contextually predict what kind of log would come next in the sequence.<\/p>\n<p>Let\u2019s say, in the example below, you input the statement <code>from math import log<\/code>. A generative AI model would then infer you mean a logarithmic function.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/from-math.gif\" alt=\"\" \/><\/p>\n<p>And if you add the prompt <code>from logging import log<\/code>, it would infer that you\u2019re using a logging function.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/from-log.gif\" alt=\"\" \/><\/p>\n<p>Though sometimes a log is just a log.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/just-a-log.gif\" alt=\"\" \/><\/p>\n<p>LLMs can be built using frameworks besides transformers. But LLMs using frameworks, like a recurrent neural network or long short-term memory, struggle with processing long sentences and paragraphs. They also typically require training on labeled data (making training a labor-intensive process). This limits the complexity and relevance of their outputs, and the data they can learn from.<\/p>\n<p>Transformer LLMs, on the other hand, can train themselves on unlabeled data. Once they\u2019re given basic learning objectives, LLMs take a part of the new input data and use it to practice their learning goals. Once they\u2019ve achieved these goals on that portion of the input, they apply what they\u2019ve learned to understand the rest of the input. This self-supervised learning process is what allows transformer LLMs to analyze massive amounts of unlabeled data\u2014and the larger the dataset an LLM is trained on, the more they scale by processing that data.<\/p>\n<h2 id=\"why-should-developers-care-about-transformers-and-llms\"><a class=\"heading-link\" href=\"#why-should-developers-care-about-transformers-and-llms\">Why should developers care about transformers and LLMs?<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>LLMs like OpenAI\u2019s GPT-3, GPT-4, and Codex models are trained on an enormous amount of natural language data and publicly available source code. This is part of the reason why tools like ChatGPT and <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/features\/copilot\/\">GitHub Copilot<\/a>, which are built on these models, can produce contextually accurate outputs.<\/p>\n<p>Here\u2019s how GitHub Copilot produces coding suggestions:<\/p>\n<ul>\n<li>All of the code you\u2019ve written so far, or the code that comes before the cursor in an IDE, is fed to a series of algorithms that decide what parts of the code will be processed by GitHub Copilot.<\/li>\n<li>Since it\u2019s powered by a transformer-based LLM, GitHub Copilot will apply the patterns it\u2019s abstracted from training data and apply those patterns to your input code.<\/li>\n<li>The result: contextually relevant, original coding suggestions. <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-02-14-github-copilot-now-has-a-better-ai-model-and-new-capabilities\/\">GitHub Copilot will even filter out<\/a> known security vulnerabilities, vulnerable code patterns, and code that matches other projects.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/features\/copilot?utm_source=blog&#038;utm_medium=blogA&#038;utm_campaign=cta&#038;utm_content=copilot\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200x300-Blog_Ad-Master-3.png?w=1024&#038;resize=1024%2C257\" alt=\"\" width=\"1024\" height=\"257\" class=\"aligncenter size-large wp-image-74425 width-fit\" srcset=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200x300-Blog_Ad-Master-3.png?w=1200 1200w, https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200x300-Blog_Ad-Master-3.png?w=300 300w, https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200x300-Blog_Ad-Master-3.png?w=768 768w, https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200x300-Blog_Ad-Master-3.png?w=1024 1024w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/p>\n<p><strong>Keep in mind:<\/strong> creating new content such as text, code, and images is at the heart of generative AI. LLMs are adept at abstracting patterns from their training data, applying those patterns to existing language, and then producing language or a line of code that follows those patterns. Given the sheer scale of LLMs, they might generate a language or code sequence that doesn\u2019t even exist yet. Just as you would review a colleague\u2019s code, you should assess and validate AI-generated code, too.<\/p>\n<h3 id=\"why-context-matters-for-ai-coding-tools\"><a class=\"heading-link\" href=\"#why-context-matters-for-ai-coding-tools\">Why context matters for AI coding tools<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/dev.to\/github\/a-beginners-guide-to-prompt-engineering-with-github-copilot-3ibp\">Developing good prompt crafting techniques<\/a> is important because input code passes through something called a context window, which is present in all transformer-based LLMs. The context window represents the capacity of data an LLM can process. Though it can\u2019t process an infinite amount of data, it can grow larger. Right now, the Codex model has a context window that allows it to process a couple of hundred lines of code, which has already advanced and accelerated coding tasks like code completion and code change summarization.<\/p>\n<p>Developers use details from pull requests, a folder in a project, open issues\u2014and the list goes on\u2014to contextualize their code. So, when it comes to a coding tool with a limited context window, the challenge is to figure out what data, in addition to code, will lead to the best suggestions.<\/p>\n<p>The order of the data also impacts a model\u2019s contextual understanding. Recently, GitHub made updates to its pair programmer so that it considers not only the code immediately before the cursor, but also some of the code after the cursor. The paradigm\u2014which is called <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-02-14-github-copilot-now-has-a-better-ai-model-and-new-capabilities\/\">Fill-In-the-Middle<\/a> (FIM)\u2014leaves a gap in the middle of the code for GitHub Copilot to fill, providing the tool with more context about the developer\u2019s intended code and how it should align with the rest of the program. This helps produce higher quality code suggestions without any added latency.<\/p>\n<p>Visuals can also contextualize code. Multimodal LLMs (MMLLMs) scale transformer LLMs so they process images and videos, as well as text. OpenAI recently released its new <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/openai.com\/product\/gpt-4\">GPT-4 model<\/a>\u2014and Microsoft revealed its own MMLLM called <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/arxiv.org\/abs\/2302.14045\">Kosmos-1<\/a>. These models are designed to respond to natural language and images, like alternating text and images, image-caption pairs, and text data.<\/p>\n<p>GitHub\u2019s senior developer advocate Christina Warren shares the latest on GPT-4 and the creative potential it holds for developers:<\/p>\n<div style=\"text-align: center\">\n\t\t<div class=\"mod-vh position-relative\" style=\"height: 0; padding-bottom: calc((9 \/ 16)*100%);\">\n\t\t\t<iframe loading=\"lazy\" class=\"position-absolute top-0 left-0 width-full height-full\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/www.youtube.com\/embed\/qcu05spRv1c?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;start=58&#038;wmode=transparent\" title=\"YouTube video player\" allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe>\n\t\t<\/div><\/div>\n<div data-target=\"content-table-wrap.container\" class=\"content-table-wrap\"><content-table-wrap><table style=\"border: 1px black\">\n<tbody>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Our R&amp;D team at <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/githubnext.com\/\">GitHub Next<\/a> has been working to move AI past the editor with <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/features\/preview\/copilot-x\">GitHub Copilot X<\/a>. With this new vision for the future of AI-powered software development, we\u2019re not only adopting OpenAI\u2019s new GPT-4 model, but also introducing chat and voice, and bringing GitHub Copilot to pull requests, the command line, and docs. <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-03-22-github-copilot-x-the-ai-powered-developer-experience\/\">See how we\u2019re investigating the future of AI-powered software development &gt;<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/content-table-wrap><\/div>\n<h2 id=\"how-developers-are-using-generative-ai-coding-tools\"><a class=\"heading-link\" href=\"#how-developers-are-using-generative-ai-coding-tools\">How developers are using generative AI coding tools<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>The field of generative AI is filled with experiments and explorations to uncover the technology\u2019s full capabilities\u2014and how they can enable effective developer workflows. Generative AI tools are already changing how developers write code and build software, from improving productivity to helping developers focus on bigger problems.<\/p>\n<p>While generative AI applications in software development are still being actively defined, today, developers are using generative AI coding tools to:<\/p>\n<ul>\n<li><strong>Get a head start on complex code translation tasks.<\/strong> A <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/10.1145\/3397481.3450656\">study presented at the 2021 International Conference on Intelligent User Interfaces<\/a> found that generative AI provided developers with a skeletal framework to translate legacy source code into Python. Even if the suggestions weren\u2019t always correct, developers found it easier to assess and fix those mistakes than manually translate the source code from scratch. They also noted that this process of reviewing and correcting was similar to what they already do when working with code produced by their colleagues.<\/li>\n<\/ul>\n<p>With <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/githubnext.com\/projects\/copilot-labs\/\">GitHub Copilot Labs<\/a>, developers can use the companion VS Code extension (that\u2019s separate from but dependent on the GitHub Copilot extension) to translate code into different programming languages. Watch how GitHub Developer Advocate, Michelle Mannering, uses <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/dev.to\/github\/how-to-translate-code-into-other-languages-using-github-copilot-3n6f\">GitHub Copilot Labs to translate her Python code into Ruby<\/a> in just a few steps.<\/p>\n<div style=\"text-align: center\">\n\t\t<div class=\"mod-vh position-relative\" style=\"height: 0; padding-bottom: calc((9 \/ 16)*100%);\">\n\t\t\t<iframe loading=\"lazy\" class=\"position-absolute top-0 left-0 width-full height-full\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/www.youtube.com\/embed\/RBj3BKm54BY?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent\" title=\"YouTube video player\" allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe>\n\t\t<\/div><\/div>\n<ul>\n<li><strong>Code more efficiently.<\/strong> While autocompletion has been in modern IDEs for years, LLMs can generate longer suggestions\u2014sometimes multiple lines of code\u2014that are often more relevant. A <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/arxiv.org\/abs\/2206.15000\">2022 study published in the Proceedings of the Association for Computing Machinery on Programming Languages<\/a> (PACMPL) observed 20 programmers who interacted with GitHub Copilot. They found that thanks to end-of-line suggestions for function calls and argument completions, developers were able to code faster and stay in the flow longer.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness\/\">Our own research supports these findings<\/a>, too. As we mentioned earlier, we found that developers who used GitHub Copilot coded up to 55% faster than those who didn\u2019t. But productivity gains went beyond speed with 74% of developers reporting that they felt less frustrated when coding and were able to focus on more satisfying work.<\/p>\n<ul>\n<li><strong>Tackle new problems and get creative.<\/strong> The PACMPL study also found that developers used GitHub Copilot to find creative solutions when they were unsure of how to move forward. These developers searched for next possible steps and relied on the generative AI coding tool to assist with unfamiliar syntax, look up the right API, or discover the correct algorithm.<\/li>\n<\/ul>\n<figure class=\"gh-full-blockquote mx-0 pl-6 mt-6 mt-md-7 mb-7 mb-md-8\"><blockquote><p>I was one of the developers who wrote GitHub Copilot, but prior to that work, I had never written a single line of TypeScript. That wasn\u2019t a problem because I used the first prototype of GitHub Copilot to learn the language and, eventually, help ship the world\u2019s first at-scale generative AI coding tool.<\/p><\/blockquote><figcaption class=\"text-mono color-fg-muted f5-mktg mt-3\"> - Albert Ziegler, Principal Machine Learning Engineer \/\/ GitHub<\/figcaption><\/figure>\n<ul>\n<li><strong>Find answers without leaving their IDEs.<\/strong> Some participants in the PACMPL study also treated GitHub Copilot\u2019s multi-suggestion pane like StackOverflow. Since they were able to describe their goals in natural language, participants could directly prompt GitHub Copilot to generate ideas for implementing their goals, and press Ctrl\/Cmd + Enter to see a list of 10 suggestions. Even though this kind of exploration didn\u2019t lead to deep knowledge, it helped one developer to effectively use an unfamiliar API.<\/li>\n<\/ul>\n<p>A <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/pdf\/10.1145\/3582083\">2023 study published by GitHub in the Association for Computing Machinery\u2019s Queue<\/a> magazine also found that generative AI coding tools save developers the effort of searching for answers online. This provides them with more straightful forward answers, reduces context switching, and <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-02-22-responsible-ai-pair-programming-with-github-copilot\/\">conserves mental energy<\/a>.<\/p>\n<p>Part of <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-03-22-github-copilot-x-the-ai-powered-developer-experience\/\">GitHub\u2019s new vision for the future of AI-powered software development<\/a> is a ChatGPT-like experience directly in your editor. Watch how Martin Woodward, GitHub\u2019s Vice President of Developer Relations, uses <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/github-copilot\/chat_waitlist_signup\/join\">GitHub Copilot Chat<\/a> to find and fix bugs in his code.<\/p>\n<div style=\"width: 1920px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-71337-1\" width=\"1920\" height=\"1080\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/03\/01-Copilot-Chat-Debug-Blog.mp4#t=0.001?_=1\" \/><\/p><p><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/03\/01-Copilot-Chat-Debug-Blog.mp4#t=0.001\">https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/03\/01-Copilot-Chat-Debug-Blog.mp4#t=0.001<\/a><\/video><\/div>\n<ul>\n<li><strong>Build better test coverage.<\/strong> Some generative AI coding tools excel in pattern recognition and completion. Developers are using these tools to build unit and functional tests\u2014and even security tests\u2014via natural language prompts. Some tools also offer security vulnerability filtering, so a developer will be alerted if they unknowingly introduce a vulnerability in their code.<\/li>\n<\/ul>\n<p>Want to see some examples in action? Check out how Rizel Scarlett, a developer advocate at GitHub, <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-09-14-8-things-you-didnt-know-you-could-do-with-github-copilot\/\">uses GitHub Copilot to develop tests for her codebase<\/a>:<\/p>\n<div style=\"text-align: center\">\n\t\t<div class=\"mod-vh position-relative\" style=\"height: 0; padding-bottom: calc((9 \/ 16)*100%);\">\n\t\t\t<iframe loading=\"lazy\" class=\"position-absolute top-0 left-0 width-full height-full\" src=\"https:\/\/2.zoppoz.workers.dev:443\/https\/www.youtube.com\/embed\/HxbLCXLfyKE?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;start=1672&#038;wmode=transparent\" title=\"YouTube video player\" allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe>\n\t\t<\/div><\/div>\n<ul>\n<li><strong>Discover tricks and solutions they didn\u2019t know they needed.<\/strong> Scarlett also wrote about eight unexpected ways developers can use GitHub Copilot\u2014from prompting it to create a dictionary of two-letter ISO country codes and their contributing country name, to helping developers exit Vim, an editor with a sometimes finicky closing process. Want to learn more? <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-09-14-8-things-you-didnt-know-you-could-do-with-github-copilot\/\">Check out the full guide &gt;<\/a><\/li>\n<\/ul>\n<h2 id=\"the-bottom-line\"><a class=\"heading-link\" href=\"#the-bottom-line\">The bottom line<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>Generative AI provides humans with a new mode of interaction\u2014and it doesn\u2019t just alleviate the tedious parts of software development. It also inspires developers to be more creative, feel empowered to tackle big problems, and model large, complex solutions in ways they couldn\u2019t before. From increasing productivity and offering alternative solutions, to helping you build new skills\u2014like learning a new language or framework, or even writing clear comments and documentation\u2014there are so many reasons to be excited about the next wave of software development. This is only the beginning.<\/p>\n<h3 id=\"additional-resources\"><a class=\"heading-link\" href=\"#additional-resources\">Additional resources<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<ul>\n<li><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2023-03-22-github-copilot-x-the-ai-powered-developer-experience\/\">GitHub Copilox X investigates the future of AI-powered software development <\/a><\/li>\n<li><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-09-14-8-things-you-didnt-know-you-could-do-with-github-copilot\/\">Eight things you didn\u2019t know you could do with GitHub Copilot<\/a><\/li>\n<li><a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness\/\">Quantifying GitHub Copilot\u2019s impact on developer productivity and happiness <\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here\u2019s what you need to know. <\/p>\n","protected":false},"author":1941,"featured_media":71232,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"no","_gh_post_is_no_robots":"no","_gh_post_is_featured":"no","_gh_post_is_excluded":"no","_gh_post_is_unlisted":"no","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/03\/205x205-Feature_Square-Primary.png","_gh_post_sq_img_id":"70977","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"Click Here to Learn More","_gh_post_recirc_hide":"no","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"","_gh_post_additional_query_params":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[3293,3294],"tags":[2837,3241,3027,2930,3028],"coauthors":[2281],"class_list":["post-71337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-and-ml","category-generative-ai","tag-ai","tag-ai-insights","tag-artificial-intelligence","tag-developer-experience","tag-generative-ai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/2.zoppoz.workers.dev:443\/https\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How generative AI is changing the way developers work - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here\u2019s what you need to know.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How generative AI is changing the way developers work\" \/>\n<meta property=\"og:description\" content=\"Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here\u2019s what you need to know.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-14T15:15:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-08T02:15:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200.630-Global.png?fit=1200%2C630\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Damian Brady\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Damian Brady\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/\"},\"author\":{\"name\":\"Damian Brady\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/e1b477e22da9f33dbb6eb8dd6f308acd\"},\"headline\":\"How generative AI is changing the way developers work\",\"datePublished\":\"2023-04-14T15:15:50+00:00\",\"dateModified\":\"2024-02-08T02:15:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/\"},\"wordCount\":2838,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/1200.630-Global.png?fit=1200%2C630\",\"keywords\":[\"AI\",\"AI Insights\",\"artificial intelligence\",\"developer experience\",\"generative AI\"],\"articleSection\":[\"AI &amp; ML\",\"Generative AI\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/\",\"name\":\"How generative AI is changing the way developers work - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/1200.630-Global.png?fit=1200%2C630\",\"datePublished\":\"2023-04-14T15:15:50+00:00\",\"dateModified\":\"2024-02-08T02:15:54+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/e1b477e22da9f33dbb6eb8dd6f308acd\"},\"description\":\"Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here\u2019s what you need to know.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/1200.630-Global.png?fit=1200%2C630\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/1200.630-Global.png?fit=1200%2C630\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/how-generative-ai-is-changing-the-way-developers-work\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI &amp; ML\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Generative AI\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/generative-ai\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"How generative AI is changing the way developers work\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/e1b477e22da9f33dbb6eb8dd6f308acd\",\"name\":\"Damian Brady\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b600ac479dbaba35bcd8a9bc4f4f2cebfaf14251f1ef0fd794cb144527697348?s=96&d=mm&r=g9d91e4dc3edf193ac86cbbd3b54c756f\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b600ac479dbaba35bcd8a9bc4f4f2cebfaf14251f1ef0fd794cb144527697348?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b600ac479dbaba35bcd8a9bc4f4f2cebfaf14251f1ef0fd794cb144527697348?s=96&d=mm&r=g\",\"caption\":\"Damian Brady\"},\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/damovisa\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How generative AI is changing the way developers work - The GitHub Blog","description":"Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here\u2019s what you need to know.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/","og_locale":"en_US","og_type":"article","og_title":"How generative AI is changing the way developers work","og_description":"Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here\u2019s what you need to know.","og_url":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/","og_site_name":"The GitHub Blog","article_published_time":"2023-04-14T15:15:50+00:00","article_modified_time":"2024-02-08T02:15:54+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200.630-Global.png?fit=1200%2C630","type":"image\/png"}],"author":"Damian Brady","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Damian Brady","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/2.zoppoz.workers.dev:443\/https\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/#article","isPartOf":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/"},"author":{"name":"Damian Brady","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/#\/schema\/person\/e1b477e22da9f33dbb6eb8dd6f308acd"},"headline":"How generative AI is changing the way developers work","datePublished":"2023-04-14T15:15:50+00:00","dateModified":"2024-02-08T02:15:54+00:00","mainEntityOfPage":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/"},"wordCount":2838,"image":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/#primaryimage"},"thumbnailUrl":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200.630-Global.png?fit=1200%2C630","keywords":["AI","AI Insights","artificial intelligence","developer experience","generative AI"],"articleSection":["AI &amp; ML","Generative AI"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/","name":"How generative AI is changing the way developers work - The GitHub Blog","isPartOf":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/#primaryimage"},"image":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/#primaryimage"},"thumbnailUrl":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200.630-Global.png?fit=1200%2C630","datePublished":"2023-04-14T15:15:50+00:00","dateModified":"2024-02-08T02:15:54+00:00","author":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/#\/schema\/person\/e1b477e22da9f33dbb6eb8dd6f308acd"},"description":"Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here\u2019s what you need to know.","breadcrumb":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/#primaryimage","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200.630-Global.png?fit=1200%2C630","contentUrl":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200.630-Global.png?fit=1200%2C630","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/how-generative-ai-is-changing-the-way-developers-work\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/"},{"@type":"ListItem","position":2,"name":"AI &amp; ML","item":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/"},{"@type":"ListItem","position":3,"name":"Generative AI","item":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/ai-and-ml\/generative-ai\/"},{"@type":"ListItem","position":4,"name":"How generative AI is changing the way developers work"}]},{"@type":"WebSite","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/#website","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/#\/schema\/person\/e1b477e22da9f33dbb6eb8dd6f308acd","name":"Damian Brady","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/secure.gravatar.com\/avatar\/b600ac479dbaba35bcd8a9bc4f4f2cebfaf14251f1ef0fd794cb144527697348?s=96&d=mm&r=g9d91e4dc3edf193ac86cbbd3b54c756f","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/secure.gravatar.com\/avatar\/b600ac479dbaba35bcd8a9bc4f4f2cebfaf14251f1ef0fd794cb144527697348?s=96&d=mm&r=g","contentUrl":"https:\/\/2.zoppoz.workers.dev:443\/https\/secure.gravatar.com\/avatar\/b600ac479dbaba35bcd8a9bc4f4f2cebfaf14251f1ef0fd794cb144527697348?s=96&d=mm&r=g","caption":"Damian Brady"},"url":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/author\/damovisa\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-content\/uploads\/2023\/04\/1200.630-Global.png?fit=1200%2C630","jetpack_shortlink":"https:\/\/2.zoppoz.workers.dev:443\/https\/wp.me\/pamS32-iyB","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/posts\/71337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/users\/1941"}],"replies":[{"embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/comments?post=71337"}],"version-history":[{"count":20,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/posts\/71337\/revisions"}],"predecessor-version":[{"id":74428,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/posts\/71337\/revisions\/74428"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/media\/71232"}],"wp:attachment":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/media?parent=71337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/categories?post=71337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/tags?post=71337"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/github.blog\/wp-json\/wp\/v2\/coauthors?post=71337"}],"curies":[{"name":"wp","href":"https:\/\/2.zoppoz.workers.dev:443\/https\/api.w.org\/{rel}","templated":true}]}}