Pros
Great company with a mission that's easy to get behind and give you a "why". Great benefits, good culture, and people. There is a clear, defined path for career growth as a Software Engineer in the company.
Cons
The complex infrastructure and legacy systems can really ruin some days at work when nothing is cooperating or systems are down for hours or a whole day. USAA has talented engineers but I'd say the majority are just getting by skill-wise. Contractors aren't properly vetted so you can spend a lot of time holding a contractors hand or solving their issues for them. Promotions for software engineers can be a lot of bureaucracy and who you know. This means most skilled engineers have no problem due to the fact their skill speaks for itself but if you don't want to play politics you don't do well progressing here.