Pros
The people who work here like working here, and they work hard toward common goals. There is a very strong sense of company values, culture, and purpose, which I like. My co-workers are very competent, and always willing to help. As a software developer, there is a strong focus on self-directed growth in a useful area of your choice, which consequently makes you more valuable here and elsewhere. Managers on the development side don't really exist in the traditional sense. The development leads write code all the time and are among (if not) the most knowledgeable in their areas, which is the opposite of my previous experience. Human Resources also doesn't really exist here in the traditional sense. The leadership all the way to the top (of the quite flat management structure) is very accessible. Your work here is very self-directed, as is your work schedule. You get help if you ask for it, but don't have someone looking over your shoulder. You come and go as you please, but keep regular hours in the office and make sure to attend meetings. Regular code review provides excellent opportunity for growth and helps you conform your style to the coding standards here. The coding tools are excellent in my opinion, and my chair is exceedingly comfortable.
Cons
The health insurance here is great for the employee (cost prohibitive for family), but I would rather get private health insurance with less coverage and lower premiums if I could increase my salary by the amount that the company contributes to my health insurance.