I've seen 3 types of people in a technical debate.
- People who do healthy tech debates, learns from it and contributes to the debate.
- People who goes defensive about their opinion even though it is wrong and hesitates to evaluate others opinion.
- People who get offended just because other person was right. Then either go on a full offensive mode or silently go and complain/speculate things to others.
The first type is what every tech debate needs, so that it can be mutually beneficial to everyone. The second type is not too bad, one can be defensive about their opinion. There is a chance that this kind of people will get to know technical debates are for learning and will eventually become the first kind.
But the third kind. The one who takes everything personally in a technical debate, can never grow. Technical debates happens out of the comfort zone. You cannot sit in your own comfort zone and argue that your design is the right thing. When someone throws an opinion or suggestion on you, you should evaluate it instead of showing your attitude.
Code reviews are one of the examples where programmers debate on the approach they followed. There, the critics you receive cannot be massaged into a nice package which will be so pleasing to hear. It will be straight to the point. If one is not able to accept critics out of their comfort zone and learn from it, they can never grow.