Avantages
Many excellent perks. Low "Dilbert factor" Many excellent people Great building, facilities Great pay, benefits Many challenging aspects of the work Learned a lot
Inconvénients
Heavy workload and lots of pressure. And the pressure only increases. Although I was ostensibly hired to build a new product, there was still a HUGE amount of maintenance to be done on the huge amount of existing code. Very strong culture. Which is a strength in some ways, but it also means that only a "certain kind of person" is a good fit. Are you that kind of person? Ask a lot of questions. And don't assume that MathWorks is uniformly great in all groups. Much of the code in my area (Simulink) was overly complex. Entire frameworks were created to insulate business logic from technology choices (e.g., Java implementation, Qt implementation). Result: a large amount of work was typically required to implement even the simplest feature. In my group, management did not have very good management skills. Running the new project seemed to be an "afterthought"...the top job was making all the bug-fix numbers. And the new project ended up getting canceled.