Pros
-Only need to work 8 hours a day -Company has enough resources to allow developers to experiment. In over 30 years of operation, never had a year of negative growth, so there is no sink-or-swim mandate -Training program for non-CS entry level hires is a great way to transition into software -Teams are small and functional-focused, so developers get a lot of code ownership. -Company grows fast, so there are opportunities to move up. This must be taken with a grain of salt, since there are thousands of developers at the company, but many of the team leads have only worked there for 3-4 years, sometimes less. -Jumping between groups is highly encouraged, so even if you don't want to manage people, you can always try something new. The process is well-defined, so no need to go behind your manager's back -Get to learn about the financial domain, which has a lot of interesting algorithmic, computational, mathematical and big-data problems
Cons
-A lot of the technology is proprietary or old, making transitioning in or out of the company difficult. New technologies do show up, but it takes time, requires political navigation, and rarely has coverage across the whole company -Business managers often push back when developers try to invest in stability or code cleanup, which is obviously bad in the long-term