I'm assuming you're from India, going by the location on your profile.
Now, I am not saying this is the thing to or not to do, but these are my two cents on it.
People immediately choose to do an MS in a field that they don't really know about after their undergrad. Sure, it paves a path to a lot of money, a fancy job in the valley (or anywhere else for that matter etc), but I am super against the 'following the herd' principle that Indian college kids have seemed to adopt.
Many of classmates did the same too. More often than not, college kids lack experience and aren't really sure about what they want to do. It's more like, "Oh, he is going to UCLA, let me give it a shot too!". On the other hand, there are some other kids (A very little percentage), who actually start very serious programming at the college level. They apply for something like a GSOC internship and start talking in international conferences, even before they graduate. They land up eventually in the big 4 too. There's an even smaller niche of people who participate in Algorithmic Competitions like TopCoder. Facebook (or Google) values that more than a MS degree.
It's also perfectly possible to land a job at the big 4 without an MS degree.
But before any of that, go out, work in the industry for a year or two, see if you like it (and if yes, you'll know what you like - a very specific niche). Industry experience is important because, at the university level, it's all very very theoretical. In India, the education system is rather outdated as well (At least it was in 2014).
If you're still academically inclined after your stint in the industry, you can go to a nice university and study more about it, perhaps in the form of a doctorate or a master's degree.
Siddarthan Sarumathi Pandian
Full Stack Dev at Agentdesks | Ex Hashnode | Ex Shippable | Ex Altair Engineering