Pros
- Many of the company's products are distributed by nature. If you want to learn about distributed systems and the challenges inherent in building them, this is the place to be. - Due to the sheer breadth of the product suite, there are opportunities to work in very different kinds of programming environments. - Company culture emphasizes transparency and initiative. This is echoed from the top. - The CEO and executive staff know what they're doing and inspire confidence in the rest of the employees. - The engineering organization was physically distributed from very early on. Telecommuting happens often and is valued, and many teams are accustomed to using collaboration software to be more productive. - The company is in a great market: there is much opportunity and a lot of room to grow.
Cons
- The engineering team hasn't done a great job in career advancement. If you want more responsibility and visibility, you have to work at it yourself. This is starting to change, but it's still slow going. - You're not going to find the Google/Facebook level of perks and benefits here.