Avantages
In Cyrus you are surrounded by people who are motivated and excited about what they are doing. The hire process was a very efficient approach -- I had an offer in my hand a week after I sent out my resume. I haven't experienced any deadlines and never felt overworked. The agile process was a nice change from a complete lack of setting goals in many other places.
Inconvénients
Cyrus resembles a cult in many ways. You are expected to do things a certain way and you're expected to like it. Yes, you are welcome to express issues and concerns and you will be listened to, just be aware that if you happen to disagree with some generally accepted ideas and express what you feel, you may be on your way out. This may also happen if you don't constantly express enthusiasm and attempt to keep to yourself. I understand they want a tight group so that approach may make sense, however, this ends up creating a very closed-minded environment in regard to certain things. For example, you are expected to be paired 100% of the time, even if you are not good match with you pair or under circumstances when pairing just doesn't make sense. I'm not against paired programming in general, but there is certain logic behind it and there is no understanding of it at Cyrus. There are other things that are pretty difficult to understand and tolerate (refusal to use a debugger, etc) for someone who has been developing on his/her own for some years, which is probably why they like to hire very young people... I was initially inspired by the enthusiasm at Cyrus but after some time I had trouble telling whether the people are very talented or just very full of it. Either way they certainly don't lack in confidence whether it's backed up by competence or not.