My current project at work is part of a product that many people use internally, with an active email list for user feedback. I recently pushed out a rather visible change and unsurprisingly someone started a thread on the list with some feedback.

I replied to answer questions, and mentioned we were actively working to improve one of their pain points.

Someone else replied to the thread:

There already is a function for [doing the thing] (as explained in the docs [link]). Does this system take that into account?

I replied that we are we using the same API as that function, and (very briefly) explained how. I also pointed out the current limitation, and that it would certainly be better if we could listen for changes in foo (which should solve OP's pain point).

He replied again telling me that I should talk to the API's team because their code knows what foo is, "see [link to code]"... which clearly showed the API only keeps one foo for the whole system, when we need foo per object... and while he couldn't have known it, the code he linked to was actually the code I used as an example when I was writing mine.

What I tried so far: nothing, I didn't trust myself to write a professional-sounding reply and didn't know what to say.

Personally I felt like it was quite rude to reply-all to a large email list and ask the engineer for a feature if they had read the relevant docs. My PM, managers, and coworkers are all on that list too, which means I am also worried about how they perceive the interaction. For instance, if I respond with "OK thanks for the info" will they think "wow, so she hadn't actually read the docs?!"... or if I respond with "Yes, I'm aware" will I seem rude, like I'm too good to accept help?

(Feelings aside, I am sure he thought he was being helpful! We've never interacted before so I can't imagine he had any ulterior motive.)

I think a big part of the issue is that this interaction was text-based and I don't know how to probe "why are you telling me this" or signal "yes I know about this already" politely.

If it was face-to-face, I might have replied with a friendly laugh and smile about "ah funny you should mention that code, that's actually what I referred to as an example!", which (hopefully) would prompt him to go "oh great, so I don't need to explain how it works to you" and then maybe we could have a useful conversation. The immediacy of face-to-face interaction also makes tone feel less high-stakes because if I say something that comes off wrong I can course-correct and apologize as soon as I realize.

But sending an email of "Yep, that's actually the code I used as an example" could easily come off as sarcastic (or even clueless, if I don't include more technical information - but what?? I tried that in my first reply and apparently that didn't convince him I had done my research). The context clues that would normally make me go "oh no, that sounded too flippant" won't be present in email unless he makes it very clear that he was offended, in which case it's a bit late to casually smooth over.

So, to summarize all that - How can I assert my domain knowledge, while signalling openness to useful information, over email?


3 Answers 3


How can I assert my domain knowledge, while signalling openness to useful information, over email?

Generally... Switch them around and sandwich them. Act like the guy is the kindest person in the world for sending you a link you've already seen. If you're worried about a single line saying 'I already saw this' being too abrupt/rude, write more than a single line.

I'd like to introduce you to one of the many theories out there that describe how people develop healthy relationships. It's called Politeness Theory, and its main premise is that two people develop a relationship when each respects, contributes to and acknowledges the positive and negative face need of the other; the relationship deteriorates if they don't.

Positive face, in this case, is the need to be liked. To be valued, and esteemed. This is usually done through compliments, praise and general positivity. Negative face is the need to be autonomous, to be in control of one's own behaviour and to not be obligated to do something. For communicating, this means requesting things instead of demanding them, indicating that you value and respect a person's time, and to try to stick with few (if any) imposed obligations. 1

In your case, it seems both your positive and negative face are being impacted by this guy: You aren't feeling valued and esteemed, and you feel a need to reply because of the way he acted. You want to save your positive face, so don't be too apologetic if you can help it.

At the same time, you're looking for a polite reply, something that acknowledges both his positive face and negative face. This is generally where Feedback Sandwiches come in for me personally, I find them a great help to make give people both positive and negative face if I don't have to fake them.

So start by thanking the guy for trying to help out. A compliment will create some positive face while valuing his time will also add a bit of negative face for him. Don't overdo it though to avoid being thought of as fake.

Then put in the 'negative' part: The bits you wrote here about him not being able to know, but you already seeing that code and using it while developing go in the middle of the sandwich feedback. Again, like linked before: Don't be apologetic here, state it as a fact. No starting the sentence with 'I'm sorry, buts'. It will only hurt your positive face.

Finally, end with a short summary (if possible) of your earlier mail (the line about you knowing the API is saying it's one foo per system instead of per object), and your previous suggestion that listening for changes in foo can solve the pain point, but the API currently doesn't allow it (As to again assert you know what you're talking about). And then ask the entire e-mail list if anyone knows who on the API team might take such a request for change, maybe mention that you appreciate that information too, to make it extra clear you're open to useful information.

1: The Interpersonal Communication Book, Joseph A. DeVito, chapter 9; is where I got the definitions for politeness theory, and postive and negative face, from.

As an example, some of the work e-mails I write follow a bit of a template:

Hey X,

Thanks for taking the time to reply so quickly/send me Y/your comments on X.

You probably didn't know, but / I think you forgot to consider / I've already seen Y, it doesn't solve the problem because...

@CC'ed person, can you get me Z instead of Y/ I propose our next action shall be / I'll ask the responsible person to fix this etc.

I've almost never had complaints about those e-mails being rude, and most often, if there's a load of people (B)CC-ed, I sometimes even get complimented for handling a misunderstanding calmly, for explaining things clearly, or for being good at getting the right people looking at a certain problem and getting it fixed soon.

The one time it didn't work was with a very, very dense coworker, that made more mistakes showing their misunderstanding of what they were doing, and eventually, they were let go from the project. My (now ex) co-workers and I still laugh about that from time to time.

In a good group, people will have already realized it's your co-worker that's being dense, and not you. Trying to remain polite will only enforce their liking of you, so good luck!


I would approach this from the point of view of egoless programming. Address this as "we are on the same team, we have the same basic goal, we are trying to help each other", rather than "why is this person questioning what I did".

From his point of view, he saw someone writing something that already existing, and it sounds you hadn't made clear why you were doing so. From his point of view, he's trying to avoid reinventing the wheel.

So reply from that point of view: thank him for putting in the effort to find the code, say that you in fact are using that code as the basis for your work, and explain what the existing function doesn't do what you need. It's reasonable to "reply all" since the question as to why you aren't using the existing code is out there, but it's also reasonable to say something like "If you have any more questions please stop by my desk" to try to terminate the "email all" chain.

Don't worry about "how will this look to coworkers / managers / ...". I've always found that devs who stick to a "just the facts, ma'am" approach were the ones who were the most respected.


I am a PhD, but I have to be very careful as I do not want to appear to be 'arrogant'. In all communications (such as email) I try to use 'please' and 'thank you' even if they are not really needed. I open most emails with

"Please note:"

(very generic) and I finally just added


to my signature.

Sometimes your domain knowledge may be correct, but even then, people can be easily offended if you have the wrong attitude. Also, there are times where a system is so specific that the domain knowledge that you think you have is incorrect. If this is the case, you have to be especially careful, as you have to 'tread carefully'.
Being right doesn't prevent leaving a bad impression.

Try to be positive and optimistic.

Also, be sure and give credit to colleagues who help you and never try to 'steal' the credit that is due to them.

It is very important not to come off as rude, so error on the side of caution.

Sometimes adding a question, such as "Do you want more explanations?" can be beneficial, but not always.

As one of the commentators said, it can come off as being rude also, so you just have to keep trying...

  • 1
    Thanks for your response and welcome to Interpersonal StackExchange! As a suggestion, we like to try to explain why and how our answer can help solve the question's answer. Perhaps you could improve this answer by elaborating on what makes the addition of 'Please note:' and 'Thanks' make emails less arrogant and how the OP could apply it to their situation. Your suggestion of 'please' and thanks' is thoughtful advice that should probably be followed by all. Apr 2, 2020 at 23:27
  • @USER_8675309 -- Thanks. I added a brief explanation. My answer was intended to be very generic. If a person is new to an organization (such as a company) there is often specific knowledge that they lack, but need. It is hard to "square that circle" and many mis-steps can be made. Furthermore, at least in my case, when I am new, I tend to have to interpret things literally. As one becomes more seasoned, one can add context. Apr 3, 2020 at 0:56
  • 1
    This seems like a fairly decent answer, except in the context of the existing answers at the time you wrote yours. I'm not saying that you don't have unique and interesting elements in your answer, but I'm uncertain how they contribute to making a better overall answer.
    – Ed Grimm
    Apr 3, 2020 at 2:51
  • Could you add an example use of your tips? "Please note:" and "thanks" can be used in a condescending and rude way, so the devil is in the details.
    – bob
    Apr 7, 2020 at 22:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.