Both are fine in the example you give.
Basically, 'at' can be thought of as meaning a location on a map. Whereas 'in' can be thought of as meaning a location in relation to some entity.
For example, you can be AT the location of a big box or you can be IN the box itself. When talking about employment you can normally use either if the place of employment is a general thing like 'factory', 'restaurant', 'office', etc. However, for a specific thing like "General Motors", "McDonalds", or "IBM" you will use AT.
I work AT an office. I work IN an office. -> Both fine.
I work AT IBM. -> It will sound strange if you say "I work IN IBM".
I work AT a factory. I work IN a factory. -> Both fine.
I work AT General Motors. -> It will sound strange if you say "I work IN General Motors".