Pros
Cutting-edge technology. Amazing benefits, awesome colleagues and co-workers, fun projects. Flexibility with your day-to-day schedule, independence to get the job done and be directly responsible to the customer for your work. Freedom to innovate and empower yourself using any tools you find that you need. Design something from scratch and build it with your own two hands.
Cons
Don't expect someone to hold your hand or support your career development: teach yourself and step up. Don't expect a pat on the back for exceptional engineering, reviews and feedback for an employees' performance are seldom, and much of your hard work will go unrecognized unless you really stand up and argue hard. The small company "have fun and make money" culture is taking some hits.