Avantages
Theoretically, the idea of working on projects to choose your transfer team is pretty appealing, especially for those who would like to explore different areas of software development. Although limited, team members are given some say in influencing the direction of the team and team initiatives.
Inconvénients
Pay is significantly lower than for similar roles at other companies in the area. The location of the company is not so great for younger people who prefer to live closer to the city. Lots of misinformation or omitted information during the interview process. Here are the downsides of this position that they won't mention in the interview: This role is primarily a customer support role. Don't expect to spend most of your time on software development. The customer support work environment is considerably stressful. You are pushed to take on more and more work with the technical support team the longer you work at Mathworks under the guise of learning "leadership skills". The managers also don't generally discuss the details of the (difficult) transfer process during interviews. You basically have to go through the same process to transfer that you would go through by applying from outside the company. You have to wait for a job opening on your team of interest, then go through the strenuous interview process, and finally beat out the competition of external candidates who probably have more experience than you. This makes transferring quite difficult in many areas (except for QE, where there is a lack of applicants in general). The EDG/CSDG program is basically a way for the company to hire programmers on the cheap and get them to do some technical support work for the company so they don't have to hire a special team to do it.