Pros
Their pay scale is generous. You're surrounded by many software engineers so you have the opportunity to really learn from them. Expect there to be minimal training (still not sure if this is a con or a pro as it forces you to get creative and think outside the box (putting this in pro and con)). Although personal experience with senior management was limited, I got the sense that they cared about what they were doing and the engineers below them.
Cons
Whenever there is a paid holiday, expect to make up those hours in the same week. Immediate management has a way to make you feel like you're wrong if you don't put in more than 40 hours in any given week. Expect there to be minimal training (still not sure if this is a con or a pro as it forces you to get creative and think outside the box (putting this in pro and con)). Projects typically experience scope creep due to the fact that the customer is expected to get what they want, even post production and UAT signoff. You're supposed to make up that time during your personal/family time. Priorities constantly shift but original timelines do not. For example, say you originally had 40 hours to complete a project, a second project would be thrown on top and now the expectation is for you to complete two projects in the same amount of time. Part of Pros is working with many engineers; the con is those engineers are your supervisors. Although they are phenomenal engineers, they lack in management/people skills. Prepare to be felt like you don't matter to them and reminded of how incompetent you are on a regular basis.