Pros
For the most part, there is a good work/life balance here. You can easily opt to work full time if there is a need to or take random days off if you need to. A 9/80 work schedule is available. There are opportunities to work on different areas of a project and more to different areas if you want. There are many bright coworkers, and all are very helpful and help out whenever possible. Typically, everything is pretty laid back, but there are times when things can get hectic (typically towards the end of a deadline). There are great educational benefits. The company pays your 100% of the tuition bill upfront, and they pay for books. The flexible work schedule allowed me to leave work early (in my case 1pm) in order to head to class. There's an on-site 24/7 gym where the membership fee is only $10/month.
Cons
Unless you're proactive about getting a promotion (i.e., telling your manager that you would like one), then you'll probably stay in your current position. The impression that I got was that even if you work very hard and do a great job, you won't get a promotion unless you let your manager know you want one. Even though there are many bright coworkers, there are still under qualified coworkers that do minimum work. It's actually really difficult to get fired here, so these under qualified coworkers take advantage of that fact.