Avantages
Great coworkers and fun outings, plus free lunches. The company is small, so you really get to take charge of projects and be fully involved in activities. This isn't an environment where you're stuck fetching people coffee or performing other menial tasks; all employees get to perform worthwhile tasks and have an impact on the company brand. You can also make a lot of valuable connections within the software/technology space.
Inconvénients
Teams are managed unequally, and members within different teams are held to different standards. The CEO has interesting ideas, but has difficulty seeing projects through or establishing a common structure for team initiatives. He doesn't care about investing in competent individuals to oversee teams, which causes widespread issues around productivity, performance, and transparency. There's also a problem of complacency throughout the company; many employees are content doing the bare minimum to keep the business afloat, while a minority of employees actually care about moving forward and growing.