Pros
Working in your own office, on your own schedule and the freedom and flexibility to do it at your own pace. Working with a collection of highly skilled and driven individuals. Working as part of a larger team, including marketing and sales, project management and other developers with a wide variety of skills. The team is there to back you up, and they know that they have your support as well. Being able to be highly focused on what you are best at, but still being able to challenge your skills for a wide variety of clients, across a broad spread of industries and geographical locations.
Cons
Like all contract software development, things can be feast or famine. If you have the hustle and the drive to make it work, get the job done and keep the clients happy, you'll do just fine. Its a "business within a business" model, so you make your own benefits. But you also have to make sure that you are taking advantage of the tax benefits and structure of working for yourself. The compensation is as transparent as it can be. It's a small company with a flat management structure, so there is not a lot of space for vertical advancement. However, it started with just 2 guys and has grown to over 25 on staff, so the opportunities are there if you have the drive.