Vantaggi
Those that produce the day to day work. You will form good friendships with. You all help each other out to make sure deadlines are met. People want to share knowledge at this level so you do things in a correct way and save time and have less potential errors / don't cause work for other.
Svantaggi
Management level consistently make poor business decisions and can only think about tomorrow's deadline and nothing long term. There is little understanding at that level of the work involved and there is no desire to learn it. Resulting in over promising to clients and forcing staff to focus on speed rather than efficiency. Often leading to burning out staff. Retention of the most skilled people is terrible. Resulting in a constant hiring of inexperienced people in on projects where they need specific knowledge. Meaning a handful of staff are the only ones able to fix issues. On top of this salary isn't competitive, benefits are minimal or not openly shared. There is a small handful of people who actively hold the whole place together but until they are paid well / more respected. The company is very fragile and it wouldn't take much to tempt these staff to leave. See this place as a stop gap. You'll have a good time for a while purely based on the friends you'll make who do the bulk of the physical work. But that will only keep you for so long until management pays people what they are worth and understands the work involved and how much they get in the way of doing things properly.