Pros
Most people are friendly to work with, willing to help you out or answer a question. Everyone gets their own office. Free lunch every day, breakfast tacos on Fridays, and fully stocked kitchen at all times. There's also a game room with ping pong, video games, pool table. Free gym.
Cons
Like many small companies, some of the managers are managers because they've been at the company the longest, not because they know how to manage people. Documentation is sometimes out of date, seems like no one is responsible for updating it. The company has always had a policy to fire people who did not meet performance goals. They still claim to have this policy, but are no longer consistent with it. The company is content with keeping on employees who do poor work, which (in the software industry) causes more work for everyone else.