Earlier quoted context omitted.
I've learned plenty (and changed my mind many times) from having people simply tell me that I'm wrong.
I have found programmers to be far more receptive to blunt criticism than my other non-programmer friends. I think it's just a frame of mind to accept that will be wrong a lot and that is fine. It would take a whole lot of cognitive dissonance to get through a decent sized software project and imagine it is all flawless or couldn't be even slightly better in some way.
The work of a programmer is to sit in front of a soulless machine that has no inhibition in telling the programmer made a mistake on his code at regular intervals.
You need to be pain intolerant to be a programmer, while in other roles pain avoidance is the norm.