There was very limited structure, both at the technical and managerial levels, during my time there. Technicians fended for themselves and had very little say about how decisions, projects, equipment, etc may be done for a client. We were basically told to do "x" in "y" time without exception... even if we didn't know how "x" worked or was planned out as no hand off was ever given in what the client and management discussed (i.e. Exchange deployment on a new VM host that needs specific configuration / VLANs).
(Upper) Management was horrible, period. End of the day, CEO had the final say and we were expected to do what was told. Even if it was literally, I mean literally, impossible to do. Deploy new servers with questionable specs or a new application with zero documentation or vendor assistance in several hours when it's really a several day project, sure. Deploy 20+ workstations in one day with only one person, no problem. Unreal expectations set by sales and even approved by upper management made day to day hell on earth.
Benefits? Salary? All a joke or very under the average. This may have changed since my time at the company but salaries and bonuses were something to laugh at. And this would be for any one at any level (except highest management); you could bust your b**t off working 80 billable hrs a week, weekends, and bending backwards for the clients to make management/sales happy but zero appreciation or dues at all. Like not even a "thank you" from management.
Technical staff, which is essentially the company's bread and butter and what you're "selling" to clients were treated like cogs in a machine and worked to the bone. It was just *expected* you do what work you were given, no complaints allowed. Put in extra hours (and I'm talking about 10+ hrs) for a client unexpectedly? Well, that's just obvious. On-call (which was really just after hours, and not "emergency calls only" as we were told) was just plain stressful as if you didn't get back to a client ASAP, you just get yelled at (and this is like <30 mins after a call comes in). Drive to multiple clients in totally different directions (i.e. 60+ mins apart) to work 2+ hrs issues at each, all to be done in 1 day made zero sense. There was just no appreciation about the work you do FOR the company that gave you a reason to work for them, beside a paycheck.
End of the day, constantly long hours, unrealistic goals set by management to clients, internal policies that can change at a whim, and management that do not treat staff as actual people is only do-able for so long.