in reply to
What Kind Of Programmer Are You?
I think the obvious answer is humility... I mean, who really wants to deal with a smartass? But in a broader context you'll go farther I think if you remember that no matter how sublime your code is, no matter how brilliant you personnally may be, the only thing that really matters is that your program does the job it's supposed to. Solving the problem is what's important.
I spend about a third of my time providing programming support to over 100 non-programmers. Lots of times I have the skills to solve problems that these people encounter, but I absolutely rely on them to tell me what problems need to be solved. My relationship with them is critical: so long as I'm viewed as "that guy who fixes things" everything is wonderful. But if I copped an attitude, or didn't deliver on my promises, or snapped at people when they changed their mind, they wouldn't come to me, and their problems would still be, well, a problem.
It's really customer service, I guess. And yeah, I was once told that adding a single line of text to a single web page was "non-trivial" and ended up taking 6 weeks (!!!) so I know what pinheads are like. But that sort of attitude doesn't do anyone any good, and it certainly doesn't solve anything.