This is not related to my other recently posted question about "working with a star developer".

In a similar vein, how do you work with someone who will only answer the specific question that you ask.

I worked with someone who, when you asked a question on a specific aspect of the system, would give you the answer just related to the specific bit you'd asked about. For example, when processing radar messages I'd ask about an aspect of message number RJ546 and he would answer just about that specific part of RJ546. He wouldn't mention anything about the other freaky parts of the message, or mention any related aspects of the other messages. Then you'd go off and work on the processing and all of a sudden all this other freakiness would pop up.

What's a good technique when working with this type of person?

BTW I later found out that the person who I'd come in to replace had quit because he got sick and tired of having these surprises pop up due to the lack of information provided by this person.

Edit: I forgot to add that the person was deliberately obstructionist and believed that job security came from hoarded knowledge not being disseminated.

12 accepted

This person is proud of his knowledge, and probably derives pleasure from being the sole Keeper of Truth.

Try giving this person the "respect" he craves. Treat him like a guru. Tell him you see him as your mentor. In that capacity, perhaps you can ask things like "I want to learn everything about this message and only you can help me. Can you please steer me right so I don't run into traps?"

I know this sounds a little "help me Obi-wan Kenobie, you're my only hope." There may indeed be no hope. But invoking the ego sometimes works.


Sadly, I don't have a lot of productive feedback in this area. Passive aggressive personalities like this really get to me. I find that they quickly spend their balance of trust and I generally start thinking "I can't rely on this person for anything in any capacity."

All that said, this is a people problem and, in theory, should be somewhat addressable. After all, you're both getting paid to do work. If there's something interfering with that, you should be able to make some progress.

At this point in my career, I tend to try these options in this order:

  1. Confront the situation and / or the person: To use your example, "I asked you about RJ546 and you gave me a partial answer. As a result, I had these other problems. Are you being passive aggressive on purpose?" An awkward discussion will ensue but, frankly, there's no other real way to get someone to admit that they're making your life difficult on purpose.

  2. Work around them: Your mileage will vary with this option. This isn't the most constructive way to deal with a situation but it's a card that I find far too tempting for my own good. If I find myself having to do my job in spite of someone, I start to wonder what value they're adding at all....

  3. Use your organization: Do you have peer reviews as a part of performance evaluations? If so, there is already an institutional capability for you to provide situation-specific feedback. "This person's help was useful in this particular instance but I quickly tripped over these related cases. It would be much more helpful if they committed to doing more than the least possible work required." In that sort of situation, more detail is good. That way, you aren't coming off as a complainer, you're documenting an actual situation that could have been handled better.


Well, it depends on if the answers are intentionally or not.

This behaviour is sometimes encountered by authistic people. They answer your question and go on with their work. In that case its no obstruction. You need a lot of patience and creativity to handle with those people. I'm slightly biassed because I have authistic kids. But the intelligent ones have the potential to become great developers.

If the behaviour is intentionally, you really should find a way to end it. Either by making the person change its behaviour, or by letting him go.


I suggest that you start learning to ask the right questions. If you want to know about all the peculiarities of a message, don?t ask about RJ456. It?s like with programming: you get what you asked for, not what you wanted to have.


Without knowing the person?s personality, it seems like a huge leap that everyone is making to conclude that the person is being a protectionist or passive aggressive. Is the person reluctant to answer questions that you ask or do they just not answer the question how you want them to answer? If it is the latter, then you need to learn to ask questions that will give you the answers you want.

Another possibility is that the person is just not very good at his job. Not that there is any intent to sabotage things.

For what it is worth, I have experienced the opposite problem much more frequently. I would ask an ?apparently? simple question and would then have to endure hour long answers. I would much rather get the short and direct answer than the long winded (it depends). I learned early in my career to be very specific with my questions. It saves everyone a lot of time and frustration. That would be my recommendation to you.

I know you just threw out an example, so I am being nit-picky but why would these freaky things about specific messages not be in an ICD? Since this guy is apparently the expert, Why didn't this person review your work prior to you getting to the point of having all these problems?


Am I the only one who see it that way. You asked a question and he answered it. My guess is that the problem might not be just him. If he's like me, he'll probably only answer the question as he might not know exactly the context of the question. In other words he won't tell you anything you didn't asked if he doesn't know if it is useful.

It's like asking how to do a while loop and hoping someone will tell you that doing an assignment inside a while loop might create a endless loop.

There are ways to ask a question. You can't expect answer to question you didn't ask. In other word, instead of asking how to do a while loop. You could ask something like...How do I do a while loop and what are the most common error that I should watch out.

I do not agree with the other people here...If someone can't ask a question correctly. I don't see how you can expect a better answer than the question itself.


This sort of thing always smacks of protectionism to me.

I think you've got one shot: get to a pub and try and make friends with them. If you can engage with them and get them on your side in some way, they'll open up, and the problem will go away. If they shut you down on that, then your only real recourse is management, and/or learning the answers for yourself so you don't need them.


I liked the answer:

  1. Confront the situation
  2. Work around them
  3. Use your organization

Those are all really good tricks.

Here's a few more I've used once and a while:

  1. Reward the good behavior - if the person ever does prove helpful, thank them sincerely. Even if you are doubtful as to whether you've gotten everything you need.
  2. CYA - I hate to say it, cover your ass. Keep copies of sent mail and responses. Be sure to be clear in your mail that you want insights, and not just simple answers. Then, when an unpleasant surprise ensues, you can pull out your mail set and ask - why didn't you mention this? How was my mail not clear?
  3. Consider the help of management - the guy's supervisor may not be aware of the problem. Bring it to your manager after it's happened more than 3 times, and after you have a solid trail of how it's hurt your efficiency. Also, wait on this until you've tried a few of the other tricks, so that you've clearly been trying to fix the problem. State it as a problem that is impacting your ability to do work, and ask for help. That way you are not complaining, you are clearly trying to fix something.

How about asking him whether there are any surprises that you should be aware of?

e.g. ask him about RJ546, he replies with the answer you required. Follow up by saying you needed to know about RF546 'cos you're using it to implement module 'foobar', are there any surprises you should be aware of when implementing the module?


Suggest heavier use of unit tests, functional tests, integration tests, assertions, Design by Contract, etc., going so far as to introduce the more advanced frameworks for each of these things.

These techniques actually help the programmer, and may be more accessible to developers than communicating in human language. Also, the resulting "documentation as code" is reliably correct, because it is automatically validated.


I know someone very much like this.

He gets better to work with once people have 'earned' his respect but other team members still get no replies from email questions send to him.

As a manager probably the best way to deal with someone like this is to get him feel more as a part of the team and make him care about the success of the other people he works with. Maybe make it know to him that you will include the opinion about him from other team members with his next performance review.

As an individual the best thing is to earn his respect. So do not bother him with 'dumb' questions that you could have figured out yourself.


Keep asking questions. Question each and every field of the message you happen to be dealing with at the time. Question things around what you are dealing with. Don't stop asking questions. Ask so damned many questions that he can't get anything done but answer your questions. He'll either complain about you, or he'll start giving you more information just to shut you up.

I've never dealt with an obstructionist of that level before. The last time I had a guy who was reluctant to give information, he was a contractor and I had the backing of management, so it wasn't a big deal to pry stuff out of him.


This is the second question of yours Rob, which are about having problems in your team/working relationships. Some reflection on your own stimulus into the creation of these issues might be effective in uncovering the inter dynamics... perhaps.