Pros
A great company to work for. I've been there for many years, and it still has a small-ish feel even though it has grown 5x (employees) during that time. Most of my coworkers in the engineering department are smart, motivated, and good to work with. They stick to their principles of open source. Communication internally is very good. I feel like in general, the company cares about their employees and tries (within reason) to make us happy. It's a stable environment and I've never felt any concerns about layoffs or downsizing - if anything it's the opposite (growing pains).
Cons
Of all the jobs I've had internally, I've found management to be very hands-off. i.e. "You know what you need to do, so do it". At times I've wished I had more direction, but I'd take that over a micromanager.