Contentiousness, IMO, occurs when someone claims to "know it all."
Some people actually have wider ranges of experience and knowledge than others. Some have worked in other areas of the business besides programming. Just because someone has worked in a field for 40 years doesn't mean they worked in all aspects of that field. There are lots of other areas, and they all have an impact on the programming. But if you come at it only from the programming side, you miss the rest of the story. I've often felt those programmers who complain about sales just need to spend a week on the sales side. Go to a few client meetings. Make a few pitches and watch as their opinions get shot down. It would be a good experience to have.