Despite the loss of a salary and frustration in getting another job (Tweetstorm about data science job hunting: https://twitter.com/minimaxir/status/951117788835278848), quitting was 100% the correct move in retrospect.
If you don't fit the culture, it's time to leave.
People interested in backend work get placed on frontend, people interested in frontend work get placed on backend. As a result, retention for Microsoft college hires is rather poor. Contrast this with Google where once you're selected you're often given a choice of a few teams and you can indicate your preference.
The first thing I was asked when I interviewed with Microsoft was what I wanted to do and what I wanted to avoid. I said, no frontend, something related to distributed systems and they put me up for interviews with an Azure team.
With Google, it was like "interview first, accept the offer before knowing where you are going to be placed, and we will put you in some team".
Google absolutely has the problem you described and I forgot to mention it in my prior comment. With Google you have no clue what team you'll be on when you're evaluating the offer, but once you've accepted the offer you're given more choice with regards to placement.
On the Google case, even being an industry hire, it was like pulling teeth to figure out where the offer actually was, and who I would be working for, and being able to actually speak with them (as your manager is key to success). I was also told during the interview that they just interview you in general at Google, not for a particular team, which was also unsettling.
However, once you accept a Google offer you're given more choice as to what team you'll be on. With Microsoft (if you weren't a returning intern) you're given very little to no choice and it can be quite arbitrary where you end up.
Certainly both of these systems have massive flaws, but I think the Microsoft system would lead to far lower retention for non-intern college hires.
I guess I was lucky because I'd already had relevant experience, so I knew exactly what I did and did not want to do. Luckily, the offer I went with was up-front and I ended up doing exactly what I wanted to do.
Playing devils advocate, could it be a lack of experience that is the issue with new hires?
I've heard that the culture varies widely between groups, but the culture in the Visual Studio group was not one which ever had any hope of creating space for me to use the skills and creative outlook everyone genuinely seemed to believe they were hiring me for. If you don't fit the culture, then yes, I agree, leave as soon as you can.
What aspects of the culture do you not like?
I joined Microsoft Canada. Perhaps Corp HQ is different, but here in the sub it quickly became clear that a culture of fear and CYA is alive and well. There are dozens of meetings where the primary objective is to make sure that the organizer doesn't get blamed for stuff.
Honestly, what blew me away even more was the terrible quality of execution. It's 2018, and apparently it's impossible to embed a reg form into a page. Everyone agrees that we should do it, but no one is willing to take responsibility. I tried, but multiple teams agreed that it's not my job to do it - it's not their job either, apparently, but it's definitely not mine!
I'm sure Microsoft is a great place to work (I was excited to join as well), and maybe I just got really unlucky with my manager, but the idea of spending my days writing emails for CYA and not focusing on a great customer experience is not my idea of what I want from a job.
Another anecdote - planning and strategy is done by FTE (full time employees), but the execution is often left to vendors - and no one really cares whether customers see a high quality outcome. It's almost comical how bad some things are.
Sigh, I don't mean this to be a rant, but maybe someone else reads this.
At the end of the day, no job is worth being unhappy at - or worth compromising your own personal integrity (to be clear - here I mean my desire to provide great customer experiences - MS is a very ethical and honest company in my experience)
I don't work at MS but generalizing a companies culture by working for a few months is silly. I've worked for 3 years at a big 4 and have seen excellent culture and poor culture and something in the middle. Don't generalize a company by your departments poor culture, there could be shining stars elsewhere.
Do you remember hearing the saying: “It’s easier to get hired at [other very selective tech company] than to move internally at Apple”? So true!
I believe it is because the company that currently employs you knows you relatively well, both your upsides and your downsides, it has seen your good code and your bad code. It has you, and knows your level of work, and assumes you will keep going, regardless.
Whereas the new company has much more limited information and, as it needs someone more, it has to take the plunge.