Pros
1. Employees are very passionate about open source, transparency, meritocracy, collaboration, etc. 2. Employees understand and articulate the company values and hold each other accountable to them. 3. Everyone is willing to pitch in to help solve a problem. This sometimes results in 'too many cooks in the kitchen', but the eagerness to help creates a very supportive environment. 4. Smart people who know their jobs. Technical expertise in most functions is very high.
Cons
As others have mentioned, pay is not up to industry standard. Red Hat has had extraordinary growth, and it becomes increasingly hard to justify lack of raises and low salaries to the employees, given the profitability of the company. Career mobility is limited in certain departments and is very manager-dependent. A bad manager can kill a subordinate's career. Hasn't happened to me (fortunately), but I've seen this a lot. Speaking of which, we have some good managers, but we have a lot of BAD people managers. The skills that it takes to be a good engineer, software developer, lawyer, accountant, etc are a very different from the soft skills needed to manage people. Our HR is too focused on managers filling out forms as opposed to giving them real training on how to appropriately manage people.