Pros
You can learn how agile a company can be. A company can hire more than 30% of its headcount and half a year later fire them. You can also learn how scrum can become a scam. A daily standup for 10+ people scheduled for 15-20 minutes can overrun to an hour. All scrum meetings in an 80-hour sprint can take more than 12 to 15 hours, which means almost 1/6 of your time is spent on these scrum overheads. Yet, there is no plan to hire a **real** scrum master to teach the whole company how to use scrum properly. Still, there are endless meetings with various teams of different fancy names and clients, and your colleague might suddenly invite you to an unexpected call (or not even send an invitation but simply call you) just to answer a backlog item on his/her list. Most of these meetings could be replaced by email or messages, but nobody likes that or nobody likes to answer in such a way. These work meetings could add up to 1/3 of your daily schedule. So eventually, half of the day can be spent in all kinds of meetings without doing real work, and you have to be very agile to get your work done in the remaining time.
Cons
As you may have seen, others have said that they were underappreciated. One of the consequences of this is that nobody likes to teach others, and everyone is hiding something. There are no proper documentations, no comments in the codebase, no messages in commits, and no descriptions in backlog items. All you can do is ask people around, and people love to refuse to answer you directly - you need to schedule a call with someone who knows the topic well but already has a full schedule of meetings. Even if you can find someone, the information is so fragmented and non-confirmative that you can never get a full picture of a simple thing. And yes, you may question yourself at times whether you are so stupid that you can't even understand something simple. There are so many different teams, but they are all doing similar things. In a client meeting, you can see more than 4-5 teams with members attending, but nobody takes the lead in the meeting. That's why meetings often go off track and nothing gets achieved. There is no actual ownership of taking care of a single client; instead, everyone gets dragged into any project or issue. Most importantly, people have a mindset of one-size-fits-all for clients, which is nearly impossible. When a single client asks for a feature, they love to generalize it in the hope that it can be reused. But how can a generalized feature be built based on the requirements of just one client? So endless design discussions are conducted based on abstract ideas, incorrect assumptions, and unrealistic expectations. Even if a feature is properly built, due to the lack of proper documentation, it is never easy to implement, let alone make changes to accommodate a new client. As a result, the time to delivery is always long, and whenever a new client comes on board, there is no escaping from the endless meeting hell.