This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I need a bit of help in solving a dilemma I am in.
I have an MS CS admit from couple of good US univ. but I am confused whether I should take it as I am currently in a job where I like the work I am doing and am being paid pretty well. However, having said that I also should emphasize am quite young (23) and a Master's degree would help me improve my CS skills and will fuel my future growth.
Points that I am Considering: 1. Job Scenario after MS: I am a little concerned about the ROI and job prospects. Many say that jobs are moving here to India(where I am located) at such a time would it be sane for me to move to US and leave the hot zone. Also, I am doubtful about the prospects of an MS in India. Since I want to move back here after my MS as soon as I get a good offer here.
2. Value addition from MS: Will doing an MS actually build my skills in terms of better jobs? Since I am learning a lot on the job but this learning is confined mostly to various technologies Ajax, Ruby etc. Where would studying Theory of computation actually help me. (I am a major in Electronics but took a lot of courses on programming and Networking in college but a few in CS theory). Are there enough jobs in R&D depts. of various companies lying vacant where they actually use theoritical CS.
3. Experience vs. Education: What is preferred in the industry. By going for MS I would be losing out on 2 yrs. of industry experience plus there would be a huge investment(in USDs I might add)
4. MBA in future: Another thing that concerns me is that to earn big bucks I will have to do an MBA even after my MS... Which I can do now? So why should I bother with MS at all. (I am not averse to becoming an manager, Infact I want to move towards the management/client side of things eventually)
SO what do you guys think
P.S. For the curious ones thinking Why did I app for MS if I was confused, Earlier I was in a job which was quite frustrating due to various reasons and I had formed the impression that the whole indian industry is like that, somehow that thinking has changed since I have switched my jobs. Hence the confusion.
I know nothing about the Indian job market, so I can't speak to most of your questions, but just wanted to mention two things.
Firstly, living abroad for some time is a big personal gain. You'll learn plenty of things, many not related to the field of your study, and broaden your horizons. (And if you go, try hard not to spend much time with fellow countrymen/women abroad. Doing so may make living away from home easier at the beginning, but it limits your exposure to the culture of the host country.)
Secondly, an MS in CS is not much about CS theory (automata, formal languages, etc.), but geared towards giving a sounder foundation on concepts like operating systems, programming languages, databases, and advanced CS concepts, and practical applications thereof. That is very useful knowledge to have, regardless of whether you want to get an MBA later.
The answer to that question depends on what kind of a person you are and what you like doing. The return to investment on studying abroad depends on what university you get into and how the situation is when you graduate. You will end up learning a lot but you should ask yourself if it will work out for you. If you are willing to put effort into an MBA later as well then you could go all out on this degree. Think hard about what you want and then go out there to get it.
Things you like to do, your financial situation(studying in the US can be expensive), family constraints etc.
You are one of the fortunate few who is getting paid well and enjoying what you do. Now you have some good admits. Not an easy decision. The advantages of going abroad are many. Living in the US is hard but will make you independant, confident and will broaden our horizons. The US is truly a melting pot of different people, cultures etc. You will learn a lot.
And if you are going to a top-30 CS school for graduate studies, I'd say there is little chance you can go wrong. These are top schools and you will have the opportunity to work with some of the best minds out there. There will be courses where you can go deeper into the foundations of what Computer Science really is. Maybe you will like it so much that you will stay on for a Ph.D. Maybe you will hate it so much that you will leave with an M.S.. Most probably you will fall somewhere in between.
You're 23 and IMHO shouldn't be too concerned about ROI at this stage in your career. There are plenty of job prospects in the US even if jobs are moving overseas. I should know since I recently changed jobs. The market is much better than it has been in years and yet the number of jobs moving to India and other countries are also increasing. If you want to move back to India as soon as you finish your MS, there are plenty of big MNC's in India who will look very positively at that MS you have from a US school.
"Will doing an MS actually build my skills in terms of better jobs?" Depends on the job you're looking for. If you go for something more hardcore CS, an MS would almost certainly help. Most MS programs have courses on Algorithms, Architecture, OS, AI, Theory mandatory and these can give you a wonderful background in those fields. If you're looking for Ajax, Ruby to be taught in a MS program, you may be disappointed. (You can learn the basics on your own in a week or so)
"Are there enough jobs in R&D depts. of various companies lying vacant where they actually use theoritical CS." Yes, Absolutely. Some may require a Ph.D. though.
"What is preferred in the industry?" Which industry? R&D jobs need a Ph.D.. A "normal" job you can get by with a Bachelor's.
"Another thing that concerns me is that to earn big bucks I will have to do an MBA even after my MS" You want to earn big bucks? Become a banker. There is a higher probability you'll make big bucks there than in the software industry unless of-course you get lucky, work for a start-up, get bought over....
Make your own decision. Consult your family and close friends.
1. The very fact that you applied shows you are interested. 2. If your goal is satisfaction at job, then a good job anywhere would keep you happy. If your goal is money, then you would sooner or later be unhappy with good work too. 3. MS at a good university in US would be great for your future prospects. 4. But remember if your aim is to work in India then doing MS in US would not be good since after completion you would be getting campus calls from US companies , which will be hard to refuse and then you will be in the never ending rat race to make up the money lost in education, which fires the greed within us and peer growth keeps it well oiled (mind you oil is also getting costly atleast the ones that burn).
So the choice is very easy, doing an MS at a good university is anyways not a step down, its a step up. I have not done an MS in usa but given a chance to rewrite my history, i would have tried that option, i am sure its an experience.
Also in US experience doesnt count in years, it counts in your skillsets and background. Microsoft has program managers who are freshers and who are 8 years experienced too ...
So hear from everyone, but listen to your heart and do what you feel makes you happy not just now but 10 years from now !!