A few months ago, news outlets were reporting that Satya Nadella claimed that 30% of the code in Microsoft’s repositories was AI-generated. This led to hype about tools like CoPilot and Cursor. If Microsoft developers are now doing “vibe coding”, then everyone should adopt this method. I have to admit, for a moment I felt like I was being left behind. When it comes to adopting new technology, I usually choose the slow and careful approach. But suddenly it seemed as if the world was going on without me.
The thing is, though, I use Copilot. I use cursors at work too. But I can’t honestly claim that 30% of my code is AI-generated. For every function the AI generates for me, I spend enough time changing and adapting it to our specific use case that I can even claim authorship. Is this what Microsoft employees are doing? Or are they simply writing a set of prompts or instructions, then letting the LLM write the code, generate tests, and commit entirely on their own?
So I went back to re-read what Satya actually said:
I would say probably 20%, 30% of the code that’s inside our repos today and some of our projects is probably written by Software.
Fair enough. But then I saw the video where he actually said it. Interestingly, this question was asked by Zuckerberg himself. What you hear in interviews is a lot of “maybe,” “possibly,” “something like that.” Not the confidence shown in written titles.
But here’s what I really want to know. How are they tracking it? Are developers labeling all AI-generated code as such? Is there a specific signature that marks it? How can you even tell if code is AI-generated? Unlike a written article where we can identify clear patterns, telltale phrases, word choices that deviate from the author’s typical style, code does not come with obvious fingerprints.
For example, there’s no way to tell when a senior developer on my team uses AI. Why? Because they don’t commit the code they haven’t fully reviewed and understood. They treat AI suggestions like rough drafts, useful starting points that require human judgment and refinement. With junior developers, you may sometimes see utility functions defined for no reason, or overly generic variable names, or unnecessarily verbose implementations that scream “AI-generated.” But these issues rarely make it past the code review process, where more experienced eyes catch and correct them before they reach production.
Before LLM came into the picture, we were worried that developers were copying and pasting code from StackOverflow without understanding or modifying it. These snippets were also not easy to identify, unless they broke logic or introduced bugs that revealed their origin. You couldn’t reliably identify copy-pasted code at the time, so what makes it easier to identify AI-generated code now?
Both scenarios involve code that works (at least initially) and follows traditional patterns, making attribution nearly impossible without explicit tracking mechanisms.
The line between “AI-generated” and “human-written” code has become blurrier than the headlines. And maybe this is the point. When AI becomes just another tool in the development workflow, like syntax highlighting or auto-complete, measuring its contribution as a simple percentage may not be meaningful at all.