Best Grad Program For a Computer Science Major?
ryanleary writes "I am currently a junior computer science major at a relatively competitive university. I intend to remain here for some graduate work, and I would like to get a master's degree. What would be a good field to study? An MS in computer science appears to be highly theoretical, while an MS in IT seems more practical due to its breadth (covering some management, HCI, and design). What looks best on a resume, and where might I expect to make more money in the not-too-distant future? Computer Science, Information Technology, or something different altogether — perhaps an MBA?"
Seriously. Depending on where you are looking to get a job at, it will be extremely helpful in the long run.
What looks best on a resume...Computer Science, Information Technology, or something different altogether -- perhaps an MBA?
If you want something that looks good on a resume then get an BMA. You can do just about anything with an BMA without having to have any specific abilities, and it's got the prestige along with the title.
What do you want to do?
I think choosing the type of degree based on what looks best on your resume isn't the best way to go. Graduate school is a lot of work. If you pick something just because it looks good on a resume and not because you actually like it, I can't imagine you'd enjoy getting your masters.
I am currently a junior computer science major at a relatively competitive university. I intend to remain here for some graduate work ...
Ok, I'm not going to be able to tell you which degree to pursue but I am going to tell you that remaining at the same university you got your undergrad in is a mistake. I was once like you and my professor told me that it was a bad idea for me to remain at the same university for my masters. I didn't care, I wanted to be closer to my family and there wasn't another decent university around. I never got a good explanation why but due to some circumstances, I ended up moving and the result was my masters at a different university.
I am thankful this happened.
I now understand why it's better that you go to another university for your next degree and it has a little bit to do with what some people consider the most important aspect of college. I've oft heard that it's not what you learn at college, it's who you meet. And while I agreed with this about the bullshit degrees in college (like business, architecture, law, etc.) I had never considered it a matter of importance at all in computer science. But it is! Not because of this connection is hooking you up with this position here but more so because of the ideas that sometimes arise between two particular individuals or the new perspectives other people can put on how you see things--yes, even technical things like algorithms.
And so, by staying at the same university, you are wastefully throwing away a chance to work with, learn with and be with 100s of new talented people. If you stay, you most likely know the staff at your current university and will have everything settled but I urge you to consider throwing away that comfort zone and take a gamble at meeting new people with different ideas and concentrations. I think this helps both universities from becoming too stagnant and focusing on the same damn thing year after year. I don't know, I'm no longer in academia but think about it.
An MS in computer science appears to be highly theoretical ...
It doesn't have to be that way. I was given a set of courses to choose from (as long as I satisfied breadth and depth requirements) and I think there were quite a few practically useful classes I could take--even software business classes. At least at my university it wasn't highly theoretical but an individual could certainly go that way. I knew what I wanted to do with my life: code. And it seems like everything I took in my grad classes was in some way useful. I'm given a large set of requirements and one of the first things I do is theorize with others about practical ways to implement it. Thankfully, you can usually spot the choke points and problem areas with designs and although patterns like proxy, caching, model-view-controller and polymorphism are theoretical concepts, they are often considered and analyzed without being implemented.
The point is, everything will look good on your resume as long as it's a masters. And I'm certain you could go down any of the paths you listed and still land a job doing something one of the others is geared towards.
The real question you should be asking is to yourself and it should be "What do I want to do with the rest of my life?" Once you answer that, you'll get a better idea of what masters program to take. The other degrees, probably also useful. I'm pretty biased though and wanted to be working in computer science for the rest of my life so it was an easy answer. Had I done IT I could probably still be where I am right now but I had no desire for that part of the field. Call your own shots.
My work here is dung.
My advice is: do what you really want to do. If you really like it, you will be above average. That is the average which asked: what looks best?
When i started to study (physics) the future for physicists looked very grim, according to everybody. Now i can't complain.
What do you _want_to_do_? Do you want to work as a programmer? I'd say stay away from a PhD. Do you want to do research? Then is it theoretic (language constructs...) or practical (AI, computer vision...)? If so a strict PhD in CS is probably better. Do you want to work in management? Then experience (ok, questionable here) and an MBA are probably the way to go. Do you want to create a startup? Quit now and move back in with your parents until you create the next Facebook or Google. Think you get the drift here...you have not rigorously defined your objective.
An MBA is the most versatile, especially if you want to go into an industry other than computers (consulting, managing, etc). An MBA from a good school opens more doors than anything else. But an MBA looks a lot better with some work experience beforehand, and you might get into an even better school with good work experience and letters of recommendation. Even if you want to stick with computer work, it *still* depends. You hit it on the head: computer science is theoretical. Computer science done right is *science*. An IT degree is practically a vocational degree sometimes. What do you want to do? Do you want to design circuits or program for Apple? Go for science. Do you want to run some company's servers and workstations? Then go IT. Etc. What looks best on a resume depends on where you are submitting. This is something you have to figure out yourself.
With the financial sector meltdown, MBAs seem to be worth less than even a year ago. Universities are responding by offering more courses in ethics, but it's an open question how quickly the field will recover. My degree is in Comp. Sci., but I've been in IT my whole career and it doesn't seem to have made much difference; I make as much as my peers with the same amount of post-grad work. Arguably, I could have moved to "Californie" and made a killing at some startup, but that always seemed a bit of a lottery: some win big, but lots disappear without a trace. And there's a good chance I'd have lost it all in the last year anyway. As you get older, the real value of any advanced degree is to show that you know how to learn on your own.
Nothing for 6-digit uids?
I found that an MBA with a CS degree was the best for my own career. In general, I found that there are two career paths, and which one you choose depends on your personality/goals/ambitions... You can go either the technical management route or the business management route. I chose the latter for myself and found that it allowed for great flexibility. I've been through 3 recessions now and the combo business/CS made me more nimble when things changed. I have never been laid off or out of work. I ran my own company for several years, and I am now self-employed. But, those friends of mine who went the technical route have had different types of success. Generally, they have grown to be technical managers at companies of various sizes. So, overall, the major difference between folks that took the MBA route and those that took the Masters/PhD in CS/IT is that the latter work 9-5 corporate jobs. Not that there is anything wrong with that, but it seems to just be that way. You easily could get an MBA and end up working in a corporate environment as well. To be honest, the two people I know with the greatest success did technical BS, then MBA, then (gag) a law degree.
Sorry for the long rant. My bottom line is... Stay in school, kids!
"If you want to improve, be content to be thought foolish and stupid." - Epictetus
You'll end up in a job you don't like, and have a miserable time in grad school, too. Think about the classes you've taken so far. Which were the most interesting/fun? Spend your time in grad school focusing on those areas. If there aren't any that you think are worth another year of your life, maybe it'd be better to defer grad school for a year or two until you figure it out.
If you have no soul and no interests and care only for the money, you may want to consider the MBA. There is a backlash against MBAs at the moment (they are being blamed for tanking the economy -- but who isn't these days?) but I'm sure that'll clear up by the time you're done.
If you've got talent, you could take something more practical and build things for a living. I guess it just depends on how much of an asshole you want to be.
"What looks best on a resume" depends entirely on who is reading the resume. If you want to work I.T., and simply have a lot of I.T. experience, then you have a good resume. But if you want to work for Microsoft research, then that same resume is worthless.
So, your first priority should be figuring out what you want to do. The best way to do this is to try different things. Get internships. Try everything. Then make a decision; this will tell you what degree to get.
CS is a wide field and normally you will specialize in one or two areas in your master studies. Depending on the country and university you got you Bachelor, it is advisable to get some knowledge in theory (e.g. logic, semantics, formal languages) because these tings are very useful in many advanced areas of CS. Right now (and also in the several years) software engineers, system analytics, and network/security personnel is in high demand.
However, if you only want to make money, you should become one of those business monkeys. They need a totally different set of skills.
You should definitely not try to study something which is too close to products of a special vendor, because then everything you learned will become obsolete in the near future. A good broad basis is better then a focus on certain products.
Stop worrying about what's going to make you the most money and figure out what you enjoy. An MBA that hates his job is worthless. A computer scientist that isn't passionate about math and theory is worthless. An IT guy that isn't obsessed with all things tech will never be as good as the guy that is.
Figure out what you love doing and do that. If you really love it you'll be better at it. The best people in any field always make plenty of money.
As an aside- the last thing this world needs is more lawyers. The second to last thing this world needs is more MBA's.
I told you last week, nursing school!
Next question.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
I would say don't bother with an MBA until you've worked for a few years. Personally, I thing the degree is joke in general, but if you haven't even had any work experience, it means nothing to have an MBA.
if you are just going for a masters, you probably want to be a programmer/engineer, so theoretical is likely not the best way to go. that's the best i can do without some more information about your ultimate career goals.
If you like to be part of the cutting edge and have more theory and higher level design as your background then an MS in CS would work. I just completed an M.S. CS degree at a top 10 school, and afterwards I thought that an MBA would suit me better down the road since I am not uber into the theory and more on using it practically as you would in IS/IT and more into business.
An MBA will give you an easier chance to break out of Engineering/IT if your long term goal is to be management or higher. As I see it, basically go for the M.S. in C.S. if you really want to be a hardcore engineer. Start now with an internship/work in the field and that will help strengthen your resume so you have practical experience when you graduate. That's one of the mistakes I did which would have made things easier now.
or seriously considering an MBA, then you're not really interested in technology. You're bound to be a manager, who is clueless about technology, so don't be one of those people I had to take classes with who needed to cheat on their programming projects.
If you look at industry 20 years ago it looks nothing like it does today. However, what was "theory" then (functional languages, AI, data mining, natural language processing, test driven design, parallel distributed computing) is practice today. In 20 years, the "practical" IT aspects will be completely different, but the theoretical foundations will still matter. You're going to need to learn how to keep up with practice yourself on your own as a matter of a) career maintenance and b) personal interest. From personal experience, I found it was much better for me to get started with that early. Take classes in the aspects that won't change, and teach yourself the latest and greatest. You only get a degree once, don't waste it on the flavor of the month.
Seriously. I am almost finished with my masters now, and thank god I had a fellowship. An MBA typically costs much more due to fees at some schools. I would say apply to all of them, and decide after they start offering you deals. It would be stupid to make a choice you aren't sure about, then find out you could have gone a different way for free, or even been paid while you are in school. (hint, apply for phd to get the fellowship, then quit with a masters. nobody will be crying about you changing your mind)
I've found that, as an engineer myself (originally) the greatest lack of understanding among computer science majors are the details of the hardware itself. I've had guys with CS degrees try to control 120VAC equipment using the parallel port!! And then not understand at all why this is not a good idea. Control systems are a burgeoning field all by themselves and because they're all computerized now it's a great area.
No one ever had to evacuate a city because the solar panels broke!
Seriously, if your concern for going to grad school is solely to have something on your resume that looks better and gets you paid more, don't go. As a grad student in computer engineering, I can't stand the people who want to get a masters just because it makes them look better. And, if you do get a masters, don't bother getting it at a big name university, because that likely won't mean anything once you get it. The big name universities have the name because of the research they do. The research determines the ranking of their graduate program. If you plan on going just to get a degree, and not do any research, you'll end up shorting yourself of a better education elsewhere, and you'll waste the time of professors and other students who are actually interested in doing research. After graduating from one of these schools it won't really make you look much better either. You'll talk to companies and get in the door for having a big research school's name on your degree, and they'll ask you about what research you did, or ask for recommendations from faculty etc. You likely either won't know any faculty very well (as they're concerned with doing research, and not some masters student who only cares about making more money), or they'll have a low opinion of you for wasting space in their program (that space could have instead been used by someone interested in pursuing research).
Sorry if I sound really negative about this, but this is the truth of academia. The big name schools are concerned with research. That is why they have a big name, and that is what they will focus on to maintain their reputation. They often do not offer a better education, and in fact they are often less concerned with teaching than smaller lesser known schools. The professors just can't afford spending too much time teaching, because in the end (for getting tenure at least), research is what matters. In fact, at many of these schools, it is looked down upon if a junior faculty members wins a teaching award. The rest of the university assumes they're spending too much time on their teaching, and not enough on their research.
My recommendation is to talk to the faculty at your current university. See what they recommend, and be truthful about why you want to go to grad school. Slashdot is not the place to find out about this stuff, most people here have no clue. Also remember that as far as graduate programs at top schools go, it's not really that one school is better than another. In reality its that one school is better in one particular specialty area. The choice of which school is best for you depends much more heavily on what you plan on specializing in rather than the US News ranking. Employers know what schools specialize in, and base decisions on that. If you don't plan on specializing (as you don't seem to be concerned with research), the rankings immediately become relatively worthless. Talk to faculty that you know and trust. They can help you, but you have to show that you're worth spending time on. They likely have more important things to do, and don't want someone wasting their time.
phil
Do what you find interesting.
Only that will ensure you'll do it right and get good+experienced in your area of work. Which will result in good income and enjoying your everyday work.
NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
I know so many MBAs who don't have jobs it is scary. They are also handed out like TP given all the "extension" universities, etc.
Go get a masters in economics from lse.ac.uk or a masters in security from SANS.
Get some real-world experience first, then get your masters. They work better together.
No one in a technical field should ever pay for Graduate school. That's absolutely absurd. Apply for a job now and most companies will pay for your MBA/CS/IT graduate school. As to which one to pick, that's been covered pretty thoroughly. But if you enjoy the company you're working for, you can ask management which degree you need to move down your career path of choice and know for certain which to obtain. Also...it's FREE. I can't stress enough the difference between paying $30k-$60k for two years and getting paid $50-$70k. This nets more money in your pocket and two years of work experience. And two years of experience plus a masters will earn you more than just the masters.
There's nothing like a few years in-the-field perspective before going back for an advanced degree.
This will give you a chance to see "which way the professional winds blow" for you.
Take those few years to work and have lots of safe, happy sex and generally have a great time. you know, live.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
Thanks for all the replies so far, the reason I ask what will look best on a resume is with the economy the way it is, I've begun to wonder what combination of education and experience will give me the most opportunities down the road.
I am an excellent programmer, but working 9-5 in a cubicle writing code scares me and does not seem like a good way to spend the next 30+ years of my life.
That being said, I have done some freelance web design and web database application development and really enjoyed it. I have also worked in various environments doing IT work and found it alright.
So further complicating the issue, (and no offense to people who have a BS or MS in IT) but I often hear that IT degrees are for people who couldn't make it in Computer Science. So does going from a competitive CS program to an IT program look like this?
I don't know how graduate school works. I'm not worried about being miserable at school. I can do anything for one year. It's after school that I'm most concerned with.
And finally, regarding staying here at the same Uni for graduate work, I had never really thought of leaving. A big part of that, however, is I have worked really hard while here and will be completing my B.S. in a total of 3 years. I will still have quite a bit of scholarship money that may be applied to my graduate work if I stay here.
Again, thank you all so much.
Staying put is a less good idea.
Learning something useful - hands on - is the most important.
I've met a number of advanced degree people who couldn't code their way out of an infinite loop. One guy with a PhD in CS insisted that sin() was broken on his Mac for about a week since the answers weren't what he expected. He was sending degrees, not radians. Idiot.
The things I've never seen universities teach are the most important - team programming, large team projects, bulletproof coding techniques, and the importance of version control systems. I've worked on teams of 500+ developers and every week, someone would break the build by checking in some crap code. They should have been fired for that.
The most fun I ever had was working with a team of 6 where we didn't need QA - we were all responsible and talented enough to design and code nearly bug free systems.
I've worked 5 years in CMM/SEI Level 5 jobs too. Those are more oppressive since the code was controlling multi-billion dollar spacecraft. Any code change took over a year to get to a flight system.
Right now, I wish I had an MBA so I'd know whether I could trust my business partners or not.
my professor called this "academic inbreeding".
and thats what i think
If the OP's university has a highly theoretical MS program, and he wants an MS program that involves a lot more coding, then that seems an even stronger argument for not doing the MS at his alma mater.
Study something intellectually demanding.
Like a football player lifting weights to build his muscles, training your mind with a difficult subject is always good, even if you don't become a mathematician or physicist.
There is a growing backlash against the MBA degree. Many people believe it is the cause of the current economic crisis.
Among the groups I have worked with, the CS degree gets little respect. It may be a rigorous, demanding field of study at some colleges, but at many it is way too easy.
University was never intended to be job training. Grad school even more so.
Do it because you are interested. This is the only reason to do so. Do it because you want to, because you want to learn new things and find things out.
Do it whether they are going to pay you afterwards or not. Though it must be admitted a Masters degree is highly saleable. I paid for mine in 3 months after I graduated.
...laura, B.Sc., M.A.Sc.
i went to an absolutely horrible undergraduate program in computer science, despite being very prepared for it going in. i got good grades and all in my cs classes but felt like i was 'still hungry'. i went to grad school fulltime and got my MS in computer science from a real school.
the credentials go unnoticed, but i'm doing well for myself in my field (i.e. i make a lot of money and work on some cool stuff). i'm not sure what would have happened if i didn't go to grad school. it all depends how lucky i would have gotten in the job market and more importantly what geographic area i ended up in. it's impossible to say.
Ultimately, find out what you want to do and why. if you are not enthusiastic about a computer science curriculum, maybe you're best off finding a job and seeing what parts of the work world interest you. then if you choose to, get your employer to pay for your mba.
Whatever you pursue, add some psychology to the mix. Coding can be outsourced, but human interaction can't. There will always be a need for people who can understand both the human mind as well as computers, at least until the two merge... ;)
I was planning to study cognitive science myself, but faith had different plans for me it seems. But never underestimate the power in understanding other people. The hardest part of many software projects is figuring out the real needs, and that nearly always starts with human beings.
.: Max Romantschuk
Your motivation appears to be purely focused toward employment and earnings (not that there's anything wrong with that). As such, I'd have to advise against graduate studies in CS or similar. While they don't have to be theoretical - Master's degrees offer a lot more flexibility in this department than PhDs - they are still focused at their core on contributing to the common knowledge. You're probably better off with a masters or doctorate that falls into the category often described as professional degrees: things such as MDs, Law degrees, MBAs, etc.
You've mentioned an MBA. It's too early for that; while it's certainly not a hard and fast rule, the general consensus is that an MBA works much better after you've been in industry for a few years. You'll be better equipped to discuss and apply the relevant ideas when you know how things work "in the real world." On top of that recommendation, it's important to realize that MBAs have literally become the new "dime a dozen" degree. As the popularity of the degree exploded, every commuter school and online university has begun offering them. Without stooping to elitism (I'm sure the education is sufficient), you risk entering a glutted field with a less than stellar name on your diploma. That's a bad way to make a stack of money and a 2-ish year time sink worthwhile. If you decide on an MBA, you should work for 3 or 4 years, then aim to obtain your MBA from one of the top 40 or so schools. Again, I'm not saying that you'll get a sub-par education or won't succeed with an MBA from tier-3 State U, but it will be more difficult to stand out from a crowd waving MBAs from the big names.
With all that said, may I recommend pursuing graduate studies related to health informatics? At it's simplest level, it's a practical and always-necessary application of CS to the medical field. With the current push from the Obama administration for Electronic Medical Records and the enormous flow of government money sure to follow, it's likely to be an enormous growth industry in the coming years. The basic ideas about DB structure and interface are translatable to other industries if you ever need to leave. Health Informatics-focused graduate programs are available through some Business schools as a hybrid of MIS studies and through the bigger Health Science schools as their own degrees or as specialized variations of Health Administration degrees.
get a job. work 5 years. figure out what you want to do in life.
if you work for anything approaching a decent company, they will pay for your grad school when you figure out what you want to study.
The difference between Theory and Practice is greater in Practice than in Theory.
My personal advice, from a life-long student... seriously, finish your BS. Get the MS in Computer Science. Get it at another institution as was stated. This will give you a greater depth of what is actually going on out there and a better perspective on things. I don't recommend the MBA or the MSIT at this time only because those degrees are more likely offered to a greater selection of students. Many of the non-traditional schools (re: online, etc.) offer MBAs and MSIT degrees. Get the MSCS and that will give you a greater edge. Now, if you want, after you graduate, during that first two or three years in a good job, what you do is find a decent university that offers an evening MBA program. That may cut into your social time some, but, knock the MBA out if you want, just get the MSCS first.
"Be polite, be professional, but have a plan to kill everybody you meet." General James Mattis
You are considering the wrong criteria in getting a degree. You should instead be asking yourself, "What would I enjoy doing more?" The passion in doing what you enjoy is the best way to maximize your earning potential. You will enjoy going to work everyday, you will be excited to take on and complete diverse projects, and your passion and drive will be obvious to anyone who is around you. People will interpret this as a hardworking ethic at the company , and/or love of the company you work at which will in turn translate in to a higher income.
So if you are interested in setting policy, go for your MBA. If you are interested in applying computer technology to the business setting, go for the MS in IT degree. If you are interested in programming, and the creation of computer tools, go for the MS in computer science. However, there are many fields of study that you did not mention that may be of interest as well, everything from software engineering (specialization in writing software), to computer engineering (designing specialized computing devices), to HCI (how people interact with computers), to the numerous sub specialties of informatics (I'm personally studying health informatics, and the creation of unique tools to better health care and help clinicians be safer and more effective).
Sounds like you need to do more research into what you want to do for the rest of your life, and change the criteria basis for which you are basing this decision.
I haven't lost my mind!
It is backed up on disk...somewhere...
Absolutely! If you have any way to move to another university, do so. You'll meet a whole new group of people, both students and faculty. With some luck the students will be from a variety of universities and the faculty will have different interests and different approaches to things. You might find that they'll expect you to learn some stuff that they do at the undergraduate level, but your old school did not, but that's a good thing.
Staying in one place, unless the program is huge and you get to deal with a whole new set of people, tends to lead to stagnation and to graduate students whose advanced degrees are only a tiny bit different from their undergraduate degrees.
Whether it's can't or won't is immaterial.
While on the topic, I would like to ask a similar question. What places can people recommend for doing programming language research? I have a MSc in computer science, and I am thinking about getting back into academics after a few years of working. I have been studying and inventing programming languages as a hobby for a number of years now, and I am thinking that, perhaps, I could combine the two and do a PhD project related to programming languages. However, next time I go to university, I want the environment to be a bit more intellectually stimulating than what I have experienced so far. Since I am not tied to any specific location or even country, I have a vast number of universities I could potentially turn to. But which ones would be a good choice? Can anybody recommend some? Or perhaps I should turn to specific people, instead of universities.
Please correct me if I got my facts wrong.
I've oft heard that it's not what you learn at college, it's who you meet.
The only people I met in grad school are my ex-girlfriends. I guess it depends on which university you go to, but , the engineering graduate school was no haven for social activities. Every week night, I went to class at 6pm and left 2-3 hours later. I didn't talk to anyone in my classes, and there were no group projects.
I went to the same school for my undergraduate degree, and it was a completely different experience, much like any typical college. Not only that, but no one I knew in undergrad was also in my grad classes. I also had mostly different instructors, even though it was the same major.
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
The key to really setting yourself apart in the real world is the ability to take the theoretical knowledge and being able to creatively apply it in real world, "practical" situations.
Do both.
My thoughts, coming from the interviewer side, is if you come to us with *zero* work experience and an advanced degree - it won't go well for you. There is probably an expectation that you might be able to 'jump' to a higher pay grade because of the advanced training, thinking it might be equivalent to field time. Unlikely.... When we were looking at some candidates a couple weeks back, we ranked folks with experience greater than those to spent more time in academia. One fear was the person coming out with the advanced degree would not be willing to do the work (thinking something is below them, etc).
That said, folks working and going to school for that advanced degree do stand out. Having both real world experience and the advanced degree will be helpful. It is common (knock on wood) for companies to pay for your masters. Usually just enough to go part time - you still have that full time job after all.
Lastly, you may find that the work that typically maps to an educational track may not be your cup of tea. Not to say University is vocational training, but it is worth doing something you actually care about. Stick your toe in the water first.
+++ UGUCAUCGUAUUUCU
first things first: you had better worry about getting into a top CS department. this is a huge challenge, with top departments getting 1000s of applications these days for very few spots.
How to improve your chances? Grades of course (think 3.8 or better), GRE scores (think 90+ percentile scores), and letters of recommendation from professors who actually know you and have even done some research with you.
A masters in CS is not "theoretical" (unless you are in theory). Most top programs have many researchers in practical areas like networking, systems, architecture, databases, etc. With coursework in these areas + a little research experience, you get some great prep for getting a job at MS, Google, and many other
similar places.
Good luck!
-CS Prof at a top school
Why did you study CS? For a job? Did you study to learn about Computer Science because you are interested?
What are your future plans? Do you want to run your own company, work at google, be a mid level technical manager at some company?
Without knowing your goals and motivations it is impossible to answer this question. It sounds like maybe you are in CS for a job in which case a Bachelors will get you a job programming (and in fact there are many many programmers who didn't even get a college degree). The MBA will let you play with the company executives and speak their language. In fact there's a good chance that if you get an MBA mostly you will be doing managing, accounting, marketing, etc. with just a side role of IT. With an MBA you are probably going to be first and foremost a business guy leveraging your IT background to communicate between the IT people and the business people. It also opens up roles like CIO/CTO, etc. (although many people without MBAs get those jobs). And it is probably more recession proof (until everyone gets an MBA). Based on the little you've said and how concerned you are about a job, I think this is probably the path for you but I'm not sure. Also with an MBA you will learn a lot about businesses which will be a great help if one day you decide to run your own company.
I am getting an MS in CS and am thinking if I want a PhD. I learned CS because computers seemed interesting and programming seemed fun. For that, I don't want a watered down program (and in fact am complaining that the CS department is not offering some of the harder classes due to lack of interest [ie AI/Compilers/etc.]). I don't think I would enjoy to be CIO or some VP who spends most of his day overseeing budgets and speaking with upper management about the direction of the company and then communicating the goals to the IT grunt workers. The difference between the MS in CS and IT seems to be that IT/IS requires more business courses and is concerned with how to manage technology while CS teaches you more about what it is. There is some overlap between both sets of degrees. In both you are expected to know discrete math, algorithms, how to program, something about computer hardware, and something about networks. Beyond that CS will have more advanced mathematical and theoretical courses while IS will have some business courses. And the PhD seems to be an MS with a few more classes (in my case 3 more) and a thesis (which is the big thing).
I would say if you want to learn about the technology then get the MS in CS like me. If you want a career in research or to extend the body of knowledge and maybe discover something cool, go with a PhD. If management is what you want, then forget about the MS in IS/IT and just go get your MBA. That will make you much more valuable to the business people, and give you a thorough grounding in a lot of the basic operations of companies (accounting, marketing, management, etc.) and it will be very useful if you ever decide to start your own. Also an MBA opens more doors for you in management. With IS/IT you may always be tied to the IT department while with an MBA you are valuable in any area of the business. Also I think an MBA will help you come up with more ideas on what to build and how to add value to the business. I think an IS/IT degree is good for people interested in business without the technical background, but you have the Bachelors already so you have the technical backround. It is more the business background that you need. Also a Masters in CS isn't that much more than a bachelors, even in pure CS it consists of Networking, Databases, Architecture, Algorithms, Operating Systems, and then a bunch of electives. Generally those 5 areas are the core areas with at least a few required and the rest is all optional. In IS generally they require more management and have more an emphasis on databases (since most business applications are using/managing databases). CS is basically how do you data mine, how do you imple
I'd definitely recommend getting a more industry-specific graduate degree. Advanced degrees in computer science are common. Someone with a strong degree in C.S., with a post-graduate in a specific field, will be golden (assuming the field of choice isn't dying itself).
It's so incredibly hard to find computing/programming/design talent for specific industries; typically, you get a CS-only person, with no knowledge of the domain, trying to implement a solution for a domain-only person, with no knowledge of C.S. It's a painful process. There's incrdible value for being a strong computer programmer/designer in a specialized field. Again, assuming the field is lucrative to start with.
I'd look at the best-paying fields in general, and find one that piques your interest. Learn more about it, and see if it's something you'd be passionate about, and that would reward you well. Then go for it.
I had a lot of programming experience prior to reaching university; so I took a B.Comm. to start, then finished with an M.Sc. Best choices I've ever made. Having business case insight, and a strong programming/design ability, has really helped me achieve things I wouldn't have been able to, otherwise.
Love many, trust a few, do harm to none.
I "washed out" of a PhD CS with an MSCS, and I think most of the parent poster's advice is good. Definitely the bit about not changing after 30 or so. Especially if you get married (or whatever) and have kids, your priorities and possibilities will change radically towards finding one good position and staying there.
I got my BSCS from a department that happened to be outstanding at the moment I went through, even though you've never heard of it. I then foolishly searched for a great CS department to do a CS PhD, (i) without first verifying that I really wanted a PhD and that it would be useful in the kind of work I really enjoyed, and (ii) failing to realize that it's not the department that counts at the graduate level, it's all about the one or two mentors you will have. My grad school has a good enough rep that everyone recognizes it, but the general departmental strategy was "throw everyone in the water and see who doesn't drown". I'm sure that worked for some, but I was completely lost for several years. In retrospect, I'd have been much better off identifying one good person to learn from and studying with them, even if it's at BFE Tech.
Based on that, I'd say that first you should think long and hard about what kinds of positions you'd like to have. If you can pinpoint people who are doing what you'd like to be doing, try asking them for advice.
Second, as the parent said, try to be doing something serious now, and try to identify specific people you'd like to apprentice under at a graduate level.
Good luck.
"Not an actor, but he plays one on TV."
If you're set on going to grad school (for a masters), first figure out what you want to do, then pick the school/degree that does that for you. If you want to be a programmer, get a degree in EE/CS (you may find that EE programs offer the breadth you want, with more focus on practical programming). If you want to be a manager, get a job, then go back for an MBA. If you want to be an IT person, get a degree in IT.
If you want to be a programmer, but find the curriculum at your school to be too theoretical, apply to a different school. The school is important (an MS from Stanford will look better than one from UC Santa Cruz), but it's more important to learn about something you're passionate about. All other things being equal, pick the better known school, but don't sacrifice your goals to do so.
People were knocking top tier research institutions for having a bad curriculum, but I know first hand that the quality of both the professors and students is what makes these schools good, even for just a Masters. They also tend to be good in a lot of areas, not just one. So if you switch focus while you're there, you will still get a top notch program.
I have known lots of people who stayed at their undergrad for an MS, it's not a big deal, most of the other students have a large turnover, so you will still meet lots of new people. You really want to move schools if you're getting a PhD, because you want to interact with different professors, but again, program of study takes precedence.
If you don't want to sit at a desk all day, don't get an MS. You can be an FAE, or go into sales or technical marketing. These jobs require technical skill (BS, not MS), but you won't be at a desk all the time. That being said, if you're afraid of being a cubicle mole, but still want a technical position, it's more important to pick the right company to work for. I was in your position a few years ago. Now I work for a startup (<10 people). There are no cubes, lots of variety, and I don't feel like a code monkey (even though my title is Software Engineer).
Getting additional schooling to try and make more money or have a better resume isn't going to work. People with 2 or 3 degrees, post-graduate degrees, don't make more money just for having more degrees. An additional degree may enable you to get a different job, but if the job you want only requires a BS, then don't bother going to school to get an MS. it isn't going to impress anyone. Get a job, get some expereince, and enjoy life. If you like school and you want to stay because of that, do it. If you don't like school, then don't bother with it. I work with guys with MS, BS, PhD, double majors, etc. We get paid on merit, experience, and the type of work we do. Not on the letters after our names.
Any of the "School of Information" (I personally went to the Berkeley iSchool) will do you well, giving you a much greater breadth of real world skills to talk about in an interview. Bonus points if they have a program that gets you more time working with the business school.
The Master of Science in Software Engineering degree program may be just what you're looking for. But it's a relatively new degree and isn't offered in many schools yet.
Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
I did my Masters (in Engineering, not Comp Sci, but my example might still be relevant) and discovered that, although I enjoyed the program, as far as my career was concerned a Masters degree was worse than useless.
After I graduated I was hired at a starting salary. My Masters' experience counted for nothing. I was therefore making less money and had less seniority than my former Bachelor's classmates, and was essentially doing the same work. When I was looking for a job, some employers were openly suspicious of my intentions, saying that since I had a Masters degree I would probably quit after a couple of years and go seek a Phd (so why hire me?).
Would I do it all again? YES! Because I really enjoyed doing my Masters and was very very interested in the research that I did. That is the most important thing. If you don't love the subject, you will hate doing your Masters.
I know many people who have done Masters degrees, and the only ones who benefited career-wise were those who continued on to their Phd and those who did MBAs.
Life is like a web application. Sometime you need cookies just to get by.
The advice about seeking out the teacher rather than the subject matches the single best piece of advice I received or handed out in my career. In fact, I used it to disprove the previous section regarding not swimming upstream.
While getting an MHA (that's an MBA for health care industry) I was given that advice by my professor. Later I attended a conference about "consciousness" at a small college. I witnessed the conference organizer trying very hard to come to an agreement with two others, clearly from different fields, what they meant by the word "energy". I had no idea who the guy was or what he did, but I knew I wanted to learn from him. It turned out he was Karl Pribram (neuroscience), the other two being Roger Penrose (physics) and Harold Liebowitz (then president of the National Academy of Engineering). What I wanted most was to learn from someone who worked that hard to turn science into shared knowledge. So I did; a year later I was in Karl's office, having just been admitted to his psychology master's program, telling him this story. No, his eyes didn't bug out. He took it to heart and taught me how to learn as well as everything he could about the field. I was 41. I got my PhD in neuroscience 7 years later. It could have been 6, but I was working on a very interesting project (tobacco as a preventative for Parkinson's, as mentioned in "Thank You For Smoking"). I was awarded non-competitive post-docs at NIH and Yale, finishing them at 50 and joining academia
Anybody can float down stream and most do. They'll tell you that's how it works. Fuck that noise. Swimming up stream makes you stronger. Worst that can happen is you fail and end up floating around with the other drifters. But I can tell you with the confidence of experience, an elephant can fly.
"I may be synthetic, but I'm not stupid." -- Bishop 341-B
The thing I look for is work experience, my suggestion get a job an learn while you get paid, rather then paying to learn.
Respect the Constitution
Am I the only one that finds it odd that OP decided where he wants to be, but not what he wants to do?
Seems rather odd. If I wanted to be a doctor, I'd look around for medical schools and apply to one. I wouldn't be like, "Gollyjeez, no med school here at Collegetown, so Basket Weaving it is!"
Maybe the chicks there are like totally hot?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Go to law school. I'm telling you, you will make bank. IP law is lucrative. I recommend law school to any science undergrad. There are tons of IP jobs out there and the field is growing fast. There are so few individuals who are science-minded that choose to go to law school and the IP jobs require this science background. I was a programmer and a web designer for many years but chose to get my BS in Economics because I was worried the CS field was dying out (this was right around the time all the jobs began being outsourced). Once I got to law school and found out that taking the PatentBar requires an undergrad degree in the sciences field, I wanted to kick myself... hard. IP lawyers are doing interesting work and making big dollars. My recommendation is goto law school and focus on becoming an IP lawyer for a computer company.
"i stand on the edge of destruction" -shai hulud
In this kind of economy, you will be better off riding out of recession by going to grad school. If you are U.S. citizen or resident (not international students), loans are way to go.
Two years ago, when I graduated, even before the the Great Economic Tsunami, I was being offered an IT job in a food company for $35K (this is in the Chicago area).
Having a B.S. in EE, I decide to go forward and have grad school instead. Now lucky I made that decision, and even now may have a chance to shoot for the PhD and do some real research.
Chances are if I took that job offer, I would probably get laid off, after being abused for 2 years, and may have difficulty go back to school, as you need to reset your mentality.
$60K of loans are worth it if you like what you are doing.
New Economic Perspectives
I agree 100% with the need to change schools for a graduate degree. You get a very different perspective because you'll be working with new people. Also, don't throw away the benefits of knowing even more people when you go looking for a job. Having contacts and networking is not about getting a free pass to a job, it's about getting your foot in the door. You might have a very impressive resume, but unless you've invented something completely novel then you're going to be competing against people that are just as good if not better than you. By having a network of people that can vouch for you, you have a much better chance of getting that interview and being able to actually get the job. You'll probably get a job without those contacts but you'll have a better chance of getting the job you want.
Also, you don't need to know what you want to do for the rest of your life (unless you change your mind and get a PhD) but you better have a fairly good grasp on what you want to do for the next 10 years or so of your life. A masters degree gives you a lot of flexibility in the long run but you will be crowded into a specific field right out of college.
"Educate the mind but never at the expense of the soul."~Blessed Basil Moreau
a relatively competitive university
First off don't know what that is suppose to mean.
Secondly, the amount of work involved in your choice would lead me to say do what you enjoy most. The pay difference between the different options would be offset by how much better you would do it if you liked it (and thus would be better compensated).
Picking based on how much you hope to get paid afterwords probably isn't the best way to look at it.
If you decide on IT, be sure you donate your brain to the university so that you'll fit in with the rest of the group. I mean, donate it when you graduate, not when you die.
If I didn't have absolutely NOTHING to do, I wouldn't be here.
For me, I got accepted into three master's program, but only one, the one that I have my undergrad, offer an assistantship.
Usually it is MUCH easier to get financial aid if you stay. I live in a big city, and my university offers the traveling scholars program (it is called CIC) that will allow you to study in another university for one year without going through their admission process, and you of course pay tuition only to your home university.
New Economic Perspectives
If you think the MSc is too theoretical then why not find a university that does an MEng in computing. The MEng computing courses offer you the chance to put all the theory into practice and the skills they provide are much more oriented to problem solving in real world situations which is considered a big plus on the job scene. I can't think of anywhere that does post-grad MEng courses in computing off the top of my head and I only know a few places that do undergrad MEng courses in computing, but I assume there must be a few places offering post-grad MEng courses.
If he intends to stay in academia and get a PhD (or go to Google) and fancy-ass school on the resume will definitely help with employment, as will publications.
If it's something else, though, then yes, do what you like to do, just make sure you pick a reputable school.
In the end, none of this shit matters once you get your first decent job. What will matter is your network, references and reputation. No one will put you in a leadership position just because you took some classes in school five years ago.
If I were the OP, I'd forgo M.Sc. entirely unless he wants to stay in academia. And I'm an M.Sc. myself (CS/EE).
Work will be a major, if not THE major, once sleep is taken out, part of your life. Doing something you enjoy might be of value.
The Cloud - because you don't care if your apps and data are up in the air.
>> if you want to work for Microsoft research, then that same resume is worthless
Although the majority of folks in MSR are researchers (which, in 95% of cases requires a PhD), not everyone there is a researcher. Developers are in no way restricted in terms of doing research themselves. Many of them publish papers do "tech transfers", etc.
And if you have a PhD in IT and a list of publications (if such a thing exists), they'll probably consider you for their "Datacenter Futures" group, particularly if you spend a couple of summers with them as a summer intern.
The feeling of being secure or comfortable is an illusion and also a state of mind. As an entrepreneur I always ask myself the question. The question was my enemy while working for a boss, but now "what next?" is my best friend. I have all the freedom to decide "what next?". It has become my job to think "what next?". Your question: "Should I do my masters at the same school or another" can be simplified to "what next?". When you ask any question that can be simplified to "what's next" this means you are looking outside the comfortzone to something new, otherwise you wouldn't ask yourself the question. My advice: if you as yourself "what next?" get out the comfortzone and find out. Just do it. Two things are always attached to this question: "what purpose?" and "what people?". I don't refer only to business goals of my clients or their clients, who inspires me and who can I inspire to join me on my exploration. Being a part of a network, a community. Having mentors and people with fresh ideas around me. To walk on new ground takes selfconfidence, selfknowledge and even more lots of courage. But feel safe with the idea that your passion is always your compass that point to the direction where you go in life. You can ignore or hack that compass, but it's quite hard to cheat your own passion, most people end up with regrets later. Wouldn't it be great to have new people and new ideas around you? If that answer is only just half a yes. No ifs, buts and maybe's about it. Explore! Just do it!
I can say that I recently graduated with a B.S. in Informatics and a minor in Business and it was a wonderful decision, where most students took the route of a CS cognate. It's always good to take some sort of business classes as an undergrad, hell go for a minor in it, it's worth it! Or even Entrepreneurship.
I recently landed a job at a Hospital in the Clinical Informatics department as a Analyst, this is going in straight out of school essentially. But after meeting some new people and learning about what they do or have done, the Medical field is where it's at for new IT people. It's stable and you learn...
I would like to go back to school for Pharmacy sometime soon and perhaps move into a position as Pharmacy Informatics... All good paying jobs and all stuff that I really enjoy.
So you definitely have to be passionate about what you want to do.
But being a recent graduate with a degree in Informatics and minor in Business, there is a ton of stuff that you can do across the board, I even went as far to get a Secret Clearance with the government to do gov't IT jobs. But I believe that you should get the undergrad and work for a little while to figure out what you want to do and go from there...
The Medical field is a great place to go though...
A good to major would be Linux or Information Security. I say Linux because the cert for it is life time. (You wont have to retake it) But pick up some PHP training as well. Here is a great place for PHP training >> http://net.tutsplus.com/
uhg... makes me sad when i hear people guiding their education this way.
follow your field of interest, not money, or be doomed to unhappiness and mid-life crises "in the not-too-distant future".
What does getting a job have to do with having kids?
I worked, went to grad school, worked, went to grad school, worked, went to grad school again (finished third graduate degree at 38 for those assholes above that think you are brain-dead at 30), and I have a career that's enjoyable and pays quite well plus I work on my terms.
The problem isn't that you got a job, the problem is that you put all this crap on your life while you were still young and it's dragging you down.
You can get a job and work a few years, figure out what to do with your career, then go to grad school, then get the career path you like in order. After that you are responsible enough to take on the spouse and kids at an appropriate age.
I'm 45 and no children. It's great. No bullshit backyard barbeques with asshole neighbors while all these little kids run around screaming, no weekends spent sitting in elementary school bleachers wishing I was somewhere else, no driving brats around from one expensive event to another that the little snots just have to go to or they'll hate me, no being constantly ill because the little germ magnets keep bringing home one strain of sickness to another home from school, or any of that other crap my sisters and cousins complain about when I go to a family event... They'll say it must be nice to work when and where I feel like it, spending half the time at my condo in the city and half in my country home, dropping everything to travel somewhere with friends if it sounds like fun - like it's some magical gift that fell on me instead of something I planned and worked hard to get.
Yeah, I've heard the line about being alone when I get old if I don't have kids and I don't buy that it makes a difference. Three of my grandparents died alone in a nursing home. I have aunts and uncles that complain that they only see their grown children once or twice a year. That fluffy feel-good junk about being surrounded by your children as you get old? That looks sweet on Little House on the Prairie and The Waltons, and maybe that happened in the old timey days, but I don't see it happening in modern times.
Sure, mod me down because you are jealous or whatever, I'll just laugh.
BTW, before judging me as completely wrong, cnn reports that vasectomies are on the rise. Also, breeders will get a rise out of my url.
Run and catch, run and catch, the lamb is caught in the blackberry patch.
I'm finishing up my MS in Computer Science from a really good/competitive school, my 2nd MS degree. Grad school at a good, research focused university is an opportunity to delve into topics that you are interested in and to build proficiency in those areas. Going into such a program, you should be focused on personal development, not career development. As such, you should be thinking about what your interests are, what floats your boat.
Some rules of thumb for you:
1. Don't bother getting a MS from a non-competitive diploma mill. Also, don't bother getting a MS from a school of continuing education (these are essentially diploma mills), even if it is in a good university. Choosing such a program tells an potential employer several things. You probably gained very little from your degree. You are probably not terribly motivated. You are not very good.
2. Only go to grad school if you have identified a topic that really interests you. Grad school at a good university is a lot of work. You will do very little of anything else while you are there. You better like what you are doing.
3. Once you have identified a topic of interest, find a good university that has a robust research program in that field. This is huge in that research drives funding and funding drives the hiring of good faculty. This might not apply so much to you since you want to stay where you are.
4. Go deep instead of broad. In grad school, I think that there is very little benefit from trying to be a jack of all trades, especially in a field such as comp sci. You want to come out the other end as a specialist in your field of interest. In the world of comp sci, this might be security, AI, comp vision, networking, etc.
As to your quandary with respect to becoming an IT-guy, an MBA suit, etc. First step to answering this is to decide if you want to be a tech guy or a manager. Most people have a strong preference one way or the other. Holy crap, man. Being a manager would be the equivalent of getting my nuts cut off with a dull knife, shoved up my anus, and then sucked out my nostrils (in terms of pain and suffering). That's just me, though. Assuming you decide that you want to stay technical, then I'd say go as tech as possible. That is not IT. It's a field full of good, smart people. However, really good IT people end up being managers anyway.
Whatever you decide, think before you act. Let your actions be driven by goals. Set your goals based on your interests. Don't be a schmo-loser who tries to live his life according to other people's opinions.
1) Research shows an MBA is probably useless, unless you are someone who is excellent at hob-knobbing and you go to one of the top schools and effectively hob-knob with all your classmates and make good connections. Otherwise, read the 10 Day MBA.
2) Project management skills, especially for someone who can combine a good technical knowledge with them, are in high demand. Consider one a Master's degree in Project Management. Increasingly, Americans are going to be coding less and doing more analysis - requirements, planning, testing, etc. Foreigners will be increasingly handed requirements and doing the coding.
3) Or if you feel you've got to specialize in something (like user interface design, etc.) just go get a CS Ph.D. looking at that particular field. The Ph.D. is definitely worth it, but be careful that you get through it fast enough.
Is that a good place to go for a masters in CS?
If everyone did what they wanted to do, the world wouldn't have any janitors. Try to figure out what is needed, and what will be needed, and fill the spot. You've already studied something you wanted to. Now is a good time to figure what is needed in the market and modify your resume to help you fill a position.
First, it's probably worth noting that there is a big gap between the majority of what academia considers "PLs research" and what you sound like you're interested in, which is more inventing languages on a semi-ad-hoc basis. Things like Python, Perl, Ruby, etc., didn't come out of academia, and are not greatly studied in the field of PLs. I'm not saying this is because they aren't worthy of study, it's just how it is--- if anything I think both those languages and academic PLs could actually benefit from more mixing, as those languages take a very programmer-centric view (language as a user interface), which I think is correct, but academic PLs knows a lot more about implementing them in ways other than "naive interpreter" and avoiding weird semantics edge cases that have to be patched over.
As for what academic PLs does do, probably a bit under half of it is currently working on functional languages and type systems; I'd say Haskell in particular is basis of the plurality of current PLs research. In that context, you wouldn't really be inventing a new language, but you would more likely be finding new language features and working out both the theory and practice of how to add them into Haskell. Besides Haskell, there are also pockets here and there working on the various ML languages, Clean, and a few others.
The other big concentration is a bit more real-world, engineering-oriented, mostly involving bolting features onto existing, widely-used programming languages to bring some of the advantages of "modern" languages without changing the original language too radically. These take the form of either extended static checkers, or conservative language additions, leading to things like Cyclone, ESC/Java, and so on. The classic lint goes in this category to some extent.
A third, sort of cross-cutting concern, is anything to do with language support for multithreading and concurrency. There is obviously a lot of interest in such things lately, almost regardless of where it gets bolted in.
If you want to do any of the above three concentrations, there are dozens of schools to choose from. Do make sure you look at the specific school to see if it does a specific one, though: many schools' PLs groups are small, and if you go somewhere with two people working on Haskell, and want to work on program verification in a subset of Java, you're in the wrong place.
If you want to do something else, then you need a much more narrow search to find a specific faculty member doing what you want. One suggestion for how to find them would be to scan through the proceedings of recent PLs conferences to find papers that sound like something in the area of what you'd like to do, then find where the people who wrote those papers work. Some of the major conferences are POPL, ICFP, and OOPSLA.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
I've found that a BS in computer science combined with a graduate education in an entirely different field (materials science) has opened up a number of doors for me. The ability to write programs to solve problems, increase productivity, automate equipment, etc. has proven invaluable - and it's a skill that none of my coworkers have.
Admissions can be a pain (i had to complete several classes with good grades before they'd let me into the program) and you're competing with people who already are knowledgeable in the field, but that CS tool set should help. Professors get a kick out of crystal structures animated with POVRAY, trust me :)
Ask yourself "what am I good at?" "What are my professional passions?".
Having said that, a double masters in Computer Science (or Software Engineering) and MIS (or MBA) will do well. Computer Science is not as theoretical as you think. It will be as theoretical as you would wish it to be.
By that I mean that you have choices on what to concentrate. You could do your thesis in Automata Theory or Compilers... or you could do it in, say, Cost Estimations in Software Engineering projects, or Enterprise Architecture. The later two are also theoretical, BUT with immediate applications to enterprise computing and IT.
Other combinations could be Computer Science and Systems Engineering, with a grad certificate in Business (or at the very least, some courses/seminars in Finances, Project Management and Risk Assessment.)
Don't forget, though, that the Computing/Software industry is partitioned only between the theoretical and business-oriented enterprise computing. There is software manufacturing (with software as a product), hardware-oriented software manufacturing, scientific computing, stuff like that.
Decide what you want to do and train yourself accordingly (while making sure you get additional training in business, or at least the minimal on finances and project management.)
Its all in what you're attempting to aspire-to. Instead of attempting to reverse engineer a solution from a desired-outcome, start with what you like to-do & build from there.
To use "abundant, high-paying jobs" as a starting-point to figuring out your next-step will more than likely equate to requirements you'd rather avoid. And wouldn't that contradict the logical context implied-here anyhow? (i.e. If you were "in-it" for the money, you wouldn't be posting on slashdot.com - you'd be preparing for another deposition). Yeah, I know there is plenty to be made in this discipline, but it isn't as simple as "BS of C.S." + "MS of C.S." (or C.E.) = "Lots of jobs that pay tons of money".
I would suggest a Masters in Porn Interpretation or a Masters in Home Economics.
Listen, douche bag, no one really gives a shit.
for god's sake, if you're doing your undergrad at a good place, DON'T get a master's degree! it'll actually decrease your marketability for employers. usually getting an MS is a good idea only if you got your undergraduate degree from an especially crappy place.
weinersmith
I've been working in this business for 20+ years and I'm considering an MBA focussed on managing tech.
First of all, are you already in management or do you have managerial experience? An MBA is NOT a ticket into management; meaning, getting one will not enable you to automatically get into management. It doesn't work like an MD or even a JD. Usually, folks who are already in management get one in order to keep their job or to advance higher because that's the way it works in their big corporation - small entrepreneurial companies don't have this problem.
I have one. I mistakenly thought that I could get one and after tens years as a developer with a small amount of supervisory experience, graduate and jump in to management: NOPE! It doesn't work that way at all. Personally, unless your company tells you to get one and is willing to pay for it, don't bother.
I spent my own money to get one and I have to say, it was the biggest waste of time and money I have ever experienced. I would have been better off spending the money on a startup, lose it, and I would have learned MUCH more than in my program (GSU). Many of the classes are rote memorization, team projects in every class - even when it didn't make any goddamn sense to have one!, I even had a class where we had a scavenger hunt! and just a lot of busy work where you learn NOTHING.
Bullshit on people not being able to change after 30. Utter bullshit. To the poster, figure out what career you want and use that to plan out graduate work. You can always go back and get an MBA, even if you have a family and have kids. Harder? Maybe. But with work experience, you will get far more out of it.
Nonsense! Utter nonsense!
I have an MBA that I got in my late 30s after spending my twenties and early 30s as a programmer and in short, it's a goddamn worthless waste of time. Everyone sees me as a programmer and ONLY a programmer. They don't give a shit about my MBA!
Sorry, but the GP is correct.
You sound like a very talented person that was capable of changing at such a late chapter in his life. Sure you don't know until you try. Just be prepared for the fallout; such as, $40,000+ in school debt in your mid forties with no job prospects, like me.
the bullshit degrees in college (like business, architecture, law, etc.)
lolwut?
As a lot of others have said, it really depends on your career goal. If you want to be a researcher, or teach the stuff, or maybe even write code, then maybe the Masters in CS is the best option for you.
If you want to do IT management, or general management, then maybe a IS, would help, but I'd just go for the MBA, at my job in college our IT director was a CS undergrad, and an MBA, he had enough technical skills to talk to everyone on the team and understand what was going on at a high level, and more importantly, knew the business side of things inside and out.
Then there is the track that I'm on, and maybe might want too. I graduated almost a year ago, and have found a small company to let me be the IT manager (I am the IT dept), and I have to say, my BS in CS didn't prepare me at all, and I see no reason to ever get a Masters in it. If you want to do the grunt work of IT, Infrastructure (Net/Sys admin type stuff) finish your CS degree, get a help desk job to get a little knowledge, then as soon as you can, move up, get a job in a small company that is either a 1 or 2 man IT dept where you can get your fingers on the servers/network. In the mean time get some certifications, CCNA, MCSE/A (Now the MCITP if you can get your hands on some server 08 stuff to learn), Exchange, etc. With 5 years of experience, and those certs under your belt you're going to be able to go wherever you want in the infrastructure world.
Disclaimer: I'm a Fed Employee, with BA and MS in Computer Science.
The Scholarship for Service (SFS) program, jointly run by the National Science Foundation and the U.S. Department of Homeland Security (DHS), the U.S. government is desperate for cybersecurity professionals. The SFS program was designed to increase and strengthen the federal government's core of cybersecurity professionals by underwriting two-year stipends for full-time students who specialize in information assurance at approved four-year colleges and universities in exchange for agreeing to serve at a federal agency in a cybersecurity position for at least two years.
http://gcn.com/articles/2009/03/23/sfs-cyber-workforce.aspx
"Even if you're on the right track, you'll get run over if you just sit there" - Will Rogers
Quoted for truthery.
I'm an undergrad business major, and even I'm consistently hearing that I ought to hit the real world for a few years before going MBA.
If my employer doesn't demand one, great. If my employer does, then they often provide support on the tuition.
I listen to both RIAA and non-RIAA stuff if I like the music, tangential business/politics nonwithstanding.
Stripper.
I am the unwilling control for my Origin.
The department where I did my undergraduate study had a deliberate policy of not accepting its own graduates for graduate degree study, precisely because of the "inbreeding" effect. So, if one intended to stay in the same field, one had to move on to a different university. It was a good thing to do.
P.S. And if you turn out to be good at managing people, you can do that, too, down the road.
The Russians have won. They have made the world a cesspool of distrust, greed, fear and hate.
Last time I crunched the numbers, getting a masters didn't (on average) gain enough salary to pay off the additional student loans. Once you have a bachelors, people looking at the resume were not looking past that.
So, I would get a masters in whatever topic you enjoy the most and learn the most in.
there's a couple more flavours, see: http://stackoverflow.com/questions/395763/is-a-software-engineer-a-computer-science-major/396348#396348
vice chair orange county java users group (ocjug.org).
Other options include actuarial exams, certified financial analyst exams, financial trader exams (S7, S11, ...), project management institute certification, and other non-degree options that are highly respected in the real world. It helps to work for a while to know about such options, their values, which ones are of interest to you.
You have a CS degree. Go get a job! Yes, this is not the greatest market ever, but working for a couple of years is the best way to find out what kind of career is the best for you. There are of course tons of graduate degree programs where a CS graduate would fit: industrial engineering, operations research, statistics, financial engineering, MIS/CIS, and of course CS, MBA, and law. All of these could lead to good jobs and lucrative careers, if you work hard on it. For what its worth, if you play your cards right, you could get a decent job without these degrees.
Consider systems engineering. I have a BS in CS and now I'm doing an Meng in Systems at Cornell.
There are many similarities between the systems and software process and lifecycle. Software is obviously a subset of systems but the largest component in a system is often the software. I believe they complement each other well.
Listen, kid. I'm a professor of business and management science.
First, read freakonomics. The guy's an economist that works with data mining. He may very likely get the Nobel some day.
This econ prof would like to say: Thanks for the laugh.
Anon this time.
I received a Ph.D. from Cambridge University in computer science a number of years ago...
I haven't made less than 6 figures USD since graduation (granted part of that was the dot com days). Nonetheless, it worked very well from me.
"Omnis tuus capsa sunt inesse nos"
I Wanna Rock!
If you are planning to do software development, a CS masters or Phd is very valuable.
The CS PhD's I know have the best jobs. Most of them don't work as academics after getting their PhD, but work in industry.
CS research is usually funded by big software companies, so why wouldn't you think they'd be willing to hire you if they were willing to fund your research in the first place? It's not a PhD in art, CS is very practical even on the theoretical side of things.
After receiving my CS degree, I went to law school. (Hey, it seemed like a good idea at the time...) The grading curve was brutal, and several times I wanted to quit, but things turned out okay. My first (lawyer) job was crappy. I lucked into my current (lawyer) job, which is a much better fit for me.
Regrets? I sometimes wonder what it would have been like if I had instead moved to Silicon Valley and gone to work for a tech company (and/or gone to grad school) there. In retrospect, my education and career path has been impressive, but conformist, and not terribly interesting. The grass is always greener, I guess. Still, if I had to move somewhere else, the probability of my finding a job as a lawyer like the one I have is higher than zero, but lower than the probability of my dating Hayden Panettiere (which itself is near zero). I'd have to fall back on my now-rusty tech skills to find a job that's a better fit. (What is this Ruby thing? And HTML? When I was in undergrad, we used C++ and assembly, and we liked it!)
Sent from my iPhone
I've oft heard that it's not what you learn at college, it's who you meet.
Except that nerds can go through a whole year of college and make a 4.0 without meeting anybody...
Sent from my iPhone
I'm curious as to why you categorize Architecture as "bullshit" degree.
Would you mind explaining the Rationalization behind this?
I'm curious because I have 15 years in the IT industry and am now getting an M.S. in Architecture and I've never heard of someone refer to it as such.
*A)bort, R)etry, I)nfluence with large hammer.*
you will do something interesting while at school, you will be able to program better than most and when you graduate there will be tons of people willing to throw lots of $$$$ at you (if you sell out, which i strongly recommend).
From my hugely biased interaction with the field: 1) your design doesn't matter unless you've got connections 2) you don't get hired unless you've got connections 3) very little seems to be based on the hard work and merit of the individual (the value functions are unclear and subjective). It's like Fashion in some ways and business in others--the bad ways. So I lump it in with them.
An MS in Computer Science is theoretical for good reason: no amount of teaching will give you years of experience and the wisdom that comes with it. The MS complements the experience. Many companies recruit at grad schools and are eager to take on MS graduates regardless of their experience.
An IT degree makes sense at the Bachelor's level, because many employers have that as a minimum requirement and many people aren't really into the theoretical side of Computer Science, but beyond that you're probably better off getting RHCE, CCNA, or even MSCE if you want to do IT work.
There's no failure quite as dissatisfying as a complete and total solution to the wrong problem.
I work as a technical manager at a major university so I've got a perspective from both sides of the issue. If you are interested in research computing or pursuing a PhD, go for the MS in Computer Science. If you are interested in working in the field, you'll have plenty of opportunities for technical training and skill honing while working and I'd recommend getting and MBA, MPA or some other degree with a management/business/accounting focus. Those skills will be valuable down the road. Good luck!
... but I am going to tell you that remaining at the same university you got your undergrad in is a mistake....
I have to disagree with you on this in some cases (specifically applied technical areas like engineering). If you went to a specific school for undergrad and intend to continue for graduate school, the people you have met and made connections with in undergraduate will help immensely. If you personally know professors that are working in areas you are interested in, picking them as your advisor is one of the fastest ways to get on the road to publication. Also, by actually being at the school you can talk to people who have specific advisors and determine which professors are best for what. (Some professors will support every decision you make, regardless how bad it is. Other professors will disregard every suggestion you make, regardless of how smart it is. You want either the middleground, or two professors (one to make ideas with, the other to shoot them down).
Finally, the best part: If you went there for undergrad, you know where the funding is, (or can easily find out) as well as which faculty actively don't get along. Believe me, this is a relief.
I seeked full time employment after my bachelors and then returned to get my MS in CS/IA fully paid for through my employer's tuition reimbursement plan. Seems like the best way to go to me and not end up with more debt as a result of trying to make your resume look better on its own.
this world is rough and if a man's gonna make it he's gotta be tough, and i knew i wouldn't be there to help you along
So i give you that name and i said goodbye an i knew youd have to get tough or die, and it's tht name thts helped to make you strong.
now you just fought one hell of a fight and i know you hate me and you got the right to kill me now and i wouldn't blame you if you do.
but you oughta thank me before i die for the gravel in your guts and the spit in your eye cos im the son of a bitch th named you sue.
Get an IT degree if and only if you want to pursue a career in IT. From my experience, people hiring for software dev positions tend to shy away from IT graduates. Even if you're just as qualified, there's a firewall in people's brains between IT and "hard core" software dev. I s'pose that could be said of most any fields/specializations.
Something I've noticed. I'm a Senior in Software Engineering from a Top-50 engineering school. If you want something that looks best, then start studying for the LSAT and go to Law School. I started studying for the LSAT a month ago and its something that is extremely geared toward engineering types.
From there you can become a patent lawyer after making it through law school (I've read from many sources that after engineering school, law school is a breeze). That's your path towards having an extremely competitive resume that accents your CS degree. Besides, scoring a 175+ virtually guarantees you a scholarship. Might be something you want to consider.
If you're worried about what looks best on your resume and what will make you the most money then you probably shouldn't be doing post-grad studys. If you're doing post-grad studies it should be because you _love_ what you do.
Google!
You seem to be implying that scientific disciplines are somehow immune to that sort of influence. That's a bit past naive, to be blunt./p
sometimes its even worse then that, I have heard of some professors at some schools who went undergrad, grad school, and then phd and just stayed to teach there, that is serious academic inbreeding there...
If you want to hack and slash code, stick with computer science.
If you want to design code, work with anything low-level, embedded, hw/sw design, etc...you need a Computer Engineering degree.
MBA is nice and all, but it's not useful for you until you are ready to move into management, something you can't and shouldn't do right out of college.
While it's less common now, if you start working, some jobs will actually pay for your Masters as long as it applies to your job.
Many recruiters do not know the difference between Computer Science and IT/MIS. The fact is, if you already know IT then it is perfectly fine to have computer science as your BS and MS or you can do comp sci for your BS then business administration for MS. I am not knocking IT/MIS but many schools teach you very basic things in these programs. Sometimes these programs are called Electronics and Computer Technology. If you already know this stuff, how hubs/routers/switches work, wireless networks, running Windows and Linux/UNIX servers, then a degree in IT/MIS is just as easy degree and many of them do not focus on the management side if it is not a degree offered in your schools Business department. I come from a school, NC A&T State University, where the Computer Science undergrad and grad program are accredited as a part of our College of Engineering. ECT (Electronics/Comp Technology) is under the School of Technology, and the business department has its own Management Information Systems. What I have learned about all three programs is that in computer science you can not only learn the theory of how all of this works you will learn how to use and apply it, at least that is the case in my program. Computer Science is more than "programming" and developing thought processes. I think it gives you the best tools, in the right CS program, to apply technology old, current, and future properly. IT/MIS is great but if you only want to do true IT/MIS then that is your choice.
Of course, it all depends on what you want to do with your career, and where you want to go to school. The programs I list here may not be available everywhere, and may not be called the same thing everywhere.
If you want to work in software development, I would *strongly* recommend a degree in Software Engineering, or some other degree program that covers programming, design, testing, requirements, and maybe even a little software project management. These are areas frequently not covered by Computer Science programs, and are important for any software developer who wants to progress beyond the level of Junior Code Monkey. If you want to be a team lead, engineer, architect, etc. you need to know more than just the theoretical aspects of CS. IT or IS degrees often won't cover this, they're more oriented towards managing information systems rather than developing them.
If you want to get into management, an MBA is one route, though that is a more general program. Many schools offer technology-oriented management programs, such as Master's of Technology Management. Though not as widely recognized as an MBA, it is a similar level of managerial education, tailored more specifically to the demands of managing technology projects or companies. An MSTM covers most of the same business practices as an MBA, just with a different focus.
If you want to get into research or academia, an MS in Computer Science may still be the way to go.
Finally, if you want to be a specialist, forget getting a Master's degree for now, and instead go after a high-level certification in whatever field or platform you want to specialize in.
It's about the fact that you have a degree, and therefore show that you can learn.
It's been said that "The illiterate of the 21st century will not be those who cannot read and write but those who cannot learn unlearn and relearn" and I've found this to be very true. I'm actually a great example.
I have a wonderful job at a small software company doing a little bit of everything. I do a fair amount of JEE programming, I'm the Oracle DBA, I'm the sysadmin, heck, I've even created most of the marketing material. And for this I get paid what I consider to be a pretty fair amount and I'm looking at a significant raise this year, when most people around me are looking at potentially losing their jobs.
My Degree? I don't have one. Not even an AS yet. But I've certainly proven that I can learn- I spent my college money on airline pilot training. I'm a Certified Flight Instructor and Commercial Multi-engine pilot.
That shows I can learn complex systems and handle responsibility, which are the two core skills you really need to do anything in technology. It doesn't matter if you don't know something if you know how to learn it quickly.
I didn't end up in the airlines because I was finishing Multi when 9/11 happened, so the market quickly went away and I went back to using my hobby as a way to pay the bills. Now I play with computers for work and sometimes fly charters for fun.
The best grad program (these days) is your local welding school. Example: my friends have two sons. One is finishing his 4-year program at a major University and the other is finishing welding school (~1yr). The college grad has ZERO offers, and is therefore considering grad school. The other has multiple offers at $40-$50/hr.
I'm working while I get a Masters in Software Engineering and it's been pretty cool. The classes I've taken have exposed me to all sides of building any type of software. The best has been the days when what I'm doing at school has been directly relevant or useful for what I'm doing at work. I'm a tester, not a dev, but at this point I can do either and I write code for automated tests and unit tests. The PM wishes I would work with him, the VP loves the project level view of software I now have and my coding skills have improved quite a bit. I started with SWE because I wanted to take classes that were different from my CS core (unlike CS Masters) and I have been very richly rewarded.
Get an MS is IT if you want to manage a group of people that install Cisco routers and pull wires inside walls.
Get the MS in CS if you wantr to advance the current stat of the art in computer science.
I'm 100% certain the the "next big thing" maybe in 40 or 50 years will be intelligent machines. But for this to happen we will need a HUGE leap, a breakthrough in our theoretical understanding about what intelligent being are and how they work and a very deep level.
Which sounds more exciting to you. Writing performance evaluations of router installers or witting software? Only you know what you want to do.
"Would you tell me, please, which way I ought to go from here?"
"That depends a good deal on where you want to get to."
"I don't much care where"
"Then it doesn't much matter which way you go."
"so long as I get somewhere."
"Oh, you're sure to do that, if only you walk long enough."
If you consider yourself to be a techie, stay technical. If you're not a techie, maybe pursuing the comp sci bs only because you think it will get you a good starting salary, maybe the MBA is the thing for you. Do you like technology? Do you get joy from writing code? Do you find comp sci to be challenging in the right ways, and also fun? If so, you're most likely a techie. If not, well... If your goal is to climb the ladder and get away from the hands on technical work as quickly as you can, an MBA is a better choice.
As others have said, do what you find interesting. Nothing will be more rewarding.
That said, consider the why you want it. A master can help in some companies; a doctorate is only good (for the most part) if you want to teach at the college/university level - there are very few jobs out there outside of academia that require a Phd.
Also, consider this - just because you have the degree, doesn't mean you can demand the pay. If you're doing it for pay levels, then you also need to back it up with experience. They go hand in hand, and having too much 'degree' and not enough experience will hurt you more than help. If this means taking some time between your BS and MS, that's okay.
Further more, consider the degree and what it can do for you. A MS in IT isn't going to be of much use unless you like working on Help Desk, Help Desk Management, or being the server administrator and that's it. A MS in CS will get you a bit further, but still not much - it just won't limit you to the administration/techsupport side of things.
If you're really wanting to find something that will dig in deep, then a MS an EE (Electrical Engineering) will do you best, and open a new work of possibilities - including embedded programming (a no-go without an EE degree of some sort). Of course, you also have to pass the EE tests, and become an official Engineer - but that helps you even more.
So, all in all, consider two things: (1) the why, and (2) where you want to go - e.g. what you want to do in the long run.
Nothing else will be able to give wiser advise - but this may very well take more time and thought than you may like.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
And a lot of the HR and management people prefer mediocre non-perfectionists who let them maintain their illusions. When they hire good people it is a lot of work because they start finding all the stuff that is done wrong and criticizing the people around them for not doing a better job. In a large company, especially one that does not really produce much like pharma (purchases and fake studies > innovation), IT software (just buy bad software and stamp a big name on it), and some consulting companies (prolong the problem for $$$), it is a lot easier to hire mediocre people.
When the HR staff is made up of people who scraped through college they tend to be unable to judge people who excelled. Companies with good HR departments are very rare. Companies with incompetent HR departments are extremely common.
You got me into this! You were the ideologue! I'm only a poor assassin! - Twenty evocations, Bruce Sterling
Prestige is mostly (though not entirely) bullshit.
-- $SIGNATURE
I'd think about getting a Masters in Software Engineering. That should be less theory and more application than a Computer Science degree. But be careful not to overqualify yourself for the type of programming jobs you would like to be involved in.
Comment removed based on user account deletion