4 ms·
All this disagreement! Look, both sides can probably agree: Rule number 1: My code is crap. The worst kind of incompetence is believing you're better than yo
by Poiesis 17y ago
All this disagreement! Look, both sides can probably agree:
Rule number 1: My code is crap.
The worst kind of incompetence is believing you're better than you actually are. Even the best make mistakes. Have an accurate idea of where the problem lies. Often, it is more likely that a bug is the result of your code than "a compiler bug" or some such thing. Every once in a while, you actually do run across that mythical "compiler bug", so you gotta keep your mind open. You don't solve bugs by restricting the search space before you prove the bug's not there.
Rule number 2: I care about my code.
I shouldn't have to write this--making something better is hardly arguable. Note that a shipping product is in fact the original killer feature; sometimes the best move is to stop development. But that doesn't mean you should stop finding and executing the best moves.
Rule number 3: My opinion about my own code is wrong.
This could have been written better. Your code is not right because you wrote it. It is very likely that there is an alternate approach. Sometimes, the alternate approach has enough advantages to recommend it over your approach. Sometimes it doesn't. Keep your mind open.
Rule number 4: My manager doesn't care about my code, and he pays me.
Again, a bit of hyperbole. Better said by bad_user: the manager cares about the project. That's his job.