The article is pointing out a phenomenon related to interpersonal relationships, not technology. Part of interacting with other developers is nonverbal communication (or subtext) and the reactions it causes.
So if you are genuinely surprised, a natural reaction would of course be to display this through verbal and nonverbal reactions. But at that point (or even before, as a matter of emotional awareness), people should probably stop and think for a bit what sort of reactions they want to cause in other programmers.
Is the guy wrong (in the sense of giving the wrong impression) for calling himself an expert even though he doesn't know some STL features of C++? Is this something that should be communicated to him? Would it have a net positive effect on your working relationship if it was? Do you feel threatened by an expert who doesn't know this feature? Is there a possibility that you are wrong and that he is only missing a specific feature that you yourself have worked with but is not necessarily stanard? Is your (overt) surprise meant to evoke a certain reaction in the other developer? Would it make your working relationship easier if you hid your surprise instead of making a show of it? Etc.
I hope this comment doesn't come across as condescending, but this sort of interpersonal communication is hard for a lot of programmers I know (at one point including myself). Being aware of these things can help smooth over rough points (and improve productivity, even if you are looking at the purely utilitarian perspective and ignoring general happiness).
Gross generalization here but, I think developers are probably the group of people least responsive to subtle non-verbal communication. Lots of them seem unable to interact with the opposite sex successfully (and the two are related believe it or not).
So if you are genuinely surprised, a natural reaction would of course be to display this through verbal and nonverbal reactions. But at that point (or even before, as a matter of emotional awareness), people should probably stop and think for a bit what sort of reactions they want to cause in other programmers.
Is the guy wrong (in the sense of giving the wrong impression) for calling himself an expert even though he doesn't know some STL features of C++? Is this something that should be communicated to him? Would it have a net positive effect on your working relationship if it was? Do you feel threatened by an expert who doesn't know this feature? Is there a possibility that you are wrong and that he is only missing a specific feature that you yourself have worked with but is not necessarily stanard? Is your (overt) surprise meant to evoke a certain reaction in the other developer? Would it make your working relationship easier if you hid your surprise instead of making a show of it? Etc.
I hope this comment doesn't come across as condescending, but this sort of interpersonal communication is hard for a lot of programmers I know (at one point including myself). Being aware of these things can help smooth over rough points (and improve productivity, even if you are looking at the purely utilitarian perspective and ignoring general happiness).