In this ever-evolving world of software development, Noble’s coding principles remain remarkably relevant:
1️⃣ Someone unfamiliar with your project should be able to look at your computer files and understand in detail what you did and why.
2️⃣Everything you do, you will probably have to do over again.
These rules — originally proposed in 2009 for computational experiments — emphasize the importance of code quality for future maintainers and acknowledge the inevitability of code changes and iterations in software projects. These rules are a useful reminders for us to communicate intent transparently and document clearly to make codebases more maintainable and adaptable over time.
With the rise of AI-assigned coding, I think we need to add a few more rules to this list. I propose the following:
3️⃣ You must take full accountability for every line of code that bears your name, regardless of who or what generated it.
4️⃣ In any validation chain involving AI-generated artifacts, at least one critical link must be architected and verified by a human.
The third principle addresses the growing accountability crisis in software development. Developers tend to treat AI-generated code as “someone else’s code”. This psychological shift creates diffused or diminished accountability syndrome, where developers feel less responsible for code quality and accuracy when AI is involved. This rule simply states that if your name is on the git commits, it’s your code and you must take full responsibility for it!
The fourth principle goes hand in hand with the third. Developers frequently ask AI coding agents to write unit tests to validate the code that those same agents have generated. This is like asking someone to grade their own homework! The fourth principle addresses this circular validation problem while complementing the third principle’s focus on accountability. Developers should define test cases, scenarios, and acceptance criteria, while AI generates the implementation code. This is important because business context and intent can not be AI-generated!
In short, the third principle ensures that developers remain accountable for the code that bears their name, while the fourth principle provides a practical mechanism to maintain that accountability through human-anchored validation.