If you're a Java developer and enjoy writing code like it's 1997, by all means join the development team! The codebase is a mess. It has grown organically over the last decade or so, and is unwieldy and not well architected (and therefore harder to understand and maintain). The coverage of the testing frameworks that are in place is nowhere near where it should be, and so very little refactoring happens to improve the situation. Traditional singletons are everywhere. There are methods that are thousands of lines long. It's a jungle. To some extent there is a not-invented-here mindset; bringing in 3rd party code isn't encouraged and must be approved by management. People who are hired are smart and expected to write code that works, but they don't necessarily know how to write clean code that is maintainable, and management doesn't put much value on that either.
As mentioned in the 'pros' section development is still approached like the company is a five person startup. This works to varying degrees with a team 20x that size. There's no real methodology backing it (scrum, XP, lean, etc). This contributes to the existing mess of code.
The bar for entry into the company is set pretty high; the interview process is pretty tough, and candidates are expected to have a very strong CS background. During interviews the company is presented as a real interesting place to work with a lot of tough software challenges around scalability. This gets a lot of people excited, but the reality is much less dramatic. It seems that a lot of really bright people come through the door only to end up with pretty menial work, often maintaining a mess of code that was written up in a hurry by someone else.