As someone who worked for one of those companies for 5 years this is completely wrong. Most SDEs there only have a Bachelors degree and as someone who was involved in the hiring process most of their new hires were also those with just a bachelors degree. On all the teams I worked on I only worked with 3-5 people who had a masters that I knew of in my 5 year tenure at that company.
Well this is 2019, not 2014. The requirements for any typical software engineering grad to apply straight into a FAANG company is still fierce I'm afraid. A BSc is not good enough to fend off the competition of other BSc holders when the hiring managers at these companies still prefer a masters grad over a BSc if they can.
So the competition to apply for FAANG companies for a new grad position in the last 5 years is still very high.
People involved in hiring at these companies put almost no weight in if you have a post graduate degree when hiring SDEs. Most of the weight is put in the interviews, they'll interview almost anyone esp Facebook, Google and Amazon. They hire at such a high volume that they don't have the luxury of targeting post-grads.
Research? - Absolutely, But pick the top universities for your subject matter (Computer Science in this case). There are even some universities that give you the option to skip a Masters and go straight into a PhD depending on your academic achievements.
A SWE Job? - Not necessary for some companies, but most usually throw in, or even emphasize the preference for masters grads. If it is a typical software engineering role at a FAANG company, then yes. The competition is too fierce for BSc or nano-degree holders and I wouldn't risk applying without one.
As you said 'MS in Computer Science' some people usually take this to enter into the field professionally from a different industry to get up to speed. At this point if I previously did a BSc in the same subject, I would specialize in a masters on where the industry is going, such as security, quantum computing or deep learning.