Pros
Managers let you all individuals have a lot of potential input on the projects. They have a lot of nice perks like free sodas, often free food days, and a relaxed environment. Benefits such as insurance and retirement are standard.
Cons
The hiring process and workplace is filled with secrets, selectively presented truths, and frills. They try to do everything they can to get people to work for them and stay. The technology is a horrible to work with and was written in the 80s. In fact the software is so bad that when working with it you often feel that you'd be better off ditching it all and rewriting it in C++ from scratch (literally). If you ask too many questions they quit answering them. They don't give employees concrete expectations and if you don't quickly meet their expectations they fire you immediately. All firings are done under-handedly and it seems that they fire many people. If you leave the company make sure you get a copy of all your last day paperwork in case they sue you later.