Pros
Friendly co-workers that you want to stay in touch with. Most have prior industry experience and behave professionally. I saw the young ones starting new families, which is always a good sign. While benefits are thin, new employees are welcome to negotiate salaries aggressively.
Cons
Ubuntu has a lot of cache among techies. As a Linux/GNU operating system, that's rightfully so. But Canonical is another matter. It's a tech company where people can have good and bad experiences. A software developer's experience varies, depending on the project, the job function and the manager. For example, prior reviewers in the Lexington office expressed disappointment with "packaging" jobs. This is true. Yet at the same time, there's a lot of excitement and enthusiasm among those involved with other parts of Ubuntu. To be fair, this is true at any tech company. When I was there, I saw a rotating door for technical staff. A good number voluntarily left; others were let go. Personally what sank my commitment was the remark I heard from one technical manager, something that goes like this: "Ultimately, (software) engineers are replaceable." That last point isn't too big a surprise so long as one keeps in mind that Canonical is a for-profit company sitting atop a system built on open source sweat and devotion, huge in numbers and enthusiasm. In this situation, engineering talent is, to be blunt, cheap. At least from the top looking downwards, it appears so.