Fog Creek Software
Discussion Board

Conflict: Thrive or Avoid?

"I can't stand conflict."

It's a really odd thing that I see in the development world, that the vast majority of the people I've known (yes, I know, too small a sample, blah blah) who've been okay with conflict are the ones who end up being the best developers.

I don't know why that is, but I have some potential guesses. Someone who is comfortable standing up for their ideas is "in the game" as far as learning goes, where someone who plays tortoise whenever there's a difference of opinion is likely to shut out the one big thing that helps them grow; namely, considering the opinions of others and weighing them against your own, and selecting the best.

Am I crazy? What's the experience of the group, with respect to the desire to avoid conflict at all costs vs. the effect of someone's growth in team development?

Brad Wilson (
Wednesday, December 03, 2003

You are so right. If you can't see the flaws in your own ideas or work, even when someone else points them out, you are going nowhere. There is no better learning than having other people show you the holes in what you thought was flawless.

Ian Sanders
Wednesday, December 03, 2003

Odd.  I don't mind conflict when it happens with coworkers.  I love arguing when it comes to politics and coding.  It's just when I have to deal with people I don't know.

Wednesday, December 03, 2003

Joel will probably agree with you, see his article 'The Guerrilla Guide to Interviewing', especially point 7, The Challenge. The good guys don't give in. They cope with a conflict.

I have the same feeling. People who can discuss about a subject without giving in or stubbornly repeating themselves are people that can look at the subject from multiple angles. Now these are the guys/girls you want to have as programmers, because you need those attitudes for programming.


Mark Tetrode
Wednesday, December 03, 2003

For me, the ideal group of people to work with would be capable of having a knock down, drag out, screaming design/code review/whatever session one minute, then calmly discuss some other aspect of the project in the next, with no hard feelings or resentments.

So, yes, I like conflict. :)

Wednesday, December 03, 2003

Conflicting views is almost garaunteed to happen given the diverse backgrounds of everyone who may be on a team. Like the other posts I think this healthy also. Challenging decisions makes for better decisions. Just as long as it doesn't escalate to fists.

I feel I work best when people are critical on my descisions and point out failure areas and give me the who, what, where, when, and why something won't work.

Wednesday, December 03, 2003

Of course you have to be able to use conflict and confrontation usefully (not just to argue) as a developer. When someone asks you to do something, they generally need some level of "education" in the reality of the task in order to know any tradeoffs.

Many programmers don't get this, though. Most developers tend toward the ends of the spectrum: either extremely argumentative, or extremely passive.

It's funny how many personality attributes that are useful to be good at what you do, that are frowned upon in the social engineering context of companies. I honestly think most companies seek conformity above excellence and accept mediocrity as the cost.

Sic: I've always wanted to discuss functionality and do reality checks of people's wish lists, because I consider one important aspect of my job to be to point out costs and side effects. But it's generally gotten me characterized as a busybody or as "argumentative".

Bored Bystander
Wednesday, December 03, 2003

Constructive criticism and being open to new ideas is not the same as conflict.  And whether or not you enjoy it doesn't necessarily bear on whether or not you avoid it.  And lastely even if you avoid it, that doesn't mean you aren't open to learning.

I dislike conflict.  But I don't avoid it.

Wednesday, December 03, 2003

From my experience, it's not about linking or disliking conflict so much as the nature of the conflict. 

I've on too many occasions encountered people with whom conflict always has to amount to an "I'm right, you're wrong, I'm better, you're worse" transaction, not a genuine effort to resolve issue or to arrive at the best way of doing something. 

I have no problem with conflict if it of the latter type.  In some cases, it can be eduational or invigorating.  I do have a problem with conflict of the former type. 

Immature programmer
Wednesday, December 03, 2003

I think there is a big difference between conflict and disagreement. Disagreements occur all the time and professionals know how to discuss and resolve them in a mature, productive way. Conflict occurs when there is a disagreement but one or more of those involved cannot have a mature, productive discussion.

Disagreement is essential to engineering (or working in a group). Conflict is a waste of time.

Jeff Kotula
Wednesday, December 03, 2003

Well, when conflict means "challenge", that can be good.  Your ideas are challenged, you rethink them, and choose the best out of the ideas.  People who can do this are good.

When conflict means "deadlock", this is bad.  "DevA:  I will NOT use M$/Linux under any circumstances.  DevB: Oh yeah?  Well I will ONLY use M$/Linux in any circumstance." (Joel would say fire them both, I'm sure).

So I would much prefer using the term "challenge" as opposed to conflict.  I enjoy a challenge.  I detest time-wasting conflicts.

Richard P
Wednesday, December 03, 2003

I think you are going to have to define for us JOS readers what "the desire to avoid conflict at all costs" actually means to you.

In the corporate world, I have found that most programmers (no matter how famous, talented, or extroverted they might be) tend to avoid conflict with management at all costs.  That is, most developers are not willing to risk losing their regular paycheck by voicing their opinion on anything they might deem important to them (i.e. a technology or business decision that they don't agree with).

One Programmer's Opinion
Wednesday, December 03, 2003

Ian Sanders, you've missed Brad's point. The behaviour you describe is the opposite of what Brad is talking about.

> You are so right. If you can't see the flaws in your own ideas or work, even when someone else points them out, you are going nowhere. There is no better learning than having other people show you the holes in what you thought was flawless.

Brad, I think the characteristic you're praising is assertiveness rather than "likes conflict." Assertiveness means standing up for your rights. "Likes conflict" can mean many things, of which some are negative.

I think your point is basically correct. Only the most capable developers will be assertive.

Secondly, most developers are not assertive, and indeed business clearly prefers this type of developer. They are the people that recruiters prefer to place; they are the people that remain in bad development environments; and they are the people who incompetent managements can be comfortable with.

They are Team Players.

Must be a Manager
Wednesday, December 03, 2003

I don't mind conflict or discussion, but do avoid both with mindless blowhards who believe that they are always correct.

Wednesday, December 03, 2003

Is that the answer to Life, The Universe and Everything?

Ford Prefect
Wednesday, December 03, 2003

Firstly, I would agree that what we're shooting for here is "assertiveness" not "conflict":

As is the case with most things, I feel that the answer lies somewhere in the middle - not so opinionated as to be hard-headed and inflexible, yet not so passive as to just "go with the flow".  Unfortunately, as BB stated, most people seem to sway dramatically toward one end of the spectrum or the other.

I believe that many people who are actually not very competent developers tend to hide behind a facade of over-confident, cavalier mannerisms.  These are the people who ALWAYS have a quickly-formed, DEFINITIVE opinion on how X should be accomplished and either poo-poo the ideas of others immediately or "nod and uh-huh" impatiently until it is their turn to talk again.  They disagree not because they can prove that their way is the best or because their track record of success is particularly solid, but mainly because they can't stand it when someone else gets assigned to a project that is for whatever reason perceived as being more fun or more important than some other project.  If the PHB is watching, this behavior will be kicked up a few notches, because such a person knows that since the PHB doesn't REALLY understand the issues at hand, the squeakiest wheel will usually get the oil.  Kind of like in an A/B comparison of stereo speakers: non-audiophiles will almost always think the louder speaker sounds better.  The overly-confident, under-competent developer says things like like, "If you're not breaking stuff, you're not working hard enough."

People who hide behind "veneered" opinions are every bit as counter-productive as people who don't have any opinions...

Tim Lara
Wednesday, December 03, 2003

'Must be a Manager' ,  you missed my point. I said that being OK with conflict enables you to learn better than running away from it or, come to that, seeking, needing or enflaming it. Brad says, I believe,  that the best developers are the ones that deal with conflict well. I agree. He then goes on to say that weighing other's opinions against your own and selecting the best helps you to grow. Not listening to criticism leaves you stranded in no-grow land. Brad didn't say 'likes conflict', he said 'okay' with conflict. My intepretation of 'okay with' is that you don't run away from it, you don't promote or enflame it, you deal with it and use its energy.

Like it or not, not everyone can manage their verbal output like a diplomat. I agree with you that capable developers will usually be assertive, but I have worked with very capable developers who aren't at all assertive. That comes down to management and ensuring that everyone gets the hearing that their skills deserve.

Ian Sanders
Thursday, December 04, 2003

I used to thrive on conflict.  Sought it out.  I got so 'assertive' once that I grabbed a fellow programmer by the neck and threw him up against a wall and choked him until he almost passed out.

I've since grown up considerably, gone through some counseling, and am no longer really all that emotional about what I'm doing.  I still enjoy it, but I realize it's not worth getting worked up over.  I had to cut off the peaks to do away with the valleys, so to speak.

Thursday, December 04, 2003

*  Recent Topics

*  Fog Creek Home