My company is 3 years old
is absolutely correct. [noun] is [number] [units] old is the way to describe the age of people, objects, institutions, whatever. (It's a little strange to use units smaller than a day, but that's only because we don't usually talk about age on such a small scale; it is nevertheless possible and correct to do so)
The temple of Bal Shamin in Palmyra was almost twenty centuries old when it was destroyed by ISIL in August 2015.
The New York Stock Exchange is 198 years old.
My daughter is just three weeks old.
Using this format usually implies that the object's exact age is strictly greater than the specified time. A child who was born seven years and eleven months ago is almost eight years old.
But for old things, and especially where the time we're discussing has only one significant figure, you're allowed to fudge the numbers. If someone said the NYSE was two hundred years old, they wouldn't be misusing the expression, even though its actual age is just 198.