/ Insights / Practical ways developer productivity changes with AI Insights Practical ways developer productivity changes with AI February 1, 2024 Nathan LasnoskiAll jobs will transform with artificial intelligence… technical and non-technical jobs that require engagement of information, people, or work. The first “Copilot” to release to the market was Copilot for Github, an acceleration of development. The challenge we’ll see here, as well as with all other Copilots will be the transition of normal tasks we perform.To understand this transition, the graphic below demonstrates the incremental move from tasks without assistance, to tasks with assistance.To talk through each stage on the maturity, notice first that there are capabilities that exist today and those that will exist in the future.Developer. This represents a developer that is functioning with just the existing tooling (absent even things like IntelliSense).Developer with IntelliSense. The existence of tools like IntelliSense is similar to spellcheck, but for developers. Imagine writing an email without it. The small but meaningful productivity boost we experience with spell (and now grammar) check makes a big difference. So does tooling like IntelliSense, which is a rudimentary version of AI.Developer with ChatGPT Personas. I’ve worked with several developers who have experienced huge gains by simply outsourcing certain questions to ChatGPT… even building personas in ChatGPT that will answer certain types of questions under a prompt. There is some issues here due to privacy concerns. Special care needs to be taken to use private instances or Copilot to ensure that code is not exposed to the wrong places.Developer with Copilot. The advent of Copilot has enabled near-real-time realization of outcomes in the developer work product. This includes first drafts of functions, building of a data schema, writing unit tests, documenting pull requests (in enterprise), and others.Developer with Copilot Chat. The advancements of Copilot with the added Chat capability are small, but meaningful. The way you used Copilot before is you started working and prompted it with comment sections, or allowed it to complete work you were doing. The Copilot Chat allows the developer to ask Copilot to stub-out certain portions of the code, create examples, or build data structures via a request via chat not via code directly. Why is this so meaningful? It is not only important from the standpoint of high capability developers, but also as an emerging capability for building apps directly from human words, not from an understanding of a particular language.Developer with Autonomous Agent Developer. The future, but not existing state is the idea of significantly increased capability for the Copilot developer. This is not what exists now. Imagine a future where every person can explain an idea, goal, or outcome to an autonomous developer and it can complete work of a certain level. I’d imagine this will feel a bit like working with an intern or jr. developer. You explain a task, the task is completed by an autonomous agent, then returned to the developer. This has already shown initial promise in the existing Copilot, such as with comments, structures, or pull requests. It will continue to advance as the context and capabilities of AI agents increase.Here are a few practical examples of how developer activity can be delegated to AI during a normal workflow. These present a serious impact on the outcomes produced by a given developer. This doesn’t even count the basic creative capabilities enhanced during the ideation phase of development.Building Apps with English?I touched on it before… but we are at the beginning of something very exciting. The very idea that I can explain an outcome to a machine and have it produce a working application is huge. Yes, this is really basic right now. The apps delivered are very-much starter applications. However, in these cases, does it matter? Likely, not at all. I asked Power Platform to create an app that tracks ideas for using AI to produce revenue or operational savings. This is an envisioning task we do often and are building an app for. What if I could accelerate an initial version by just describing the need?What did it create? Let’s see! A working application with a simple table, built on the Dataverse, and useable within my enterprise ecosystem. I could modify the data structure and tables just by describing it to Copilot.What to take from all this?The most important thing to understand from this is that every developer needs to gain skills of delegation and management… even if they generally function as individual contributors today. The developers who fulfill enhanced productivity will be those that learn to work WITH artificial intelligence, as a partner to the development process. Teams could begin by saying that AI platforms like Copilot (and it isn’t the only one), will look at it as just another tool… they would be wrong. The AI capabilities require a new set of skills because it takes the discipline to delegate the monotonous task and give it to the AI agent to complete. It also takes an understanding of what the agent can complete and what it cannot.We are in for an amazing transition over the next five years. The responsibility is on all of us to manage the natural work transition that will occur and the re-training of every person to be the best version of themselves while accomplishing their unique mission in the world.