I think this was my second shameful mistake in my career. I used to work on a debugger, which had the following “redirect” command.
redirect <filename> <command> e.g.) redirect result.txt memtest 8000 9000
This command writes the result of the <command> to <filename>. I thought it was ugly, and proposed to change it like this:
<command> > <filename> <command> >> <filename> e.g.) memtest 8000 9000 > result.txt
The change would be easy, and the result was more intuitive. But one of my coworker told me that my proposal was wrong. He told me why I was wrong, but for some reason I didn’t get his point.
The strange thing is that I don’t remember why I didn’t get his point. It is unlikely that his explanation was not good enough. So probably I was not listening well because I was so confident about my idea. He was patient enough to tell me some more times. But eventually I said, “I’m sorry, but I shouldn’t spend more time for this discussion because I have to finish my job.” This was most shameful thing I have ever said in my career.
Then he was patient enough to come up with one example.
eval A > R
Now I understood clearly I was wrong. This command gets ambiguous if I did my change.
1. Evaluate the variable A and write the result in file “R” or
2. Evaluate the expression A > R.
Of course I admitted the mistake right away. But I still remember my attitude in this discussion from time to time, and feel a shamed.
I have learned two things from this event.
1. When you get opposite opinion, listen to it. Note who is saying so.
2. When you are making opposite opinion, showing one clear example is much better than thousand of words.