Pros
Good Pay as long as you follow their rules. Annual 3 day trip to a resort. Little to no experience required to get hired out of school. Option to travel to new locations, although you can't control this. Client facing role so you get more of an understanding of the requirements you need to code.
Cons
The tools are all proprietary, undocumented and closed source. There is often an expectation that you know how the tools work even though there is no way you could. They often contain many bugs that severely impact their usefulness and there doesn't seem to be any effort to fix or replace them. The only tools that you can put on your resume are VB.net and SQL Server. Travel is forced, you will be given little time to make your mind and if you choose against it you will likely no longer be employed. Terms of moves will often change after you've already moved. Lack of testing framework integration means a lot of manual testing and manual regression testing. There are often not many testers with a good understanding of how the system works. Lack of work life balance. You will be expected to work extremely long hours to keep up with deadlines. There is very little support on this and you are largely on your own. Don't expect to take vacation or parental leave during these times. The code standards and code quality seem designed to obfuscate the code as much as possible. You will spend many hours wasted figuring out how things are working when it could easily be documented in the code with comments and a sane naming standard. Payroll has many issues. I was often payed late or payed the wrong amount. There is only one development environment and the version control system doesn't allow branching. If one junior developer configures something incorrectly, it breaks the development flow for everyone.