Fog Creek Software
Discussion Board




Value of an MSCS from a Public University

Joel,
I believe that you think that graduating from a top-notch school is important - or at least that it correlates with the "smart and gets things done" property.  I'd like to get an MSCS and, since I live and work in Pittsburgh, my choices are Pitt or CMU.  Unfortunately, CMU doesn't offer an MS option.  Pitt is ranked 49th in US News & World Report magazine, so I imagine it's not a top-notch school, but I'm not sure of what to make of it; is it a respectable school?  If you saw 'MSCS-Pitt' on a resume what would it mean to you as an employer?

David
Wednesday, April 14, 2004

(a) US News & World Report is Stupid
(b) CMU is much more well known in CS than UPitt, if only because so many influential things (Mach, Andrew) came out of there. On the other hand for all I know UPitt has better instructors or better labs or nicer-looking TAs. But you did ask specifically about reputation.

Joel Spolsky
Fog Creek Software
Wednesday, April 14, 2004

49th isn't so bad!

(My school is tied for 49th with Pitt and our CS dept was great! I mean, obviously reputation wise it didn't mean much, but I got an excellent education)

Michael H. Pryor
Fog Creek Software
Wednesday, April 14, 2004


Couldn't you go to CMU full time for a year and a half or however long it is?

my2c
Wednesday, April 14, 2004


My two cents:

When I see CMU on a CV, I give it special attention.  Pitt just isn't in that category.

However, I consider a master's degree in CS to be a negative unless it followed a non-CS bachelors degree.  A BS in CS is enough.  An MS indicates somebody who stayed in school too long.  A PhD indicates somebody who stayed WAY, WAY too long.

Eric Sink
Wednesday, April 14, 2004

Are you *the* Eric "Not a Legend" Sink?

Mark
Wednesday, April 14, 2004

> An MS indicates somebody who stayed in school too long.
> A PhD indicates somebody who stayed WAY, WAY too long.

Hmm. What would you call someone with 20 years' industry experience?

Thomas Sanders
Wednesday, April 14, 2004

David,

It seems you have a got a lot of different opinions on this. People tend to have their bias..and will genreally favor the same things they have done or hire from schools they went too...nothing you can do about that.

The question is not if you should go to CMU or Pitt, the question is what you would like from an MS? Is there any specific area of research you are looking at?

Best,

Prakash S
Wednesday, April 14, 2004

Eric, what about someone who got an MSCS at night while working full time as a software engineer?

Alan M.
Wednesday, April 14, 2004


Re:  "Not a Legend":  Yes, that's me.

Re:  A label for someone with 20 years' industry experience:  I guess I would call them a developer.  It's a foregone conclusion that 20 years experience is almost certainly better than an MS or PhD.  The only possible exception is the guy who has 2 years experience 10 times over.

Re:  MSCS at night:  Sorry, it still doesn't add much value over a bachelors in CS.  In an ISV, nothing matters except shipping products, and school doesn't teach you how to ship.  If you really want to spend your evenings improving your career, volunteer to be the release manager for an open source project.  Learn how to ship.

Eric Sink
Wednesday, April 14, 2004

I have to agree with Eric here... an MS is a slight negative. Not a big one, but it does make me scrutinize other things closer. For example, a lot of times you'll see candidates from a second-tier school in India with an MS from a third-tier school in Kentucky. (No offense to Kentucky. It might be Oklahoma). The strongest signal this sends is "I wasn't good enough to get into the Indian Institute of Technology, so I thought I'd get an American MS on my resume to make up for it."

There are lots of better things to judge somebody on, but of the mass of resumes you see these days, the people with MS's are usually slightly less qualified than the people with BSs from good schools.

Speaking of which, Eric, didn't you go to IIT?  ;)

Joel Spolsky
Fog Creek Software
Wednesday, April 14, 2004

From a Pitt Graduate point of view (EE). 

If you plan on working/staying in Pittsburgh, it probably wont make too much of a difference (Pitt is very well received/respected in the market due to the high number of graduates in the area- discounting the occaisonal Penn State guy that manages to lie/cheat his way to the top). 

I would look into the engineering dept and aim for the Computer Engineering or EE degree over the CS degree and then you really wont have to worry about the difference.

Mike

At a certain point with gained experience, it really wont make much of a difference at all- and expense-wise CMU will set you back some serious money if you dont have a scholarship

MikeG
Wednesday, April 14, 2004

Two people I admire ... Both posting in the same thread :)

Eric and Joel's Fan
Wednesday, April 14, 2004

As a CMU graduate (in Electrical Engineering) I found CMU had a schizophrenic attitude toward Computer Science.    They did not treat it as an engineering discipline, but more as a Math discipline.

From what I've seen of Joel's writings, he considers it (as do I) an engineering discipline.  I did get my MSCS degree at Johns Hopkins part time -- and it was a grueling 4 years -- but Johns Hopkins at least did consider CS an engineering discipline.

Having said that, the Mach kernel, and the Andrew operating system all came out of CMU -- but I believe they were PhD projects.  Having said that, the CMM model of the SEI also came out of CMU -- but that was a partnership with the military. 

My point is, it depends on the professors and their research interests what any particular university will teach, and consider important.  That's what you need to keep in mind as you research which institution you wish to go to.

AllanL5
Wednesday, April 14, 2004

Thanks for the input, everyone.

>> "Couldn't you go to CMU full time for a year and a half or however long it is? "
I thought about it, but it seemed to me that getting a terminal master's might be worse than having no master's at all.  Anyone out there have a terminal master's?

>> "However, I consider a master's degree in CS to be a negative unless it followed a non-CS bachelors degree.  A BS in CS is enough."
My BS was in Math, but when I decided to go back to get the MS, I needed to take certain prerequisites to be accepted to grad school.  Turns out, with all my undergrad CS credits, the prerequisites ended up giving me enough for the entire BSCS.  Was it a mistake to take this BS?  Should I omit the BSCS from my resume?  Is it even ethical to omit a degree from your resume?

>> "The question is not if you should go to CMU or Pitt, the question is what you would like from an MS? Is there any specific area of research you are looking at?"
I love various topics in AI.  I'd love to do something in language processing.  Or, there are several companies around creating intelligent tutors.  There are also several companies making expert systems for engineering fields.  I think any of these would really be interesting, but their job postings seem to require a minimum of an MS. 

>> "I have to agree with Eric here... an MS is a slight negative." 
Since some of the jobs I'm interested in require at least an MS, would you still consider it a slight negative?  When companies post a requirement of 'at least an MS', is that a polite way to require a PhD?   

David
Wednesday, April 14, 2004


David writes:

> I love various topics in AI.

Whoa -- you might want to keep that quiet.

Remember, it is illegal to discriminate on the basis of gender or race.

It is either illegal or unethical to discriminate on the basis of sexual preference.

But it is still perfectly acceptable to discriminate against people who believe AI will ever be anything more than a plot framework for sci-fi.

<smile/>

Eric Sink
Wednesday, April 14, 2004

For what it is worth, here are my thoughts.

RE: MS Scrutiny
I agree with Eric and Joel. An MS often tells me that the person stayed in school too long. And that is a real problem with an ISV because the longer you spend having academic programming shoved into your brain, the longer it takes us to pull it out. ;)

RE: "BS Needed"
Sure, it helps if you lack some experience because it shows me that you can at least stick with something. But as Eric said, those of us who do shrink-wrap are much more results oriented than skill oriented. If you can program circles around me but can't get anything to ship, then I can't do much with you. Prove that you can ship a product, any product, and I'm going to take notice.

And don't make the classic mistake of thinking a minor utility is too small to matter. If you put together a utility that you can show people have installed and used, then you are going to bump up ahead of the MIT grad with nothing buy a chess AI to show me.

I not sure I agree with Joel that you need Microsoft (or some other well known shop) on your resume without a BS. I don't have a BS and I don't have Microsoft on my resume. What I do have is senior development, design, and deployment work on 3 products (with several minor releases). And while it isn't for a well known shop, the products are used by thousands of people. So while I may not have the BS on the wall, I do have the experience to walk into any ISV and get things done. And that is often the most important qualification you can have on your resume.

Marc LaFleur
Wednesday, April 14, 2004

David: "When companies post a requirement of 'at least an MS', is that a polite way to require a PhD?""

I'm not sure about that. But I'm willing to stake some pay on the fact that it is required by either a) a PhD holder with an elitist streak or b) someone with /no/ experience writing software. ;-)

Marc LaFleur
Wednesday, April 14, 2004


Wow. No offense, but you guys go way too far with your degree bias. Do you not hire many college kids? I ask because, all of the companies I interviewed with (some good, some bad), Microsoft was the only one that made me feel like a M.S. degree was a negative (and I got an offer anyway, so it couldn't have been that important). The prevailing attitude among college recruiters seems to be "if you get an M.S., you'll get better opportunities."

Remember: a M.S. degree takes approximately three semesters to complete. Three! I don't know what companies you guys are talking to, but judging from the offers I got, the M.S. ups your salary by about 20% on average. That's a good deal of money, and well worth the small amount of time invested. So, if the majority of companies (that is, the loudest voices) feel that an M.S. is good, then... wouldn't you expect bright students to go for it? I mean, when you think about in terms of potential return on investment, it's a no-brainer. It's just good business sense.

To conclude: I understand being *apathetic* about a M.S., but to actively hold it against a person? Because you feel like ignorant college kids should have intrinsic knowledge of your random company's hiring practices? Please...

Dan J
Wednesday, April 14, 2004

Hey, I guess I am on record (at least if usabilitymustdie counts) for not thinking to high of academia in general, but you guys are going a bridge too far on this one.
"MS a slight negative"? "PhD is a 3-strikes-you-'re out no questions asked"? That is pure and simple baseless prejudice.
You are way over the top in taking these degrees into account. They do not mean that much (both in a positive or negative way).
e.g. A guy like Werner Vogels ( http://weblogs.cs.cornell.edu/AllThingsDistributed/ ) sure has my respect, and I would hire him in a second given the chance even though he has a CS PhD.

Just me (Sir to you)
Thursday, April 15, 2004

Pittsburgh winters are pretty brutal.

A masters degreee will eventually get you more money than a BS will, and will get you up and out of coding into management. You might not see that as an advantage.

Being a coder is becoming harder and harder.  Jobs are going to India, and lots of new BS grads get jobs testing software instead of writing it.  And even writing test software is not the same as writing production software. Both you and your test software are expendable.

But it's harder to offshore the manager, the consultant to the Board of Directors, and the people who spec the software in the first place.

Attending CMU will clue you in to industry trends several years ahead of all the other people you will be competing with when you get to industry.  You will know what to work on and what to avoid, and what technologies to use.

Computer Science isn't the field it used to be, but there are still billions of dollars to be made.  Everybody knows that nanotech and genomics are the wave of the future, but that doesn't mean that everybody is right.

Warren
Thursday, April 15, 2004

Lemme be really clear about what I mean by "masters is a negative."

For a GIVEN person, having a masters degree is either neutral or a slight plus.

But ON THE WHOLE the population of people with masters degrees looking for jobs at software companies are ON THE WHOLE a slightly less qualified population.

E.g. masters degrees don't CAUSE the negative, so by all means get one if you feel like you need one, they just happen to correlate with the negative, for various other reasons which have been discussed here.

And yes, the Microsoft culture I come from does have a strong bias against academic CS. There were not many PhDs at Microsoft when I was there, and the ones I knew were all architecture astronauts of the first order. Ever wonder where "tear off aggregated COM+" objects came from? Ever wonder why Cairo never shipped? Ever? Ever notice that Office "fast find" makes your computer really, really slow and doesn't find things fast? All thanks to the few PhDs I knew at Microsoft.

That said: everyone in my family has a PhD; both my parents are professors; I grew up in a college town thinking all adults had PhDs. If you want to go into academia there's nothing wrong with a PhD and it's certainly the ticket to a rewarding career, just not in shrinkwrap software development.

Joel Spolsky
Fog Creek Software
Thursday, April 15, 2004

So if you had a master's degree in CS, but you didn't put it on your resume in order to increase your job chances with people who have anti-master's biases, and then after you got hired they found out you had the master's, would you get fired for lying on your resume?

Kyralessa
Thursday, April 15, 2004

Boss: A lie?
You: An omission.

Greg Hurlman
Thursday, April 15, 2004

No, it is bias or anything similar to it.

I think the point here isn't that an MS or PhD gets you booted out my door (it will not), but that I'm MUCH more interested in what you have produced than what you have learned.

The number of people who can master a masters is just much larger than the number of people who can master shrink-wrap.

I've always considered IT work and ISV work to be too completely different disciplines.

Marc LaFleur
Thursday, April 15, 2004

Sorry, that should read "No, it ISN'T bias".

An before someone posts it (because someone WILL post it); no, it wasn't a Freudian slip.

Marc LaFleur
Thursday, April 15, 2004

Well, back in 1988-1992 (very much dating myself, eh?) a lot of CMU CS professors weren't very interested in teaching (with definite notable exceptions).  Many wanted to get out of class and back to their research as quickly as possible.

So the benefit of being there was being around very smart people with similar goals (at least they seemed smart to me), in a very competitive atmosphere.  You pick up a lot from hanging out, studying together, and being in the labs.  You will definitely be challenged, too.

I also have a MA from Pitt in Linguistics.  You mentioned AI and natural language stuff; I had a concentration in NLP as an undergrad, and wanted to see things from the linguist's side in addition to the CS side (Pitt has a well regarded Linguistics department).  There were policies in place for Pitt/CMU cross enrollment, so if you're serious about the NLP thing, you could go to CMU and take a linguistics course or 2 at Pitt to get another perspective.

A downside of CMU, at least in my time, was that lack of sleep was always a source of bragging rights, and exposure to sunlight was seen as a very low priority.  The kind of life style that's only sustainable when you're young without inflicting long term damage to yourself.  If you're not overly susceptible to peer pressure, you can opt out of this, of course.

For what it's worth to you, I majored in Logic and Computation.  It gave me a lot of flexibility to pick and choose classes and figure out what interested me, much more so than a straight CS or EE or ECE course of study.  I may have been more immediately employable with one of those majors, but I had a lot of fun and got to explore things that were interesting to me, so I wouldn't change the decisions I made.

Good luck in your studies, what ever you choose!

Jim Rankin
Thursday, April 15, 2004

"But it is still perfectly acceptable to discriminate against people who believe AI will ever be anything more than a plot framework for sci-fi."

Actually, AI is whatever no one has been able to program a computer to do, yet.

We are surrounded by things that were once considered AI.

Jim Rankin
Thursday, April 15, 2004

Hell, why stop there.  Let's hire the truly ignorant.  Don't even consider people with a high school diploma.  If they haven't been working since age 11 on at least a paper route, they're hardly qualified to understand business.


Now, if you want to argue typical CS programs teach the the wrong things, that's another story.  That's why I focused on software engineering for my masters (how to review, how to write requirements, what constitutes good code, good designs, architectural tradeoffs, abstraction/encapsulation/etc).

Chris Kessel
Thursday, April 15, 2004

Dammit! I should have been lying and cheating this whole time?

- a Penn State grad

MD
Thursday, April 15, 2004

Joel's right -- a Masters degree is at worst only a slight negative, not a big negative.  All else equal (and it never is) an MS looks to me like time which could have been spent getting the kind of experience I consider more valuable.

On the other hand, I consider a PhD to clearly be a negative thing when hiring developers for my ISV.  If you have the determination and passion to finish a PhD in CS, then I consider it very, very unlikely you have the completely different kind of determination and passion required to finish a shrinkwrap product.  Exceptions exist, but this generalization works pretty darn well for me.

Eric Sink
Thursday, April 15, 2004

Neglecting to mention an MS is not a lie, in my opinion.  However, I'll be wondering about the 2 year gap in your history.  If you make up something fictional to fill that gap, then obviously that would be a lie.

Eric Sink
Thursday, April 15, 2004

I don't think the reputation is that important. But if you display a completely different behavior of using such a facility than the norm (like Bill Joy did back at UBC).. universities will take notice--especially the reputable ones. But if you are just looking to getting a MS as a snooze button on life you'll just learn nothing (even though you'll get a piece of paper that said that you did). For example, at the school I went to, people who were very different from other CS students wrote kernels and ports and shareware while their buddies went out to party. Some of them attended student organizations like linux user groups and actively promote hacking parties, tutoring/seminar giving and program reviews. It doesn't mean hitting the top 95% percentile have to be so void of fun--there's usually cool clubs or greek houses in school you can hang out at.

Li-fan Chen
Thursday, April 15, 2004

There are very different types of MS degrees.  Some are just "taking X hours more classes", others require you to come up with an independent thesis project, research it, and write it up.

I did the later kind, and found it very worthwhile.  The experience taught me a lot about how to do research, put it into practice, and communicate and distribute the results. I've found people who have that type of grad school background are more likely to get jobs where they're originating new product ideas and choosing their own projects.

Getting similar positions and opportunities without the MS degree is certainly possible but (in my observations) slower going.

J. Peterson
Thursday, April 15, 2004

Why do you consider it so dificult to "ship"?

I shipped software several times. I don't consider it a special skill.

What is so difficult about it?

Is it the integration? The testing? The fact that the software has to be polished? The fact that it has to be bug-free? The fact that it must have a help file? Is it the installer?

I don't understand why everybody thinks it's such a difficult to achieve skill.

Manager
Friday, April 16, 2004

You don't find it difficult because you can do it.

Most people can not :)

I always used to wonder why anyone would *purchase* an ASP or a PHP script? It's just so simple to write yourself. But the problem is --- most people can't.

Green Pajamas
Friday, April 16, 2004

So, where do you rank a PhD who's shipped product?

My shareware company shipped 5 products during my Masters and PhD work.  In the last year of my dissertation I cofounded another firm that's still shipping code to dozens of customers and thousands of physicians.  And I'm still writing a lot of it.

Get off your high horses -- PhD's span the range from ivory tower to people with enough business acumen to start and run very successful companies!  Or to write clean kickass code, quickly.

Go back to basics.  PhD's have demonstrated that they are smart.  Verify that.  Figure out if they can get stuff done.  If they can, hire them.  If not, don't.

Also make sure you make them write code: the smarts to finish a PhD aren't the same as those necessary to write end user code.

Sanjay

ps.  As a side note, I really don't recommend trying to finish a dissertation while starting a company.

pps.  Probably the only really major advantage I've seen from PhDs is that they tend to be able to communicate better than the general public, be it via email, powerpoint, or live presentations.  It's a side effect of having to compose ideas for 4+ years.

Sanjay Vakil
Friday, April 16, 2004

You're just an exception :)

Green Pajamas
Saturday, April 17, 2004

And not every exception is caught :p

Green Pajamas
Saturday, April 17, 2004

david,
just get an indian citizenship by paying a lot of money and get an MS from IIT. you will be the MAN after that.

Jayant Apte
Saturday, April 17, 2004


Sanjay asks about PhD's who have shipped product.

Like I said, there are exceptions.  This is obviously one of them.  Suppose for example I received a resume from a key developer on the Photoshop team who happened to have a PhD.  The PhD is still a negative, but the ISV-related accomplishments are a positive of a much greater magnitude.

Eric Sink
Saturday, April 17, 2004

Geez, guys, you really have a chip on your shoulder about this, don't you?

Perhaps the issue is an incorrect assumption about what people *do* during scientific/engineering PhDs.  I won't comment on liberal ones, since I'm not familiar enough.

If you actually finish a PhD, you've completed a significant task, which I'd argue is similar to shipping product -- you've shipped a dissertation. Beyond the 1% inspiration aspect of it, you also have the 99% of real work to grind out all of the details.  It's hard work, and it requires a level of commitment that I'd appreciate in my coworkers.  I'd argue that completing a PhD demonstrates that you can get stuff done.  I think most people would agree that completing a PhD requires some level of smarts.

Imagine if you could channel that raw ability into product from your firm!

Further, there's the additional aspects to the communication skills that you gain that I touched on earlier.  Actually getting out often requires  finesse to get all of your committee members to sign off and agree that you're done!  These political/social/managerial machinations can be extremely useful in the "real world".

At my firm, we have 5 PhDs.  That's a lot when the whole company is only about 40 people!  Three of us write code.  The other two explain our stuff to the outside world.  It works extremely well.  I should also mention that we have 3 or 4 people without degrees who design and write code at a level that I aspire to.

On a sidenote, I seldom get called "Dr." at all.  Dealing with physicians as customers demotes me to "not a real doctor"!

Sanjay Vakil
Saturday, April 17, 2004

Regarding the comment about foreigners with less-than-first-rate american masters degrees:  I take it to be a wayy just to help them get into the country and get jobs, and doesn't really reflect any desire to get the education.  If they have a masters and a PHD, they probably had a lot of trouble getting a job.  Of course it is always important to remember with these things that you could very easily be wrong.

Keith Wright
Tuesday, April 20, 2004

Do all of the people that are mentioning a Masters or PhD degree as a "negative" (slight or big) have those degrees?

Matt
Saturday, May 01, 2004

I have a Master in AI, and it has served me well for my first 4 years of emplyment.
- It appears to make a positive impression in interviews - if interviewers have a degree themselves, it can create a kind of 'us academics'-atmosphere, if they don't, it can make a 'wow, you must be smart'-kind of impression.
The most negative feedback I've got was "I'm sure you can do the job, but I'm not sure that you will stay very long in this company". (I told him I expected to stay a couple of years at least, and this was in the heydays of the Internet, so I got the job anyway.)
- It appears to make me less vulnerable to job cuts - the 'least skilled', those with neither experience nor education, tend to go first
- I tend to make (slightly) more money than co-workers with similar experience but less education
- I think I have a wider range of opportunities for later, when I get fed up by programming.

On the other hand, you don't actually need an MS to be a programmer. And an MS by itself is not sufficient.
'Educational programming' is very different from 'production programming', so different, in fact, that you have to start almost from scratch at your first job. That is, more years at school doesn't necessarily make you a better programmer.

I think the largest downside of having an MS, at least if you take out of personal interest (as I did), is the fact that there is practically no correlation between what I consider 'interesting' and what I can make money on. It was somewhat of a letdown, spending several years doing really interesting stuff, and then discover that actual work was just, well, work.

I've been wondering whether the MS was really worthwhile. So far, I really can't tell. But I think that in the long run, say in another 4-5 years, I will start to see more substantial payoffs.

johannes
Wednesday, July 07, 2004

*  Recent Topics

*  Fog Creek Home