Pros
The smartest, hardest working people I’ve ever been associated with. Very good perks. For the first few months the most fun I've ever had at any company, then it went south.
Cons
Lots here: - Because of the focus on shipping product there is huge technical debt and a very shaky code foundation that has resulted in costly customer impacting outages. There is a lot of lip service about fixing the problems but it is trivialized over shipping new features. This is very serious and begs the question about the long-term company viability. - Developer burnout trying to keep the system up and ship product. Developers are expected to work all night on production problems and do their day jobs. There is a real lack of quality in the product. - Management shenanigans have eroded their once prized culture with some very key people either being forced out or quitting out of frustration with direction or lack of career advancement. - Cronyism in new hires. The hiring system was set up to keep this from happening but with new management they are bring in their friends. - Management manages by Twitter, short term thinking and micro management rather than setting direction. - An undercurrent of distrust between internal Engineering teams and between Engineering and the other teams in the company that is again leading to erosion in the culture and setting up favoritism. - Senior managers believing in their and the companies built up propaganda, the feeling of invincibility.