Pros
Being a small company, there is the unique opportunity to wear many hats. In my time at SurfMerchants, I was able to contribute to product development, systems architecture, systems administration, database administration, and infrastructure. I felt like my contributions - both code and ideas - were encouraged and given full consideration. The organization is battle hardened - there is something for everyone to learn, regardless of background. I felt like the ability to dabble in every aspect of the business meant that I grew quickly as an engineer and as a person.
The employees are there to get things done, and they work hard to do so. With this comes a healthy penchant for play, and being in the office is a genuinely good time. The work schedule is roughly 50% in office and work-from-home, which means you won't be fighting Boston traffic as often as you might elsewhere.
Finally, the organization does a good job recognizing both effort and excellence. This means that work is rewarding.
Cons
The company is small but successful (and growing). This means that there is a lot of work to be done, with tight deadlines. Management does what it can to take the pressure off, but the fact remains that there is just a ton to do. This can lead towards getting things done at the expense of getting things done "right."
Pay can be lower than other tech firms in the area, but this is offset by a tremendous benefits package.