Pros
You get the "in the trenches" experience, you make good friends that usually last. The reason, however, that the experience is on offer is due to the lunacy of the management. Also, the option to leave is actually there and waiting for you. That's a pro. You also see how not to run a business.
Cons
Well, let's see. The CEO (used to) think he's the CTO and enjoys making moderately questionable decisions in order to provide to the client. These include rushing projects through due to timelines that are, in the gentlest term possible, unrealistic. Pushing staff to work till 10.30pm due to said timelines being so unrealistic. No "come in late" tomorrow morning was in evidence, even though the CEO came in at midday. Not allowing staff time off in lieu for ridiculous workloads out of hours. Not keeping clients up to date with actual progress of projects, even though "Agile methodology" is supposedly applied. Bad payment systems. Bad HR. CEO didn't get in before midday at least. A declaration of "Never do another system deployment on a Friday again" lasted 3 days and then another system deployment was carried out next Friday. Staff were run into the ground and churned out. No staff training. Recruitment staff at First Calamity tried to recruit me to work there while I was working there. .. QAs were incompetent and had no idea how to test a site properly. Agile methodology was simply not followed. Pandering to clients in order to get their business at the expense of staff's work-life balance (which was already nonexistent).