Personal responsibility from the beginning, even as an intern.
Lots of autonomy with which to attack each problem.
Excellent guidance from a brilliant team when you get stuck
Cons
Small engineering squad, so not many opportunities for pair-programming or other collaborative development. Lots of solo development. (also a pro!)