Recently I ended my nearly 2 year relationship with Obtiva and why I left deserves a few words.
The issues I had with Obtiva were mostly just issues I have with consulting:
- You only work at places messed up enough that they need to hire consultants
- You leave before you get to spend time with code you wrote so it's hard to learn long term lessons
- The most stable gigs that pay the bills for a consultancy tend to be the worst programming experiences (Large corporations with way more money than sense)
- You have to track every hour of your time
- Time off has to be negotiated with two companies instead of one
- Learning a whole new bunch of names. personalities, and organizational structures every 6 months
Why Backstop? Well, it's big enough (60ish people) that they've worked out most of the kinks of being a business (direct deposit, 401k, health insurance, etc.) but small enough that you can get to know everyone and (hopefully) help steer the company. Their product is strong and growing, but there's some new products in the works too. They do Agile but would like to do it better (I've been brought on to help with that in addition to my coding responsibilities). But the best part was that while everyone is smart and nice, it's oddly unknown in the Ruby community -- and I can help with that.
Obtiva was a great experience. During my time there I moved from being just a coder to being more of a leader, started speaking at conferences, got to participate in many wonderful geekfests, helped mentor software apprentices (which I once was), and learned a ton from all the programmers I interacted with.
To sum up I'll quote from my company-wide resignation email: "Mommy and daddy still love each other. Except we're going to see other people. And not live together."