Avantages
The team, the work, the culture.
1) The people are awesome. Everyone on the team gives their all and there's a real sense of camaraderie. The boss and management are hard-working, honest, and open with all the employees.
2) The work is fun and challenging. There is always the opportunity to learn new things and keep building yourself professionally. With a diverse client base, you are never doing the same one thing all of the time.
3) The company makes a serious commitment to keep all employees at 40 hour work weeks to help with work/life balance. There's a casual work atmosphere with in-office perks like snacks and coffee. Also the office is open concept with a ton of windows and a great view of downtown Indianapolis - no shoving developers in dark holes here.
Inconvénients
As with any smaller company, an employee often wears more than one hat. As a developer, you have to be willing to interface with clients, assist with documentation, and help manage projects along with your usual programming. I personally enjoy this part of my job, but I know some developers might see this as a con.