Pros
It is easy to excel at this company. Show a knack at a particular skill and they will help you craft a career around it. Flex Time, Great Health Benefits, an onsite gym, excellent facilities, annual paintball trips, game room, and great coworkers make it a place that you really grow to love. Though salaries aren't at the top range of the industry, they are competitive especially when you consider the profit sharing, ability to cash in a week of sick time a year, and other programs that are available to help you stretch your salary a little further. Management is easy to get along with and really lets the engineers help to guide the company. Your voice will certainly be heard. Developers get to guide the process. Tools in place including computers with multiple monitors, agile development, automated build and test servers, IDEs, technology platforms, etc. are all driven by what the employees believe will make themselves more productive. If they can afford to get you the tools you want / need, they will do it. This isn't to say that there aren't legacy applications, just that you get a say in how those applications adapt and mature.
Kontras
It really is hard to find any cons. If there are any it is that it is really up to you to build your career here. Though they will provide you any training you feel you believe that you need or want, they don't have jobs structured to train you right out of the gate. They really are looking for you to come in, help to define your job, and find ways to personally grow as an employee. For people that like the flexibility to define their roles, this is great. For people that need more structure and guidelines they may not succeed here.