Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

In my experience interviewing developers I feel like candidates who've achieved a Masters in Comp Sci tend to be worse programmers on average that those who don't have a Masters.

Is that just me, or have others noticed this phenomenon? If so, why would that be the case?

UPDATE

I appreciate the thoughtful comments. I think I should have been clearer in the comparison I'm making. Given two candidates who graduated from college around the same time, someone who went on to gain a Masters seems on average to be a worse programmer than someone who spent all their time in industry.

share|improve this question
7  
"worse" compared to whom? –  user1249 Feb 12 '11 at 23:32
41  
First we decided that PhDs were not job-suitable. Now it's downgraded to Masters. Who's next? Anybody who finished middle school? –  user8685 Feb 12 '11 at 23:54
2  
On an average aren't most programmers worse? Most will tell you they're above average. Where does that leave you? –  JeffO Feb 13 '11 at 2:10
11  
Consider: do you actually have a sound basis for making a judgment on this? I believe nearly 20,000 C. Sci. M.S. degrees are awarded each year in the US alone. How many folks have you interviewed? 10? 20? 100? What sort of jobs have you been conducting interviews for? Is it possible that they are positions that simply don't attract highly talented MS holders? It could be that places like Google, Microsoft, NSA, NASA, and NASDAQ (forgive my US centrism) are snapping up the sharp MS holders, while "PHP-iz-us" shops only see the folks who couldn't get on elsewhere. –  Charles E. Grant Feb 13 '11 at 20:50
7  
Computer Science is not Software Engineering. –  Woot4Moo Feb 14 '11 at 23:13
show 8 more comments

closed as not constructive by Yannis Rizos Mar 7 '12 at 9:12

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

17 Answers

up vote 21 down vote accepted

First of all, people with a Master's come in different varieties:

  1. A fresh graduate from a Master's program
  2. A Ph.D. student, who quit the program and left with the Master's
  3. Someone who got a Master's years ago, and who has had lots of experience since then
  4. Someone who has worked for years and then went back to school to get a Master's
  5. Got into a Master's program to get into the country.

1) is definitely no worse than a fresh college graduate, and probably better. He may lack real-world experience of working in a team, code management, etc., but he is likely to have a solid foundation.

2) could be problematic. Academia is not about building working systems, it is about getting publications. That is a very different mindset, with a much greater emphasis on algorithms, and much less emphasis on implementation, efficiency, and coding practices. This often leads to very sloppy code. Despite that, there are certainly people, who are able to maintain their programming skills through their grad school years, and are also able to switch their mindset and do very well in industry. The trick is to be able to tell the difference between "smart" and "smart and gets things done".

3 and 4 are basically the same, as far as hiring is concerned.

5) Could be anything. Need to look at the history, and talk to the person.

Naturally this is all a gross oversimplification. There are many other factors, not the least of which is which school the degree is from. In all cases, you have to talk to the person.

Edit:

Upon reflection, 3 and 4 are not the same. If someone has a Master's from years ago, and lots of experience after that, then you are getting a solid foundation plus experience. If someone went back to get a Master's after years of working in the industry, then you are getting somebody with lots of experience, who is also willing and able to learn new things.

share|improve this answer
2  
@rwong: strictly speaking they could all be anything. –  Dima Feb 14 '11 at 0:39
3  
sometimes MSc courses are accessible to people who did not attain a standard undergraduate degree in CS - they could have switched from another field entirely. So that's another possibility. –  Andrew M Feb 15 '11 at 2:01
show 1 more comment

I feel like nobody is going to mention it so let me do it.

In some countries a Bachelor degree is not de-facto accepted in the society. Universities though came through to follow the recommendations of the Bologna process and implement the two-stage education system (Bachelor + Master), the companies and older folks didn't accept that in practice.

They don't see it as a choice between a practice-oriented Bachelor or a more research-oriented Master. They divide people in two groups - those with the completed higher education (Master now, some form of a Diploma Engineer before) and those with the unfinished read abandoned studies.

Therefore students consciously choose to follow Master which would correspond to the completed education in the older model.

I've lived in two different countries and in both the notions of the society were the same - Bachelor is modern BS to throw incompetent and lazy people some paper not to leave them formally without education and not to undermine their start in life. They are immediately suspected of not having sufficient determination and stamina to make it through which sure influences their chances on their job market. Even if employers don't expect any helpful knowledge from their studies, they do want to see the final degree as a passage mark, just that.

You may want to keep that in mind when interviewing people with a non-US background.

The next part of following a postdoc is largely a clear indicator of research inclination. You can't say the same of the Master however.

share|improve this answer
4  
A master's with a thesis has done at least one research project. –  JeffO Feb 13 '11 at 2:21
2  
+1 to point out the US-centric thinking implicit in the original question. –  Sjoerd Feb 13 '11 at 12:46
1  
@Jeff Please leave out that 'research': in practice (in the Netherlands) all that is required is to complete a project, usually an internship in the industry. Collary: A Bachelor is someone who hasn't completed a single Real Life project. –  Sjoerd Feb 13 '11 at 12:54
5  
@Sjored, that just goes to show that generalizations about this topic are not terribly useful. In the US programs differ widely: there are thesis and non-thesis Master's programs, and some Bachelor's programs have thesis or capstone projects that require the completion of a significant programming project. –  Charles E. Grant Feb 13 '11 at 20:23
show 1 more comment

Dima has a pretty good answer. But since nobody has mentioned it yet...

Disregarding why and how (direct to Masters, Ph.D exit, industry experience) someone got their masters, more important is the program (indicated by the name of the degree) and what they did there.

There are two main types of Masters degrees

  1. Professional Masters
  2. Academic Masters

The first is usually people who fall into the following categories:

  • Direct to Masters from Bachelors, not interested in research.
  • Came from Industry, is working part time, not interested in research.
  • Came from Industry, is working part time, no time for research
  • People who don't know an academic masters exists, or don't know the difference.

The second has, you guessed it, people who do research. From what I've seen:

Professional CS Masters: Masters in Computer Science (MCS)

Academic CS Masters: Masters of Science in Computer Science [MS|MSCS]

Given all that, saying things like:

Masters in Comp Sci tend to be worse programmers on average that those who don't have a Masters

and

Students that continue on to do their Masters are not as job-oriented as someone who has finished a Bachelor of Computer Science (or a similar degree) and is currently looking for work.

are BROAD generalizations that are too open-ended to be true. That being said, I know students with bachelors degrees who cannot program worth a damn. I also know undegrads who are stellar programmers. I can say the same for masters students.

It really just depends on the circumstances, experience, and motivation of the person that determines what sort of programmer they are.

Also consider that non-Masters students, when interviewing for jobs, may be more prepared to answer your questions and give better answers, but are no better than programming than masters students. Before thinking the problem is out there I'd take a hard look at what you're asking masters students. They may not have written a program using B-trees in over 4-5 years - that doesn't make them a worse programmer than anyone else.

Finally, and this is in reference to

Students that continue on to do their Masters are not as job-oriented as someone who has finished a Bachelor of Computer Science (or a similar degree) and is currently looking for work.

Consider that as little as two years ago graduating seniors from universities were faced with little to no job prospects. Many of them went for a masters specifically because they were job-oriented and they didn't want to leave their skills languishing.

share|improve this answer
add comment

Programming skills are dependent on the passion and interest of the individual not what education he has. That said, as an employer you can assume that if the interviewee has a computer science degree that he at least some basic understanding of algorithms, OOP and data structures. However whether the person actually uses it is another matter altogether.

So no, I don't think people with masters suck more than others and in fact if you find somebody with a degree AND is passionate about his work you get the best of both worlds.

share|improve this answer
add comment

Depends who you're viewing... if it's a seasoned vet who's been in the field a while, then their Masters CS degree is probably gonna be further down the list as they'll want to show off their latest achievements in recent projects, and their further professional qualifications.

A candidate who has a Masters in CS may have it higher/more prominent in their CV if they have less experience - and this may come across as them being "worse" programmers.

But, as Thorbjoern pointed out, you used the superlative "worse" rather than "bad" programmers, so are you comparing experienced and inexperienced programmers?

share|improve this answer
add comment

Students that continue on to do their Masters are not as job-oriented as someone who has finished a Bachelor of Computer Science (or a similar degree) and is currently looking for work. By no means are they worse at programming than a computing undergraduate.

I find the two reasons for an undergraduate computing student to do a Masters degree are:

  1. They felt their programming skills were not good enough (even after completion of their undergraduate computing degree), or
  2. They are more academia-oriented - they may be working towards doing a PhD and if Masters is a pre-requisite if the Bachelors degree did not contain an Honours component (education system in Australia/UK). You might want to keep a closer eye on these candidates because of their differing mentality.
share|improve this answer
5  
Sometimes a Masters is done because there is a topic that the person was curious about, and doing it has nothing to do with programming ability (or lack of it). I have found over the years that people with higher degrees tend to be less PRACTICAL and more THEORETICAL, and for commercial jobs this can be a bad thing. However this is a generalisation. For those who are spending some time investigating things that tickle their curiosity that should not be a bad thing. –  quickly_now Feb 13 '11 at 1:06
2  
Most people I know with their masters did it because it gave them a higher starting salary. –  Pemdas Feb 13 '11 at 3:24
1  
I would absolutely disagree with the idea that an undergrad who feels their programming skills are not good enough should stay on to do a Masters. I really do feel a year in industry will improve their programming chops more than a year in academia. –  Pete Hodgson Feb 13 '11 at 4:05
show 2 more comments

There are two sides to this...

I think that real work is incredibly valuable and improves your skill set on a particular area. It might be a bit of a shock when you first start working in the "real world" and find that not everything is as black and white as you've been taught. This is good, and it's a clear advantage to currently-working candidates versus fresh Masters graduates. Experience comes with time, and the first few months after graduation will be like coming out of the womb for most people.

The other side is that a Masters will show you many more subjects, good practices and technologies that you probably wouldn't come across on your day-to-day job. You might also find an area that you didn't know you loved.

My opinion is based on my experience a Masters student, while working at the same time. I have learned so much at my job that I wouldn't trade that experience for anything, but at the same time it's been eye-opening to keep studying.

If you have the chance and are willing to do both things at the same, then by all means go for it. It's a fantastic ride and you learn a lot from both sides of it. I found it to boost my performance, confidence, knowledge and responsibility.

share|improve this answer
show 1 more comment

I took a graduate class that doubled as an undergraduate class. The only difference was, I had to write a paper. Not sure what you expect.

Did you ask about their thesis? You may have found they have a deeper understanding in a particular area. Their coding may not be as fluent because they've been dealing with theory, but in the long run they may be more likely to get up to speed and surpase the average.

Part of their education may be non-CS related. A chemical research firm may hire a lesser programmer with dual credentials in chemistry and CS. Smarter and hardworking people usually do better in the long-term, but immediate needs sometimes take precidence.

share|improve this answer
add comment

I know people who couldn't find a job when they finished their bachelor's degree, so they decided getting a master's degree might help. What they really needed was an internship or two.

I also know people who got a good job with tuition reimbursement and decided to do a master's degree while working.

School doesn't change your aptitude, it merely provides a supporting foundation for it. Someone who has never written code outside of school is going to take a while to come up to speed, no matter how much school they've had. It's like someone who has studied a foreign language but never spoken it aloud or heard it at speed. The person who studied it longer has an advantage, but is still going to be asking people to repeat themselves for a while.

share|improve this answer
add comment

(Originally put this in as a comment to Developer Art's answer, but it got too long).

Another answer has mentioned the Bologna process, and the fact that prior to this a number of European countries took an MSc as the natural point to graduate successfully from university if you did not want to continue to a research career, the BSc being thus considered as a dropout's degree. I have heard UK colleagues who've spent time working for EU companies complaining that their BSc wasn't respected there.

However, in the UK, a BSc has always been the standard leaving point, and the differentiator is whether you graduated with honours, or got an ordinary degree. I know a number of people who went straight from BSc to PhD, with no expectation that they complete a Masters in between. Someone leaving with a BSc may have completed a year's internship in industry, and also done a final year thesis project. It is possible in some institutions to do an MEng, and continue on for an additional year - basically a BSc and Masters rolled into one.

Just to muddy things even further, though an MSc in the UK is normally research based, a strange beast known as a conversion MSc also exists, which crams the content of a 3 yr CS degree into just over a year, for students who didn't take CS as a first degree.

So, if your applicant completed their tertiary level studies in the UK, and they have an MSc in Computer Science, they might have an Advanced MSc where they've continued on beyond the level of an undergraduate degree, or they might have a Conversion MSc which would be equivalent to a BSc. Argh!

And all that is before you get into comparing different institutions.

share|improve this answer
2  
And before you consider Oxbridge status degrees, where the M.A. requires graduating B.A. and waiting a few years. –  Peter Taylor Feb 14 '11 at 17:32
show 1 more comment

Of course, you can't label everyone with a single brush. That being said, one does notice patterns, and sometimes the patterns just stand out enough that we tend to think of them as rules of thumb.

My experience with people that have graduate level degrees in computer science is that they tend to have a different mindframe from those that merely acquire a 4 year degree. Those that seek graduate work are often looking for research jobs, or very specialized jobs. When they graduate, they often find those jobs are not very easy to find, so they end up taking more "layman" jobs.

This sometimes leads to the graduate level employee feeling some resentment about their job. They've got a masters degree damnit, why are they doing the same job as some guy with a 2 year degree?

Or sometimes, they wish to turn a "normal" programming job into a research job, which bucks what the employers actually want from them.

Or sometimes, the only jobs they've ever had were research jobs, and when they have to do "real" jobs, they don't have the experience or skills to actually do them.

But that's all generalizing.. everyone is different, and there are plenty of people who are just fine employees with graduate degrees.

share|improve this answer
add comment

I try to do what Ball Aerospace do.

They count

  • Bachelors as 3 years experience
  • Masters as 4 years
  • PhD as 5 years.

And they leave it at that.

share|improve this answer
add comment

Specialization (a master degree) is often good to have but it must come with openness to other ways of thinking. When you have a master degree you should be smart enough to sometime unlearned what you have learned.

share|improve this answer
add comment

I don't pay much attention to degree or GPA when I interview. I pay attention to the claimed experience, and try to find out what the candidate learned during that experience. Good candidates can give a detailed account of their past projects, academic or commercial. Weak candidates give vague answers. Everyone has to program at the whiteboard. Some pass, some fail.

share|improve this answer
add comment

When I graduated there were 2 types of people that went for their Masters Degree.

1) Those that wanted a PhD.

2) Those whose grades/skills were not up to par to find a job.

If you are hiring Master's Degree people of type #2, then I would suspect your experience is expected. The people who naturally have-it didn't need to go for their Masters as they had job offers waiting when they graduated. The ones who have to force-it needed to go for more schooling. A couple of years more schooling helps but if its not an inborn ability those couple of years only go so far.

share|improve this answer
add comment

I have to chime in since I have a ms in computer engineering. I got my degree while I was working full time. The reason I decided to pursue it is for two reasons:

  1. My undergraduate degree was in Math/C.S. and I didn't feel that I got enough CS foundation.
  2. I wasn't happy with the type of work I was doing (UI)
  3. My parents both had Masters degrees, which was a factor for me.

I dislike generalizations. Each person is different and should be evaluated as such.

share|improve this answer
add comment

I have noticed a pattern in the undergraduate and graduate students at my own college (I am an undergraduate student). In my college, undergraduate students are preferred over graduate students by most employers. This trend may perhaps be very localized, but perhaps some of you may have seen it too.

So my college is considered a very good college and getting in at the undergraduate level is very competitive. As a result, most of the undergraduates are bright students. However, they tend to go the US/Europe to get their masters, and so most of the graduate students are those who for various reasons could not make it at undergraduate level and studies at, dare I say it, second-rung colleges. So they are usually considered to have less potential(not just me, I have heard a few professors say the same) but make up for it in terms of their attitude. (They are more serious than the undergraduates).

I would think that the same occurs with several colleges in the US too (like maybe Stanford or places like that). So, at the same college, most probably undergraduate students may have better potential than graduate students, and if that is what you are looking for, a masters may be a negative point.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.