You are facing a high class problem here.
You have two great options that are hard to pick between.
Congratulations on your degree, good marks, job offer, and eligibility for grad school.
You point out some good factors.
- Working a couple years may better prepare you for a Master's program. Yes.
- A Master's can differentiate you in the real world. It depends.
- If you are not in grad school, is it a good idea to take other training. Yes!
- Is alternative training a substitute for a Masters? No.
- Work experience is not a requirement for admission to Master's programs.
WRT whether work experience is an important prerequisite to the Masters, I think it depends on how well you know your goals and what your focus will be. You may need to try a few things before you know what you really like. If you do a thesis, you may need that industry experience to know the difference between a paper tiger (a topic that academics love but can't be used by a future employer) or a key to open doors in your career. If you take software engineering coursework that discusses managing software projects, it may seem very abstract and you may get far less from the training if you have no experience to relate to the material.
Your choice may also depend on many factors that are unique to you.
- Are you tired of school and anxious to get started with the first job?
- If you were working, would your company help pay for your Masters part time?
- Can you afford to go to school another year or two?
- Would you be eligible for some kind of internship that could help pay for the degree?
- Are there highly personal issues like marriage, having kids, or caring for elderly parents or other family members in the mix?
For me, I was fairly tired of school, and being a full time Master's student was not what I wanted to do after graduation. However, within about two years, I started taking Master's classes part time. This may or may not be an option for you, but the company I worked for helped to pay the tuition, so its was more attractive than just going back to school full time.
One major trade off worth considering is that as you get further into your life, you get more responsibilities. If you can be organized and good with time management, you may be able to work, go to school part time, and meet family commitments. However, if you can finish school before you load up on those commitments, it can be a big help.
When you ask about the cons of not doing a Master's degree, I would say that it depends on how competitive the market becomes. At least in the US, when the market is good, a lot of computer scientists go straight to great jobs. They may often work full time and earn their Master's one class per semester (this takes about five years instead of one to two years as with full time Master's study).
With many Indian friends, I try to be aware of the issues they face. I think the US is a more expensive place to live and study. Tuition is rising faster than inflation, so that may also be a consideration. Potentially, the sooner you go, the less it will cost. I think many Indian students are eligible for internships with top US companies.
I am not sure whether internships require work visas, but I expect they leads to sponsorship after grad school. I think there are limits on the number of work visas allocated for those with Bachelors degrees, with an additional pool available to those with Masters degrees.
I think advanced degrees lead to better accessibility to working in the US if that were your preference for the short term or long term. If work is to be part of your experience in the US, it might not hurt to keep an eye on employment rates and where they are trending. I have many Indian friends with great jobs, but sometimes they move around from state to state to get the best opportunities.
However, one of my Indian friends was with a company that cut way back, and he is having a hard time finding another job. To me, his resume looks great, but some skills he has are specific to embedded systems. Where we live, a big part of the demand for embedded is Department of Defense work that requires security clearances, and consequently US citizenship. Demand seems much higher for web, IT, cloud, and mobile programming that are pretty much equally available to everyone, although you may needed an high demand skill or location at a larger company to be sponsored.