How Important is a Well-Known CS Degree?
syynnapse asks: "I've been interested in computer science since my mother taught me how to program in QBASIC when I was eleven, and I've wanted to be a developer ever since I learned C++ in AP Computer Science while in high-school. Now I'm in my sophomore year of college studying CS at a state university that isn't particularly known for its CS program, but I'm quite happy and personally think I'm learning plenty. My father thinks otherwise, and the deadline for transferring successfully is approaching quickly. What chance do I have in the real world with a not-so-prestigious degree? Am I likely to be learning what's important? Am I looking at a series of awful jobs if I don't transfer?"
I honestly don't think it matters much. I imagine there are a few organizations that it does matter to, but I think those are few and far between.
...or equivalent experience.
The most important thing in the market today is experience. Go look on Monster or any of the other sites right now, and you'll see one phrase quite a bit -
In other words, a degree is a bonus now rather than a prerequisite if you have talent and experience. If you have no experience and no big certifications, then a degree is something (and perhaps the degree from a bigger school could help a little), but the jobs available to you in this boat are not all that appealing for the most part anyway.
The great jobs go to those with solid experience, and for those people (and the people hiring them), the degree they have is considered decoration rather than the meat of the resume.
Perhaps this is different in the development field, but I doubt it; I'm coming from the infosec side of things and I imagine things are much the same for programmers.
In short, degrees and certifications are "get you in the door"-oriented credentials; the big jobs rarely go this breed of applicant.
dmiessler.com -- grep understanding knowledge
Here's my general rule on quality of college:
Unless you want to go for an ivy league type of degree (MIT, Stanford, Berkeley, etc.), as long as the college offers a strong program, where you go to school has ZERO effect on your life after your first job. I went to a average school (Cal State University, Chico), and got average grades. (3.0 average). I found a good starter job when I gradiuated, and started progressing on *merit* after that. Now, I am in a top design position at a huge networking company, and no one looks at my degree. When I interview people, I never look at the college, other than to verify that they got a degree.
The only caveat is if you want to get a high profile degree from a top of the line college. All the Phds I work with come from top drawer schools, and went to top schools from the bachlor stage on. It is more of a pedigree at that point, and it clearly matters.
Go to a school that has a good CS program, has energetic professors, is fun to live in (you can't beat Chico), and just do your best. Once you get a job, your accomplishments will distinguish you from the rest.
I am sure to be flamed by people who went to well known schools and swear by it, but none of the people I work with who have BS desgrees went anywhere recognizable. It is all about how you perform.
Good luck!
Todd
I have a CS degree from a state university that's not especially known for it's CS department.
I graduated in 2000 and didn't find the degree to be a hinderance at all. Granted this was at the tail of the bubble, but I was hired ahead of a Purdue and a U-Wisconsin graduate, both of which I'd consider to have far superior programs.
Why? First, because I interviewed well. I was able to interact with my future bosses and coworkers, I didn't lie on my resume, and I was eager to learn. Second, because I had relevent experience gained while I was a student. I found that working as a programmer for the campus IT department 15 hours/week and volunteering as a lead sysadmin for a student government / organization webserver to be far more relevent to the job then anything I learned in class.
Since that first job, I've found references and contacts to be the key to getting other interviews and offers. I don't feel like a state-U degree hurt me at all; college is what you make of it so learn to socialize, volunteer or take a part time job relevent to the field you want to work in, and concentrate on getting a good broad education. Take liberal arts classes and business classes, etc.
They make Counter-Strike Degrees? sign me up!
Remember: *Learning* is what's important here, especially when we're talking about an undergrad degree -- I went to a small state school where there were 10-20 people in my classes and I recieved a much, much better education than my peers who went to large universities. Why? Because I could walk into my professor's office and spend an hour talking to him about class material, advances in computing or the state of the industry or whatever.
In my experience, the sort of jobs you'll get with an undergrad degree tend to value understanding and skill over who your degree is from -- if you can do the work, you're their person. If you're going to a job that requires a graduate degree, well, you can go to a high-profile school for your grad work, eh?
Aside from all of that, I've learned the hard way that you should follow your instincts. Follow yours on this one and stay put.
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
this allowed me to get a job at the best convenience store in the state. Highly recommended!
WORK EXPERIENCE
Seriously, take a look at my resume (http://www.codesweep.com/about.cfm) you will see that there are plenty of interesting jobs on it (and I haven't throughly revised it in awhile, I could state more). While my college degree is a footnote at the bottom. While Cal Poly Pomona is a good school, it doesn't matter based on what's more attractive, the work or the school.
Bottom line: Find a good (even if cheap) job NOW. Failing that, grab an open source project at http://www.sourceforge.net and contribute something to get your name on the developers list. Something, anything for your resume besides a degree (whether Ivy League or State U) is paramount to a good job. If you can accomplish this, it won't matter if your degree says "WTF Coding University".
...in bed
It does matter for your first job.
Unless you know somebody, it's hard to get in to the truly cool jobs. Most companies only recruit at a relatively defined set of universities, generally where the founders and a few of the early employees came from. Which means you have to seek out companies more if you want to avoid being a coding grunt.
Once you are out for a bit, it matters far less.
Oh yeah, and a good CS degree is not about being taught. It's about being tortured into learning because your professor is really bright but can't teach. So he gives you hard tests and you have to teach stuff to yourself in order to pass. At least, that's the shared experience amongst most of the grads from top-10 CS schools that I've talked to.
Gentoo Sucks
Asking a questions like this on slashdot is pointless.
People who have a CS degree from a well known school will say "most definitely!" so they can justify their own.
People who have a CS degree from Arkansas Community College will say "not really" because they got a job just fine with theirs.
People who have a computer-related degree from DeVry will say "nope" because they have a bottom-rung tech job.
People without a degree will say "most definitely not" because they have a job based on experience.
I'm trying to hire three developers, a project manager, and a business analyst where I work. We ignore the degrees they put down, unless it's for the pm spot where a MBA from anywhere will work. Some of the applicants have a BS in CS from places like Berkeley, but it doesn't really matter because they got it ten years ago...with an emphasis in cobol.
Having a degree on your resume will just help it get through the automated resume grabbing filters big companies use when fielding hundreds of applicants.
Oh, and I don't have a degree.
In most cases the degree does have significant weight, and given two people who are more or less equal, the guy with paper will win.
Not to mention the degree will get you past the HR department.
24 beers in a case, 24 hours in a day. Coincidence? I think not!
I disagree completely. I have yet to be involved with an interview where the degree was a deciding factor for anyone and I've been in this business for 16 years. It ALWAYS comes down to experience and how well you do on the technical interview. People underestimate technical interviews. Here's how the decision is typically made in my experience:
60% Experience (this is what gets you in the door)
39% Interview (this is what gets you hired)
1% Piece of paper
Nobody puts weight on the paper because everyone knows that schools do not prepare programmers for the real world.
About the only exception I could see to the 1% rule is if you come from a particularly prestigious institution like MIT, CalTech, etc. That said, people who come from institutions like that usually do very well in the interview because they are ultra-geeks. In any event, since the percentage of the population coming from those places is extremely small, it's not really a factor.
Any man who afflicts the human race with ideas must be prepared to see them misunderstood. -- H. L. Mencken
Unfortunately, being a distinguished computer science student does not imply that you are a good programmer. I am a senior at the University of Maryland, College Park. I know lots of kids that do very well in their CS classes. Many of these same kids are terrible programmers simply because they have only ever completed projects of the "implement this spec to solve this idealized problem variety". Some of the more software engineering classes (compilers, databases, graphics, OSs,etc.) focus on implementing programs that do useful work (using real APIs). The more theoretical classes like algorithm analysis and crypto focus on the computer science and not how to program. Thankfully, UMD makes it really hard to graduate without at least of few of the engineering classes. However, as you pointed out, these really _aren't_ CS classes. They are engineering classes. And the people who avoid them tend to not be very good programmers.
Would you hire a theoretical physicist to build a suspension bridge? Well, I wouldn't hire a theoretical computer scientist to implement my relational database server or my C++ compiler or my operating system.
And just for the record: I learned C when I was 12. And it was the process of decomposing a task into unabiguous components that interested me from the very beginning. I would call that process fundamental to computer science.
I disagree.
:) ) tends to be much more pragmatic and about ability rather than titles. But I've worked with recent immigrants from various places where that is not the case -- I saw an excellent potential employee turned down because his degree was from a "second-rate" university.
I'm not saying your wrong about your experience, obviously, but I have been on both sides of the process and have seen degrees make a big difference. I've seen people with great experience lose out to people from the "right institution."
Here're a few reasons:
- Some institutions, particularly service-related companies, are vain about the statistics they can cite. I worked with a Big Consulting Company once who had a VP who would frequently state that over 25% of their employees had PhDs from Berkeley, Stanford, or MIT. I asked him what their GPAs were as a joke, but he took it entirely seriously, and told me he could find out. For companies and people like that, the image is as important as the education. Their product is design audits, system reviews, etc, so they're essentially selling confidence to other companies. They sell to upper management, not the engineers, so easily-recognized indications of quality (i.e., reputation) are important.
- Insecure hiring/HR people. It's like the old "no one ever got fired for buying IBM" mentality. It's a defensive mechanism.
- It's cultural, too. Certain cultures put more emphasis on titles and institutions than others. American culture (whatever that is
Also, people's prejudices come out in the hiring environment. University degrees are easily verified, while experience may or may not be.
And experience can be a slippery thing, too. I hired someone once who gave an outstanding interview and who had amazing knowledge of Unix development. This person turned out to be very talented, but unable to follow directions at all, or even perform the job requirements. It wasn't a lack of ability, it was an unwillingness to work with the requirements that our client had imposed. A university degree here would have been a good thing -- it indicates that someone is capable of, for want of a better phrase, being compliant and going along with the bullshit that jobs unfortunately often require. Being talented and knowledgable is not enough. You have to be able to deal with and compromise with people who are less talented, situations that are not ideal, and, as you call it, the real world.
Anyway, that's my take on it. Yes, experience is very important, but I wouldn't overlook a good degree as a tool for getting yourself hired.
Eloi, Eloi, lema sabachtani?
www.fogbound.net
In my opinion it depends entirely upon the type of job you're looking for. The computer field is rather messily divided between techies and intellectuals. It's a bit of an open system, with people migrating in both directions, and considerable overlap, which disguises the fact there there are, in fact, two camps.
Degree or no, fine school or barely adequate, you're going to start life as a techie. Welcome to the help desk, cubeville, or low-end development. Your geek-badge and a love of white-collar slavery is your passport to this world. And thus begins the journey. . .
You will gain experience, confidence and skill, and begin to be promoted. You will (hopefully) gain a reputation in your chosen fields, and garner the laurals of a job well done. You begin to plan a career path. Somewhere around Sr. programmer (substitute DBA, Network Admin. or Sys Admin as appropriate) something unexpected happens.
You see, at the upper end of "applied technical knowlege" there is a fork in the upward path. The broad road leads to middle management, and God help the poor souls who venture there. The narrow path leads to "think tank" positions.
It's true, most large companies have one or more senior geeks doing funded research, planning strategy, or generally dispensing wisdom on demand. They really do exist, but you don't see them because they live in the nice office building in corporate headquarters not in the programming shack.
Here's the important bit. These guys are hired for their brains, and to join the club you need to have the sort of broad-based understanding the almost inevitably comes from a top-notch college education. A B.S. gets a distainful sniff, but the doors gape wide for the ivy-league Ph.D's, and may open for an M.S from a solid school with a bit of persistance.
The self-taught crowd will howl and cry that it's not fair. They can program as well or better than their pedigreed peers, they have probably built an open-source terminal emulator, and they've labored in the same trenches, side by side for years. However, in reality, very few people teach themselves calculus, computer theory, materials science, economics (and don't forget ettiquite) with the level of rigor demanded by these positions. This is where the four, six or eight years of studying that "useless theory" becomes useful, even necessary.
I'm a self-taught techie with several certifications, facing this division. I'm 40 years old, and a Sr. DBA for a large firm, making a good salary -- end of the techie line. I've been courted for managment positions, which I don't want. I've got three B.S. and one M.S. degrees in various sciences, all from good schools, but no C.S. degree.
Over the past two years I've taken several C.S. classes from a good school - algorithm analysis, advanced data structures, automata, etc. I'll probably get an M.S in a few years, and maybe a Ph.D. after that, but more importantly, I'm learning all the little details that differentiate a computer scientist from a competent techie. There IS a differance, after all.