Pros
It is difficult to imagine another company having a more talented, dedicated staff than at InfoMC. It may be a small company but the teams are competent and effective. With rare and short-lived exception, folks there are experts at their jobs and the work ethic and collaboration is unmatched. The depth and breadth of the knowledge in their market can't be overstated. InfoMC is a fun place to work... if you like a fast-paced, entrepreneurial atmosphere, if you're a self-starter, and if you enjoy working with smart, funny, caring people. The work is demanding but rewarding. Every day is different. One "pro" is lazy people don't stay long. In a place where everyone is the cream of the crop, if you're not contributing, you stick out like a sore thumb. I believe the company really wants to improve healthcare delivery through their products and their clients' successes. There are often group discussions about what more InfoMC could do to help their clients. I loved my time at InfoMC and wouldn't trade it for the world.
Cons
InfoMC is not for everyone. If you're not on your A game, you will have a hard time there. You need to be able to pick things up very quickly and deal with constant change. This isn't an environment for people who want to relax and ease through their day. They struggle with their culture. I think they confuse a supportive professional culture with socializing. They miss the mark by trying to "improve morale" with free lunches and other perks like having 2-3 hour "happy events" that burden deadlines by taking away critical resources during the day. They want to be a company that provides a great work-life balance but they still have a very old-fashioned mindset that can't quite embrace the remote working concept. There were some management ego issues that I saw but most were weeded out. I saw some good plans before I left. They only dipped their big toes in agile. Their development teams are as close to agile as they can get given the rest of the organization still operates like traditional SDLC. The way they handle all non-development challenges is out of date and is not agile. There are some employees who take on the majority of the work for the team. Teams need time to learn how to distribute the work evenly. When I was there, some were limping along with old equipment/software.