Avantages
As a contracting company, this company gets lots of different projects to work on over time - so there's almost always something to do, and rarely is there boredom. It's a great way to learn a lot of different things. There are even occasionally some projects that can call for some electronics/hardware work, in addition to software work. This is also a small company and doesn't have all the corporate red tape that bigger companies have.
Inconvénients
The amount of work can be up and down. Most recently (before I left), it seemed projects coming in had slowed down quite a bit though, and I hadn't heard about many new projects coming in. If you're thinking about career advancement, such as moving to team/group management, it seems that there isn't much chance for that here.