Pros
Remote. Pay above market value. Flexibility. Everybody outside the mobile team is very friendly. I prefer Xam.Native over Xam.Forms so that was the inital appeal to me. Documentation was above average. App concepts and product serve real-world problems and thousands of daily active users made me feel like the work I was doing was important.
Cons
High turnover for xamarin. Has to do with existing codebase/devs. Someone quit my first week. Another quit after barely a month. By 3 months in I was the 3rd most senior xam dev there. Unscalable code means copy pasting 100's of lines of db code just to hit a single endpoint and consume it on the service layer. Someone will most likely just end up re-writing all of your code in code reviews because they prefer certain names over others. Acquisition has lead to more product decisions. This is making product change directions faster than devs can code it because CTO/Engineering lead doesn't really have a strong mobile background and there will significant pushback to any refactoring to make your job easier. Heard talks about going back to forms after they had just gotten rid of the forms from their codebase. Full manual regression testing every release reduced sprint capacity by significant amount. DevOps was lacking for how often they wanted to release but I think they finally assigned a full time DevOps engineer to help out with that. That was my last straw between that and family issues.