Pros
You will wear many hats.
It is a small company, so you can make a difference and there is a chance your (good) ideas will be implemented.
Some of the most responsive programmers and developers.
Many very smart people here, who are also kind and caring.
Opportunities to travel.
Some of the most interesting customers and customer projects, NASA engineers and the like.
Nice company parties and outings.
Cons
You will wear many hats.
There isn't really any official training, not a good place for those who need constant feedback or do not learn well independently.
The pay is a bit low, considering the amount of responsibility.