Pros
No dress code. No restrictions on Internet access (if you are above a certain role). You get to work on some really great projects. Very nice people exist - but they are definitely not in Engineering or Sales. You get paid very well - if you deliver on time, good quality work - compared to the industry (but only a few get that opportunity) Opp. to interact directly with VP's and CXO's. Very few organizations have this level of close interaction. (However it is not really flat)
Cons
Absolutely no career path. There is no role progression or even hint of one - if you are above a certain role. Always a question of "What next ?" Confusing hierarchy. Fiefdoms abound. Lots of petty politics (of course they exist everywhere). Pulling rank. Tall claims of flat organization. No thought process on how to empower individuals. Making everybody a Business Analyst or a Project Manager - put them in a spot - and fire them. Some members in "executive" management have absolutely no respect for people below them (irrespective of their department). Ironically in any capacity you will be working under them. Hikes and promotions are super delayed (and sometimes not really satisfactory) Pretty much a hire-and-fire culture has taken place. More show-off than actual work. Huge amount of time is wasted in meetings/exchanging information that can be easily passed off in emails (under the pretext of "connecting") This company had a start-up culture - now its pretty much a run-of-the-mill IT sweatshop. HR is pretty much a puppet.