AJ Enns reflects on his journey as a new developer and the impact of AI as an integrated, coding assistant for improving developer velocity.
The year is 2024, and AI has been around for a while. ChatGPT broke onto the scene and changed the world forever. As soon as I heard about it, the first thing I did was try to learn Blazor with the help of AI. Within 3 weeks, I had a working example in a language I did not know before, as a result I was hooked. How do I share my recent learnings and amazement? Working as a Developer Advocate, I quickly learned that both the Developer and the Business were not early adopters and needed support with adoption.
In my earlier years, I was a professional Developer. My first project was a Window Communication Foundation project with nineteen microservices used for forecasting grain prices. This was my first project out of university, where I joined a team of 20+ Developers with a lead architect and other contributing roles. It was a steep learning curve to get up to speed with existing source code and established coding patterns. It was easily a few months before I was actively contributing with bug fixes and a few more months before I was doing feature enhancements. Jump to 2023, and I wonder how long my ramp-up would have been using AI?
I do not code for a living any longer, but I do speak for the people who do. In my role, I was often asked at the start if AI is better for juniors or senior Developers. Honestly, AI does not care about your tenure. It only cares about your prompt and your context. As a junior or senior, you simply ask it different things, and the suggestions are equally impressive. What AI does care about is prompt engineering. The better you are at “conversing” with your copilot, the sooner and more accurately you find meaningful answers.
The Developer
If I were to ask you to code Luhn’s algorithm (the algorithm to check if a credit card number has the right sequence of numbers), would you be able to do it? You are probably saying, “yeah, I know how to use a search engine.” What if you had the AI chatbot integrated into your IDE? You no longer must load the search engine, browse results, find the right example in the language you are using, copy & paste, and figure out how to adapt it with existing code. You can enter your prompt and then directly paste it into code – or even ask it to produce a sample that integrates existing code inside your editor. An AI enabled IDE is significantly more productive compared to traditional search. What if you did have the Luhn algorithm in front of you, but did not know what it did? Select All and /explain .
With AI, Developers can now, with a click of a few buttons, optimize their algorithm for the best Big O notation, check if their data validation is handling SQL injection, implement unit tests, and build reusable code faster, just to name a few things. They can explain complex methods or, my personal favorite, decipher the lost language of regular expressions in milliseconds. The first project I worked on out of university would be different now. I would be fixing bugs in minutes and implementing features within hours. Talk about developer velocity increase!
Now, I admit I am an early adopter, and I saw the benefit of AI in the Developer world in minutes. I have learned that many Developers in large organizations are not as “adopting” as me. I realized my journey had a moment where a light went off in my head. Kind of an epiphany. Once I realized it was not a search engine, which if I do not get the right answer in the first few links, I try something else, that it was a back-and-forth communication process till I got the right answer. It changed the game for me. I gave it a prompt, it gave me a suggestion, I tried the suggestion, and sometimes it failed. I added more context to my prompt and tried again. Sometimes I would copy the error message and use that as my prompt. Once I understood the process, I was sprinting! I have learned that the late adopters usually jump to thinking it is like a search engine and do not persist till they get to the epiphany. They need that encouragement, support, and space to find it for themselves. You cannot just give a Developer a tool and hope they use it. You need an adoption program to get the most. Help them reach their own epiphany moment and step back to see their imagination unlock like mine did. Unified Support at Microsoft has many offerings to help Developers upskill with GitHub Copilot to support this adoption. If your team is struggling to make this jump, reach out to your Unified Support team and ask about skilling for GitHub Copilot. We have workshops, partners, and Cloud Solution Architects that can help.
If you are totally new to, be sure to start here: GitHub Copilot · Your AI pair programmer
The Business
While I was helping companies adopt AI in the developer’s tool chain, I also realized that the business also had questions. They had more questions than Developers. Some of the top questions I hear are:
- How can we measure the increase in velocity?
- How do we justify the cost?
- How can we measure the adoption?
- Is it secure?
There are more questions, but these are the primary questions asked by every single organization I have talked to. They are all extremely important questions. The interesting thing about them is that they are not new, but just like other AI Copilot solutions, they are starting to raise new questions which should have been asked a long time ago. Every organization should ask these questions about every Developer productivity tool. Why is AI special? Only because AI is in the spotlight are companies forced to look at this now. They should have been asking these questions all along. Not asking often contributes to technical debt.
How can we measure if AI increases Developer velocity?
My initial question is: how are you currently measuring it? Most organizations typically respond with, “We don’t have a reliable method.” This reminds me of my father, who was a journeyman carpenter. He used a tape measure, a tool that’s only useful when it measures against a standard like centimeters or inches. Similarly, introducing a developer tool requires an understanding of the benchmark where impact will be measured.
You might start with lines of code (LoC), but this can be misleading since a senior developer might write a concise algorithm in a few lines, while a junior might need many more. The most effective metric is velocity. In Agile teams, velocity is often measured in story points per sprint. Knowing how many story points your team can complete in one sprint before implementing a tool like AI allows you to measure its impact more accurately.
A savvy Scrum Master might note that the estimation process could change as the team gains access to AI, reducing the level of effort required. By doing this, you’ll already have evidence that both velocity and capacity are improving.
I have also had companies say that they are not interested in productivity tools because the Developers will use that time to slack off. I think at the heart of those comments, it spurs from the culture of the organization. Incentives and recognition are potential ways to address that. Another terrific way of re-positioning a productivity gain is to address technical debt. With the time saved every sprint, address something old or stale or increase unit test coverage. These are all easily measured ways to ensure you are getting something out of the productivity gains. Better yet, try something new and innovate with the gained time.
Cost is one of the most important questions. How can we justify the expense?
How can we justify the expense? Let’s consider GitHub Copilot, one of the premier AI tools available at ~$26 CAD per month. For an average developer earning $80,000 annually, this cost is equivalent to just 40 minutes of their work each month. A proficient developer is likely to recoup that investment before lunch on the very first day of use, effectively gaining an additional 19.5 days of productivity each month.
Plus, consider spreading the cost across various departments. With AI, you can boost security, enhance infrastructure automation, improve code quality, reduce Mean Time To Resolution (MTTR), and accelerate innovation. All business units will benefit and can share the investment.
Measuring adoption is critical.
If you are already measuring velocity, this should be easier to observe. Does the increased velocity equal the cost? If you are not measuring velocity, it gets harder, and companies jump to the individual Developer level. First, Developers are not unlike anyone else. If you single them out, they will feel attacked. I always urge my clients not to go to the individual level and address across teams. There are great tools that help you measure adoption within your org. If you are using GitHub Copilot, one great tool is: https://aka.ms/pbi-4-copilot which is a sample Power BI dashboard that leverages the GitHub Copilot Metrics API. It will help you see things like accepted lines of code, GitHub Copilot vs Copilot Chat, languages used, and engagement. If you are new to measuring developer velocity, reach out to your Microsoft account team for detailed guidance on they can help you start this exercise.
Security is one of the most important aspects any organization should consider when enabling AI.
It is almost certain that Developers are using AI today. If they don’t have a paid license or a tool under your corporate governance, they are using free versions like ChatGPT. A phrase I learned long ago, “if you are not paying for a product/service, you are the product.” Many of these services use data, such as chat history, to help train the model. Simply put, when a Developer puts a piece of code (your company’s IP), it may end up using that information to further train the model. There have been several instances where companies have leaked IP and secrets by using public/free AI services that do not explicitly protect this data. Companies can no longer delay decisions on enabling AI, but if you do not care about productivity, Developer happiness, reduced downtime, etc., organizations should care about Data Loss Prevention. Your code base is the IP that you have invested significant resources to develop and differentiate your business. It should be protected just like other valuable company assets. Not all AI Copilots are created equal when it comes to security and governance, so it’s important to choose a solution that protects your investments while empowering developers where they live. Learn more about GitHub Copilot handles your data here: Trust Center – github.copilot
Times are not just changing; they have changed.
“AI won’t take my job, but someone using it will.” Developers and Business need to reflect on this. If you haven’t explored how AI can give your team a competitive edge, you better believe that your competitors are. The developer landscape is constantly shifting with emerging technology. It’s a massive challenge for any developer to keep up on their own and a struggle for companies to regularly upskill teams where it’s needed. AI can make this challenge a lot easier. Give it a try and ask a developer how much time it saved them.
While AI may also represent the competitive edge that most companies are striving to find, it also opens a new world of possibilities with problem solving and prototyping of new ideas. On that note, I chose to focus on what solutions my 8-year-old son will be able to create having AI as his starting blocks. The universe just became a little smaller.
0 comments
Be the first to start the discussion.