I’m beginning to notice this behavior not only on my programming work, but also on comment on X.
Most people still believe that code review is a task for humans to perform.
I agree with that.
Normally, the reviewer is someone senior within the team or organization. And the seniority came from many hours working either on the domain, on the process of shipping software, the tech stack in place etc. So it requires a much broader understanding of that is being produced (or maintained) by the team.
Can we get to a point where AI will embrace all those elements as “context” and review code as we do? Perhaps.
The problem is we have been employing AI to develop code for the past 2 years as an “assistant”, a powerful one, and we kept the responsibility of reviewing its work to ourselves.
At the time of this writing, I go to X.com just to see people ranting about the 10x amount of time they are spending debugging AI coding work.
We seem to be building a weird operational balance between delivering code — not working software by any means — 10x faster at the expense of spending countless hours reviewing and debugging it.
With that said, comes my question:
Are we reviewing all that larger amount of code? Or are we “leaving some for later”?
I’ve got a feeling — by my own experience — that we are leaving big chunks of review for later, thus creating what I’m calling a “review debt”.
Review debt precedes technical debt even, as we simply don’t know for sure how much debt there is. We haven’t figured it out yet. We push it to production and, if it works, it works. Both technical and review debt are to be found later, which is a terrible thought.
I have this specific function in my code that runs inside a model. It pulls data from different sources, then builds a handful of arrays and then do all sorts of magic to come up with EXACTLY what I specified. It is perfect and performing, but I don’t have a clue about what it does. I hesitate to review it. I would learn how limited I am. I would know how much I don’t know about that piece code.
That function is part of my review debt and surely has technical debt now and will create more debt as things evolve around its functionality.
But that, of course, is something I’ll have to deal with in the future.
