Pros
First and foremost, Keyhole has a great culture. It's a little surprising given that most of the employees are development consultants who are working on many different projects, often as part of their client's team. However, the leadership does a great job keeping in touch on a regular basis, having events and letting you know you are not alone. The leadership was very supportive from the beginning and constantly reminded us that if there were any issues, bring it to them and they would do whatever they could to make it better. They offer in-house work if you are between clients to ensure you are getting your hours in. They don't micro-manage you even while working on in-house work. They provided opportunities to stretch your skills, like projects that give you new things to learn or monthly lunch-and-learns or the opportunity to write blogs on technical topics.
Cons
The only con I can think of is really more of a personal preference. Since they are a consulting firm, compensation is an hourly model. This is offset some by the way they calculate your hourly rate, but ultimately it just didn't work for me as well as it might for others. This is not why I left, but is the only negative thing I can think of.