Are master in CS worth it?

This is a discussion on Are master in CS worth it? within the General Discussions forums, part of the Community Boards category; My professor was lecturing about going to graduate school. He thinks it is going to be necessary for my generation ...

Are master in CS worth it?

My professor was lecturing about going to graduate school. He thinks it is going to be necessary for my generation to get a masters degree. I want to stay on the technical side. Maybe someday I might want to be a software architect.

I plan on continuing my education by self-study, but I do not know if I want to take grad classes. Some professors seem like they hate teaching, and they give almost half of the class a D or lower. Average grades are in the 40's before the curve. Those classes are so painful.

What do you think? Is a masters degree necessary to be a software engineer?

My professor was lecturing about going to graduate school. He thinks it is going to be necessary for my generation to get a masters degree.

[...]

What do you think? Is a masters degree necessary to be a software engineer?

If your professor was discussing the increasingly competitive job market, he might have a point. For some professions, a higher education level, regardless of how pointless it may be, may help you secure a job before others. In a competitive market this may mean the edge you need to secure a position and a decent pay.

If he's referring to the technical side of it however, he's wrong. There's no new knowledge during a masters that can't be gained from simple hands-down experience at a work place or, even more importantly, from a discipline of self-teaching you should develop in this field.

Every software engineer should be 40 or over anyways. No one should be allowed that position earlier in their career (unless they demonstrated exceptional skills). A brat fresh out of the university with a masters degree does not equate necessarily into a competent and knowledgeable professional (neither a reliable one). Those are characteristics gained in the field after years of experience dealing with all the intricacies of real-world development requirements that often are in stark contrast with everything you were taught or everything you thought was true about software development.

For the US market?
I would say that work experience is more important. As Mario F. implies, for a good position you would need experience anyways. Maybe they will prefer 7+Masters than 10+Bachelors, but for sure in most cases the will prefer Bachelors+2 years than Masters+no experience.

If you are in the point of having significant experience and you want to go higher up then you can see if a Masters is worth it depending on the position you can find. Do they ask for Masters? More importantly, is a Masters in CS more important than a Masters in Business in the positions you are looking for? Maybe you want to become a manager. Technical skills are not the only good skill especially if the higher up positions involve management.

But the bottom line is you never know. You can imagine a lot of people in your position saying "I will get my Masters in 5 years" and in 5 years there are 5 kids around you and a broken car and the Masters is just a luxury.

Of course, if you can work and do your Masters, then do it now if you have the time and money, don't wait for later, because you never know...

Thanks for the advice from everybody. And yes, I would be in the USA job market. I have been hearing from most people that experience is more important.

As of right now, I would like to do modeling and simulation, web development, or consumer applications. I understand my first job could be testing or some unrelated programming job. So, to get the opportunities that would allow me to gain the experience, would I need a masters? Is it hard to code in an unrelated field from your dream job, and then into another area of expertise such as M&S?

Thanks for the advice from everybody. And yes, I would be in the USA job market. I have been hearing from most people that experience is more important.

As of right now, I would like to do modeling and simulation, web development, or consumer applications. I understand my first job could be testing or some unrelated programming job. So, to get the opportunities that would allow me to gain the experience, would I need a masters? Is it hard to code in an unrelated field from your dream job, and then into another area of expertise such as M&S?

As I've suggested in these discussions before a nice "Proof of Ability" piece is a great door opener... hand them a working program can play with to see what you can and can't do... Make it something useable, even handy, and make sure your name is on the opening screen.

But, to get the opportunities that would allow me to gain the experience, would I need a masters?

Unless there's something very wrong going around your local job market, no. Not in a million years. It might help you land a position on a company. Who doesn't respect a masters, right? (me usually. But I'm not the one hiring you). So you do stand in a better position against other graduates if you can demonstrate the same technical skills they do.

However you do take the risk of being hired to do things you aren't prepared for, which may precipitate your career in the wrong direction (that's down, instead of up). The experience you want to gain is handed to you from real-life programming experience and a judicious use of your ability to switch jobs, not by managing projects from a "tender age" when, unless you are exceptionally skilled, only luck will save you from making bad decisions with big consequences.

In quite a few areas, I see professionals taking their masters much later in their career, not as a means to gain some new insight, but as a means to validate their acquired knowledge throughout the years and gain a better stance in fighting for the top positions on their respective careers. This is how I personally suggest you look at a masters, how it can become a powerful certification of your abilities, and how you don't risk it turning against you.

Unless there's something very wrong going around your local job market, no. Not in a million years. It might help you land a position on a company. Who doesn't respect a masters, right? (me usually. But I'm not the one hiring you). So you do stand in a better position against other graduates if you can demonstrate the same technical skills they do.

However you do take the risk of being hired to do things you aren't prepared for, which may precipitate your career in the wrong direction (that's down, instead of up). The experience you want to gain is handed to you from real-life programming experience and a judicious use of your ability to switch jobs, not by managing projects from a "tender age" when, unless you are exceptionally skilled, only luck will save you from making bad decisions with big consequences.

In quite a few areas, I see professionals taking their masters much later in their career, not as a means to gain some new insight, but as a means to validate their acquired knowledge throughout the years and gain a better stance in fighting for the top positions on their respective careers. This is how I personally suggest you look at a masters, how it can become a powerful certification of your abilities, and how you don't risk it turning against you.

Thanks Mario, I have read a few of your posts and you seem very knowledgeable. I will probably wait.

Do you mean software architect? Software engineer is an entry level position...I'm 25 and I'm a software engineer...

Depends on what you do at our company.

Are you a software engineer because your company or university replaced the traditional terms "software developer/programmer" with the term software engineer, as some like to do as a means to artificially elevate a set of skills or, on the case of some companies, to promote an artificial high tech view of the business? Or are you a software engineer because you actually have broader responsibilities to the projects your are committed that go beyond programming and enter into such areas as system analysis and project management roles?

If the former (you were coached), I probably mean Software Architect in that world where a software engineer is in fact a software developer. If the latter (you actually have these responsibilities) I say you are too young and inexperienced. Unless you fall into the exceptionally skilled group I mentioned before.