§ essay · ai

Are We The Janitor?

Developers stopped being creators. Now we clean up after something faster than us.

Our role as a developer was to write code based on the requirement. We took full ownership of every code produced. But now, the paradigm has shifted.

Code is now treated as artifact of business process. It doesn’t matter how you code as long as it works. The experienced developer stop being the creator. They turned into the janitor.

And like any janitor, the job is cleaning up messes. If you ever read the code generated by AI, you might notice a lot of bad code. Duplicate code, missing validation, missing authentication, missing authorization, missing sanitization.

When asked, does the code work, yes it does. But at what cost?

Users failed to buy product because the system broke. Services went down and no one could access them. That’s the cost.

AI generates code way faster compared to us. We won’t be able to catch up to that speed when it come to code generation. That same speed also multiplies the rate of bug generation.

So why does the bug get to production? Is it not being reviewed?

We won’t be able to review the generated code just like before. Deep review become luxury when companies demand speed over quality. Most code will be shipped without anyone reading it carefully.

Even so, review is a skill that become more valuable than ever. AI code review tools exist, and they might catch technical problems. But they won’t be able to review the business process. That’s still on us.

Shipping 10x bugs into production will be the doom of any product.

Reviewing AI generated code requires a different skill set and experience. New developers will have a hard time in this matter since most of them don’t have enough knowledge and experience to challenge AI output.

The same goes for designing. Just like us, AI tend to copy the existing pattern in the codebase. A bad codebase will snowball into the future. AI just multiply the speed.

This raises a bigger question. Where should we sit in the process? People call it human in the loop VS human on the loop. The two approach focus on where the human involvement is.

The human in the loop requires human to fix the output as it produced. Let’s say you tell AI to create feature A, when you see output that don’t match your expectation, you fix the output.

The human on the loop requires human to fix the system generating the output. It focus on automating the output validation and self repair the output. If you see output that don’t match the expectation, you fix the system instead of the output directly.

We don’t have a winner yet. The on-the-loop approach sounds right, but it needs to survive contact with real teams before we can trust it fully.

One thing is clear. The developer’s role has shifted, from generating code into validating generated code.

We’re not the ones writing anymore. We’re the ones making sure it works.