Pros
As far as software development goes this is by far the most risk tolerate/open to change and innovation companyI have worked. I have worked for 4 other companies, 3 as a consultant. There are many applications to learn and new projects on a fairly regular basis. Application support boredom will not be a problem. If in the implementation of your functionality, you find areas that could be refactored or improved through the use of a design pattern, you will be encouraged to reduce the technical debt and improve the code base. Of course, this is only if you have time to do so (hot production fixes). With that said, I have not run into a circumstance where I have not had the time.
Developers are encouraged to seek out best practices and implement them. The environment encourages individuals to do what they want. Want to implement this design pattern? Present valid reasons and you will get the green light. Want code your project through Test Driven Development? Present your reasons and the answer is yes. It seems to be a place where you can take a bull by the horns and run with what you want to do.
Besides the day to day, the company is young and fun. There is a good mix of veteran employees and young professionals that make work more than just a bang away at the keyboard kind of job. The environment is positive and light hearted filled with daily laughter in my group. I feel like the casual (jeans and T-shirt) have helped to foster this culture. Previously Ive worked in a business casual environment where you wake up in the morning and put on your slacks and button down. The problem with this is that as you put on your work clothes, you put on your work face and persona. I found myself and my coworkers pulled into this fake presentation of themselves instead of just being themselves. With the jeans and T-shirt, work is just like any other day. You get to see real personalities here. People are genuine.
If you make an honest mistake, no problem. The question that is asked is not why did you make this mistake, but how can we learn from this to prevent this type of mistake in the future. I have not seen the blame game played here.
Cons
All companies have their problems. MetLife's problem is its size. Its no surprise that this company is burdened by corporate red tape to make large changes due to its size and mature nature. What off-sets this so that it is not a major problem is the group of coworkers that I work with. In general the attitude is positive and a can do nature.
The business has a tendency to change its mind or make late decisions that may affect design. Again this is no surprise since the company is publicly traded and has to compete in the annuities and insurance field. As a previous consultant, this is a systemic problem in the IT industry so developers should mitigate this through their development practices and be used to it by now.
Offshore delivery model on most projects, but there is a stated intent to really scale back on this going forward to improve the quality delivered.