The biggest con is the lack of compensation. An engineering salary there is much lower than other companies in the area, including most startups. The equity/profit sharing is not worth much, the medical plan is not good, and there is no 401k matching. But hey there are free snacks I guess.
It it also a very chaotic environment with no central leadership. This unfortunately leads to employees working longer hours than needed, and unhappy clients. Management is not very open, which leads to distrust.
The work itself is not as interesting as everyone claims. It's mostly building software for large companies. The office is also very compact and loud. It's oftentimes difficult to get work done with all the noise.
I think a lot of people on here are probably biased. In my opinion, it would be better to just work for a large tech company or as a contractor, and make a lot more money.