Without asking for the estimates from the developer, I have assigned some task to a developer and written "Please do it by EOD". The developer felt offended. However, I think it's okay as I am doing my job as a lead. I have not ordered him as I did mention "Please".
Taking a different angle on this: effective communication requires more than just categorizing statements as offensive or inoffensive; it requires considering your audience and finding the ways to communicate to them that they respond best to. Just because two requests are both inoffensive doesn't make them equally effective.
Moreover, different people have different communication preferences and different attitudes and will respond to the same message differently - you can see that from the variety of answers you got to this question. Some people didn't see anything wrong with your original wording, and some did. You can't control that. What you can do is learn ways to express yourself that minimize the likelihood of offending someone.
It seems like you've handled a subordinate becoming offended by asking whether he should have become offended. That doesn't seem productive, given that everyone has different thresholds for when demands or terseness become offensive, and you can't change his thresholds. Even if most people wouldn't have been offended, that doesn't change the fact that he was. Deciding that his feelings aren't legitimate certainly won't improve communications between you. A much more productive question to ask would be how to express yourself in the future to avoid offense being taken unnecessarily.
I'd guess that what he found offensive might be the fact that you didn't indicate what to do if it wasn't able to be completed by the end of his normal working day. If the job is larger than you thought, he may have construed "please do it by EOD" as a request for him to work overtime to complete it. If that's the case, even "please try to do it by EOD" might have been enough, since "try to" indicates that you accept the possibility that he can't. But the surest way to know would be to ask him.
I don't think that it's offensive, though I would probably find it at least mildly irritating. The person organizing a team's work has the authority and the responsibility to set deadlines, though in this situation it may have been prudent to ask the developer how soon the task could be completed if it were at a given priority level.
However, a "please" from an immediate superior at work doesn't make it any less of an order than if you hadn't said "please". Could your developer have simply said "no, thanks!" and then not done the task without repercussions? If not, it was an order, no matter how you phrased it, and your phrasing was terse at best.
That you seem to feel differently may be part of the issue. If your team members feel that you are, in general, a bit domineering or dictatorial, they might have developed a general dislike with your communication style and blow individual instances out of proportion. But this is all guesswork and tangential to the question. My own boss is very respectful towards me, and when she has asked me for something by the end of the day (which happens from time to time) I have never been upset about it. I work for her, and that's her prerogative.
Could “Please do it by EOD” considered offensive in the emails?
Well, it's evident that this developer found it offensive, so the answer to that is yes.
However, I consider that such phrase should not be material for someone to get offended. Perhaps the abbreviation EOD (end of day?) sounds a bit harsh, where you could just have written "end of the day".
Regardless of the word "please", you were ordering your subordinate to change their plans and priorities to complete a task by the end of the day on which you told them about it. That is likely to be inconvenient. Doing it without either discussion or explanation suggests you think the developer's planned activities have little or no importance.
If possible, allow a longer deadline, and work with the developer on deciding when it should be done, taking into account other priorities, meetings, etc.
If that is not possible, tell them why you need it done today: "I need it done today because I will be coming in early tomorrow to prepare a report X needs by 10 a.m.".
Anything can be offensive all it requires is someone to be offended...not a useful question.
A better question would be: How to word the order in the most diplomatic way...
I would say that the most diplomatic way to word it, is to not make it an order, but rather a statement of fact: I need this done by EOD/COB/7am tomorrow morning, whatever.
But note that the most diplomatic way may not be the most effective way to ensure that the task is completed. You will have to decide on a case by case basis what is most appropriate and what contributes the most to both your long term and short term goals.
As lead, it's implied to be an order, and while not offensive, it might come across as an arbitrary deadline.
But I don't think you were rude or offensive here. You could have worded it better, yes, but part of it sounds like an overly sensitive developer. Not your problem.
You could always phrase it as
Please, see if you can finish this by COB and let me know the status next morning.
Which might be a tad bit more diplomatic, but no, you were not being offensive.
Responding to him saying you were offensive by saying
Fine, let me rephrase it. Please do it by COB, Jerk!
Now THAT would have been offensive... but the way you did it, nah.
Why die on this hill? Why not:
"[Person's name], I'm really sorry if I said something wrong... Ultimately, my goal here is success for our team, both individually and as a whole. I'm very happy that you have felt comfortable enough to bring up my communication issues; that being said I'm willing to do whatever it takes so we can both work together effectively."
From there, I'd cordially try and schedule some time to iron out the communication issues. This could be something really simple that is an easy fix for you.
Oh, and you're lucky that the person is telling you directly that you have communication issues... That doens't happen very often.
You could just change it to "please do this today".
What's the difference?
I have a to-do list that will keep me busy for the next few months, and to some degree I do thinks in the order I prefer, mostly by doing related things together, but also by doing little tasks to keep the number of unfinished tasks down, and by prioritizing tasks where the ratio between work needed and improvement for the user is particularly good. And sometimes people need something done quickly, and then I push it to the top of my list. No problem. That's what you get if you say "please do this today".
"Do it by EOD" - well, are you so bad at typing that you can't write "by the end of the day"? But the real problem is that you make a demand independent of how long this task will take me. Obviously you expect me to work overtime (unpaid, naturally) if I can't finish it before the end of my paid working day. I find that quite disrespectful.
Here's the definitive overall solution to this astounding QA:
Of course it was not even slightly offensive
Many of the comments and answers here suggest that juniors shouldn't be inconvenienced. This is absurd.
Many of the comments and answers here suggest that juniors shouldn't be told to do something if they happen to be doing something else. This is absurd.
Many of the comments and answers here suggest that juniors, or indeed any employee, should be given rationales as to why they need to do something. This is absurd.
Many of the comments and answers here suggest that juniors should be asked for a detailed discussion on how long the junior thinks something will take, before having to ever do any work. Again, this is absurd.
Many of the comments and answers here suggest that juniors should not be exposed to short, concise sentences. "Do by EOD" is very short and has an abbreviation. (Note that every single suggestion on this page about how to be "nicer" ......... is simply a longer sentence which says the same thing.) Once again, this is absurd.
To cut through the bullshit, the OP is a team lead who is evidently from SE Asia and/or not a native English speaker. Using no-nonsense abbreviations and truncated words is very "Indian English". Just as Asian developers, US developers, and French developers have their own specific communication patterns. (US developers are unbelievably long-winded, French folks are astoundingly curt, and so on.)
It's likely that the junior in question got comically offended because it's one of those "foreign" speech patterns: if that is the case, the offense is doubly-absurd.
"Could “Please do it by EOD” considered offensive in the emails?"
The answer is, of course not.
I just got an email that had the seven characters "do This" (capitalization as such) and a pdf attached! Here's another one that just has a spec attached, and nobody even bothered typing "do this" :)