Not addressed to me, but worth noting; it matters because it is social feedback. It isn't significantly different than racism or sexism; you can't ignore the way you are treated in a social group.
I speak as someone stepping from INTP to ISTP. As an established INTP, I had an advantage, but it was still an interesting experiment.
I was listening to the radio the other day and a guy complained about a groups name. He simply couldnt get past the name actually give the group a fair chance. Thats not racism, or sexism, its called stereotyping.
On a side note, despite the fact that I am an S ALOT of people think I am extremely smart and talented. None of them know a thing about MBTI, nor do they realize what S vs N is. My co-worker is an ENTP, is a sun certified Java teacher, knows all about patterns, and stuff, yet I impress him on a daily basis. The framework he is designing has ALOT of things I incorporated into our application as we progress and learn. He is just standardizing everything into a "best of" framework and reorganizing where things are located. Our first framework he designed based on merging together frameworks and utilizing them according to there specs and how things were set out to be. At this time I was in another group...well I had a project only I worked on and then was a team in another group project. By designing and working with the actual application I got rid of what didnt work and incorporated what did work. At first he was fighting what I did because I wasnt using the "framework" as it was intended to be used. I ditched 90% of the JSF navigation. Basically stripping it down to the most basic pieces because the rest wasnt easy to work with in our application as a developer. Created my own bread crumb mechanism, created my own handling of threads utilizing a combination of Java executors, Spring, and the command pattern. It was interesting because we have 3 layers and I strewn the Command pattern across all 3 layers and other developers kept complaining because I was mixing up things. No I kept business logic in the business layer, they were just wrapped by the command pattern, the web service interaction was in the integration layer and wrapped by command patterns. What did this buy me? The ability to run extremely complicated series-parallel combinations with ease. One command would call 2 other commands in parallel which combined that data while another command called 3 other things in parallel to merge the data and those 2 commands were run in parallel and the data was merged. And its so easy to understand because each command does a unit of work and returns something. So if I need a list of a certain object I grab that command, it doesnt matter whether that command runs things in parallel or series, or even any other setup within it. It returns this piece which I need to merge with this other piece. I also have it all run by an executor factory which has 4 different options that can switch between using AJAX, Polling Mechanism, Fire and forget, or a standard inline executor. None of the commands are aware of which executor I grab and whther the web page will poll for updates, get pushed out automatically using comet style technology or will return with all the data on the initial display.
I on the other hand dropped out of the only java class I have taken. It was a joke and nothing played nicely so I stopped going. I instead learned hands on by using google and reverse engineering open source software. I didnt see patterns, I saw things people used and what it accomplished. I analyzed logs and saw things that were slow and I pieced together code that at the end of the day mimicked the patterns in "programming" books. All of this comes natural to me. Plus I get the hands on experience they dont teach in school. My favorite saying is...yeah, thats how it "should" respond. People will say "patterns" are best of, yet people will overkill with them and use every pattern in the book and end up with the slowest most complicated code ever because if you look at the "design" its awesome...yeah, but how does it actually work. Difference between coding to theory and coding in real life. The most important thing I have learned while coding is to code for "openness" and I dont mean this in the same way that say an INTx does. I code by actually seeing the big picture and always code so things can be upgraded, incorporated, and refactored easily. I wont over use an interface pattern because an interface is easy to pull out, I will pull it out when needed. Same with abstract classes, I will pull it out when needed.