Which is the correct way to tell where I'm working?
- I'm working in XYZ company.
- I'm working for XYZ company.
- I'm working at XYZ company.
Or is there any difference in the meaning?
To indicate the company you are working for, I would say:
I'm working for XYZ company
It points out that you consider yourself a dedicated employee.
I'm working at XYZ company
has a similar meaning, but I would more likely use it to say you just work somewhere, maybe at a job you don't like a lot. You are just there.
If referring to a company location, at can also be OK
I'm working at XYZ company in San Diego.
I don't think I would normally use
I'm working in XYZ company
No one would ever use 'in' in the above sentence. Using 'in' sounds ungrammatical to me.
Both the above sentences are grammatically correct and have (more or less) similar meanings; however, if the work is short-term you'd probably use 'for' and if you're a long-term employee, you'd use 'at'. (But then again, prepositions are tricky and there isn't a hard-and-fast rule. You could use both 'at' and 'for' interchangeably.)
- The tense of "am woking" is present progressive.
When you say you have a job for/at A and go to work everyday there, you use simple present tense: I work for/at A
You use 'present progressive' when you emphasize the current status or when something is being done now(literally progressive) ex) I am eating lunch now. I'll call later because I'm working. I was a cook before but now I am working for a movie company.
- work for A vs. work at A '
work for A' means you work for the benefit of A
'work at A' means you work at the place of A(where you work, which is your question)
Both work for/at can be used with little difference. There is also a similar expression: work with A
ex) work with a florist's shop