Pros
The team is full of versatile, low-ego developers who, despite being engineers, are focused on the product and customers' needs. The team is notably aware of how their colleagues are doing professionally and emotionally and the overall state of the company. It's also full of Canadians, who are indeed kinder than the average bear. Many people wear many different hats; there's very little specialization. Work-life balance is a little fuzzy and self-administered; some people go home promptly, some people work on weekends, and everyone seems okay with that. Time off policy is very flexible.
Cons
The company is decent at mentoring, but doesn't have much of a continuing education/training culture; the company doesn't do much to encourage employees to attend conferences or tutorials and the overall culture is one where you feel a little guilty learning new skills rather than working on the product. Currently the company is kind of oversubscribed in terms of work--there's too many projects and too few people to complete them, and everybody knows it. Hopefully hiring will help with this. The product is enterprise-focused and the tech stack is Java-heavy, so it's not as glamorous or immediately scratch-my-own-itch as some startups are. Then again, we have actual customers and non-flippant use cases; we're not airbnb for dogs or whatever. So this is a plus and a minus. Benefits are okay but could use an upgrade--no retirement benefits, life/disability insurance, or parental leave policy right now. The office is average to slightly below average as tech offices go; it doesn't have the ultra-designed beauty or comfort perks of certain big companies, the plumbing in the building is suspect, the climate control tends to break, and the work environment can be rather noisy. But at least it's not a cube farm.