10

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.

13
  • 7
    "worse" compared to whom?
    – user1249
    Feb 12, 2011 at 23:32
  • 42
    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, 2011 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, 2011 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. Feb 13, 2011 at 20:50
  • 10
    Computer Science is not Software Engineering.
    – Woot4Moo
    Feb 14, 2011 at 23:13

17 Answers 17

22

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.

3
  • I think #2 (Ph.D. leaving with a Master's) could also be anything.
    – rwong
    Feb 13, 2011 at 21:13
  • 2
    @rwong: strictly speaking they could all be anything.
    – Dima
    Feb 14, 2011 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, 2011 at 2:01
12

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.

5
  • 4
    A master's with a thesis has done at least one research project.
    – JeffO
    Feb 13, 2011 at 2:21
  • 3
    +1 to point out the US-centric thinking implicit in the original question.
    – Sjoerd
    Feb 13, 2011 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, 2011 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. Feb 13, 2011 at 20:23
  • @Charles Thanks for giving some background on the US situation.
    – Sjoerd
    Feb 14, 2011 at 0:37
10

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.

4

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.

3

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?

3

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.
5
  • Non-academic, eh?
    – user1249
    Feb 12, 2011 at 23:56
  • Me? I linger in between... but I guess I'm predominantly a non-academic working in academia.
    – J.K.
    Feb 13, 2011 at 0:09
  • 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. Feb 13, 2011 at 1:06
  • 2
    Most people I know with their masters did it because it gave them a higher starting salary.
    – Pemdas
    Feb 13, 2011 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. Feb 13, 2011 at 4:05
2

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.

1
  • +1 - you can't be myopic in assessing a developer. Things change and it is important to have people who can adapt and grow.
    – JeffO
    Feb 13, 2011 at 2:19
2

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.

2

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.

2

(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.

2
  • 2
    And before you consider Oxbridge status degrees, where the M.A. requires graduating B.A. and waiting a few years. Feb 14, 2011 at 17:32
  • Yes, good point - I'd completely forgotten about those.
    – testerab
    Feb 14, 2011 at 19:37
1

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.

1

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.

0

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.

0

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.

0

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.

0

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.

0

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.

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