Pros
Being a small agency, everyone on the team gets to work in a variety of roles to produce the best client outcomes. Team members get direct communication with company leaders and all opinions are valued. Each day provides a new set of problems that need to be solved, so the work always stays interesting. The leaders of the company have done a great job of fostering openness and a team environment in which everyone is accountable to one another. The work environment is great (flexible hours, open floor plan, stand up desks for all, stocked kitchen, etc).
Cons
Because the work is changing every day, it's not a job you can just come in, sit for 8 hours, zone out and leave. To make an impact and move up in the company, you have to be self-motivated and constantly producing valuable work. A lot of the work is technical, so there are large parts of the day where there is intense focus in the office. The work is very detail-oriented and results-driven, so you have to always stay diligent and focused.