> What's the one thing you would not compromise on as you write code?
Code that works.
I'll take a gordian knot that works over an over-engineered system that fails or never ships. Some of the worst code I've seen comes from engineers who focus on "unit tests, documentation, and refactoring code." Those are all good things, but they aren't #1.
I completely agree about the unit test point. I'm not arguing that it's useless - quite the opposite. But it's damn hard to write useful unit tests.
I've seen a case where an internal IT team took ownership of code I delivered. A few months later I was asked to make some enhancements, and I found that they've added a lot of unit test code. It was absolutely useless. Essentially, they were testing the compiler, not my code. Complete waste of time.
Code that works.
I'll take a gordian knot that works over an over-engineered system that fails or never ships. Some of the worst code I've seen comes from engineers who focus on "unit tests, documentation, and refactoring code." Those are all good things, but they aren't #1.
The "done" question is a very good one.