Vantaggi
The best thing here is the work-life balance. Hours are very flexible, and most managers just care about you getting the job done -how you use your time to do it is not very relevant. If you're lucky enough, you'll land in a good team with a good manager, and hard-working nice guys.
Svantaggi
There are several things to consider (from a software engineering role): - Compensation: it is simply below industry standard. Base salary is low, and bonuses are generally low as well - then add you almost never get 100% out of your bonus potential. In average, software engineering positions somewhere else will get you at least 10-15% more. - Benefits: other than a gym on-site and 10% cellphone plan discount, perks are not very good. If you manage to stay in the company for 6 years, you get 5 weeks paid vacation, but that's not the norm for MicroStrategy employees. - Lack of motivation: it's hard to find a guy that can sell you the job or the MicroStrategy vision. Top management specially is simply not a role model or someone to admire. Too much disorder, trying to do so many things at the same time without a clear, well-thought road-map. If you're unlucky enough to land in a "maintenance-mode" team, you will be pretty much fixing bugs and implementing small features on old products, while fighting non-sense requests from recent-grads working as PMs or non-technical analysts. - No standards. No clear processes: Different teams work as they please. Some of them have no build process in place. Some use a version control system, some others. Some have a lacking QA function. No clear communication channels. No ownership. - No employee recognition: it's hard to feel you're a valued person in the company. Other than a "employee of the quarter" recognition that is largely dependent on having a manager that wants you to be recognized (the minority of managers), you won't get anything. Not that recognition is the whole, but it certainly helps. - No clear career path: most of people here get promoted based on tenure rather than on performance. That leads to "senior" and "management" roles that shouldn't be. If people doesn't have the skills, then just don't promote them. You're going to damage the company when you put someone in charge of growing a team that does not know how to be a manager, or a leader. Believe me, I'd rather get a better salary increase than being a manager of my own time (i.e. managers with no direct reports). This of course is no secret. Talent leaves the company as soon as their immigration case is resolved (if applicable) or as a better offer somewhere else comes.