Pros
The best part is the flexible hours. The job is project based, so as long as you get your stuff done, you can come in early, late, whatever. While the job is technically an office job, you can work from home on days that you have a doctor's appointment, or if you are feeling under the weather. You get a laptop, which is nice. The BUS/Transit pass was a real nice perk. You can opt for subsidized parking if you prefer. You get stock grants, and good health benefits.
Cons
General salary information for jobs is not provided. I never knew what my coworkers made. When you are applying for an internal job, there is no mention of general pay scale. For me, that made it difficult when trying to gage where I wanted to go in the company. Recognition of accomplishments doesn't happen very often. For example, if you create a new tool for your team, almost no one notices. But if you make a minor mistake, you get in trouble with management. I suppose that could differ from manager to manager though.