How Important is a Well-Known CS Degree? 1280
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 doesn't matter in 99% of the cases. (Score:5, Insightful)
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
Not very when I graduated... (Score:5, Insightful)
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.
Are you learning? (Score:5, Insightful)
If you are learning, stay exactly where you are. You don't want to discover how horrible it is to attend class after class, year after year, and be learning nothing. I'm currently studying at a well-known university that's crashed a probe into Mars. But reputation and content are two very different things. As long as you're learning, stay where you are.
Besides, your university credentials are mainly useful in getting your first job. After that they are more interested in your previous jobs. So at worst an unknown university will just add one stepping stone on your career path.
Trust your Instincts (Score:5, Insightful)
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.
Just my opinion... (Score:3, Insightful)
Connections are all that matter (Score:3, Insightful)
My college math prof.'s wife had a computer programming company; that's how I got my first job.
You're not going to be rich. You're just going to be a working stiff like everybody else.
Still, I'd listen to your dad. A really boring degree is a plus. It communicates to the rest of the world that you are willing to do will shit boring things, which is the value they're looking for.
Major in Business and take a lot of programming courses.
it doens't matter at all (Score:4, Insightful)
i had one of the worst graduating GPA's in my CS class, but i managed to get one of the best jobs out of college. why? becuase of what i knew and what i did on my own time.
college simply teaches you how to teach yourself. if you are basing how you will do off how you do in class, then you are in for a suprise.
if you can teach yourself the new technologies and get your name out there somehow, you will be set.
but then again i am planning on getting out of the tech field in 2 years so take it for what it is worth.
Two words for ya... (Score:5, Insightful)
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".
Answer: (Score:3, Insightful)
Not that my CS degree from UCF is all that prestigious.
Well, speaking from experience.. (Score:5, Insightful)
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.
Learn your craft (Score:3, Insightful)
If you are a moron, you will not learn at the best of universities.
If you are gifted, you will learn at the lowest of universities.
You would be FAR better served by going to a school you can afford, that you may spend your time learning rather than working to earn enough to go to school.
If you want to build up your resume, work on projects that you can point to - being a contributor to, or better still the maintainer of a well known project will look much better on your resume than a degree with no other experience.
I'd be more concerned about trying to find a good internship during your summers off - that counts for a lot more when looking for a job.
it's just one part of the difference (Score:3, Insightful)
Employers weigh up the total sum of what you present in a CV. Other issues can outweigh you having going to a top school, e.g. track record. Additionally, going to a top school is no guarantee that you're a top student. However, when the employer weighs things up, a better school adds to the overall point count that leans in your favour, especially in comparison to other equivalent candidates (similar experience, different schools, for example). Even if you are "fresh paint" as a graduate job seeker: other issues count (e.g. you could come from a mid tier school, but you show that in the last 3 years, you've a passion for software that meant you contributed to multiple F/OSS projects, and you know your way around CVS, tools, unix, etc: employer will know they are getting a really capable and hands on person, not just someone who did well at exams).
Like most things in life: do your best to work at the highest level (i.e. going to the best schools, etc), but don't deprive yourself of a life in doing so.
hmm (Score:4, Insightful)
The question of whether you should transfer or not is one you make AFTER you get accepted.
I would recommend you don't transfer to a slightly better school. If it's not top 5, I'd stay where you are.
Computer Programming != Computer Science (Score:4, Insightful)
No you haven't. You may have been interested in computer programming since age 11, but you didn't even know what computer science was, let alone have any interest in it.
Not that there's anything wrong with this; the world needs plumbers and electricians (and computer programmers) as much as it needs writers, mathematicians, and computer scientists. But this is one way the well-recognized undergraduate computer science distinguish themselves from the programs at the College of Upper Podunk. A good university will teach computer science, and expect you to work out how to write code on your own; a bad university will teach you how to program, and not even admit that there is anything more to learn.
Decide what you want from your years at university, and pick your university accordingly.
The knee jerk responses with my own thoughts... (Score:5, Insightful)
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.
Re:Experience is key... (Score:5, Insightful)
Getting a job that matches your particular skillset is easy if you're good at what you do, degree or not. But getting a job that may deviate from your skillset, but still exists in the same general area, will be impossible without the degree, but may be reachable with it.
As for schools, in my experience, the only schools that have been looked at with derision are the known degree-factory schools, particularly online and "nationally accredited" schools like the University of Phoenix. If the school sounds like a traditional university, it probably doesn't make a whole lot of difference which one it is.
Oft heard, but bullshit: Experience is key... (Score:3, Insightful)
You may see "or equivalent experience", but that's not most employers first choice. 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. Likewise, between the guy with a second tier state university CS degree will lose to the guy who went to a big name public university or well know private university.
Sorry, but it's a tough market out there, and if you ever want to be more than just a coder making half decent monkey money, you better go for the well known school.
Re:Experience is key... (Score:5, Insightful)
Re:Experience is key... (Score:1, Insightful)
Re:Experience is key... (Score:4, Insightful)
In my experience, developers with a CS degree have a much better handle on the underlying concepts; however, I'm not sure that a degree from a big school makes that much of a difference.
State Schools are cheap, spend the money on a BMW (Score:3, Insightful)
I bought a brand new subaru impreza WRX when I got out of school with the money I saved. I have no debt from college.
It took me a year to get a job, but I blame that on my poor planning (I didn't have an internship) and crappy market (got out of school 2002). Now I've been working in the Boston area as a software engineer writing web-based apps for about a year.
Keys to a good job are usually location (Boston, great; Boise, eh), interview / personal skills, and prior experience. No one ever really asks about college so much, as long as they know I did my time.
As far as what you get from the quality of professors, I find that varies. There were great professors and horrible ones. What I did learn is that if you put in the extra effort, you'll get way more out of it.
Don't go into debt. (Score:5, Insightful)
You'll hear lots of people telling you about the value of name schools, the need for "networking" and other such hoo-hah. And often, they'll try to convince you that it's worth $30,000 in debt to get a top-tier undergraduate education. Don't buy it.
Remember -- at the undergraduate level, most schools will teach you the same things (oftentimes, from the same books). So why pay out the nose for an education that can be obtained for a fraction of the cost of a top-tier university?
Save your money, keep yourself out of debt, and you'll have more options later on. That's doubly important today, where Punjab's willingness to work for 30 cents an hour will almost invariably trump an expensive diploma....
Depends (Score:3, Insightful)
Note that the above is a blatant stereotype to make a point -- obviously the sentiments expressed are not exemplified by the majority of CS students anywhere.
Are you going to school in order to create a career for yourself that you enjoy and are passionate about? Are you going to school to impress friends, relatives, or potential employers? It cannot be said enough that the school's reputation has little bearing on the competency and attitude of the students. Employers are looking more for a positive attitude, appropriate skills, and a good investment for their company.
I know some folks who are currently in their undergraduate CS study and say things like "I could teach these classes! The only reason I am doing this at all is because the 'stupid' rules say I have to get a bachelor's degree before I get that Ph.D." Meanwhile, they are getting C's in those "easy" classes because their goal is the piece of paper and prestige (ego) rather than pursuing an activity or career they can be passionate about.
My best professors (in CS and otherwise) were those that began their careers in 'industry' and had a passion for engineering or CS and had excellent communication skills before moving into teaching/academia. Real-world experience is so much more useful than 'book-smarts' most of the time. (That's not to say that these professors weren't book-smart, too!)
Re:Experience is key... (Score:3, Insightful)
While it might not matter all that much for standard entry level joe-programmer jobs, it most definitely matters in areas such as research and advanced development work. Take a look at the backgrounds of people who work for Google and any major research lab, for example. You will find a majority went to top-10 institutions.
If you can transfer to a better program, you should definitely do it. Not only does it improve your job prospects, you will probably learn more due to better teaching and resources. And don't underestimate the value of simply being around people of higher caliber.
Re:Computer Programming != Computer Science (Score:2, Insightful)
I think you missed the entire point of his question.
Re:Oft heard, but bullshit: Experience is key... (Score:5, Insightful)
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.
The degree matters, the school doesn't (Score:4, Insightful)
Very few people, employers or otherwise, care about where you got your degree. All they care about is that you have it. There are times when an MIT or Harvard degree will carry more weight, but they're the exception, not the rule.
Doubt it? Try this little experiment. Your post implies that you're somewhere in your teens, which probably means that you've had at least a few different doctors (pediatrician, dentist, and GP, at the least). Do you know where any of them got their degrees? Do you care? Probably not... all you care about is that they did get an education. And these are the people whom you entrust with your health, your well-being, and potentially even your life. For most of the rest of society, it's the same way.
Re:I doesn't matter in 99% of the cases. (Score:5, Insightful)
If you attend a prestigous university, you will know important people who will offer you a job. There will also be more jobs nearby related to what makes the university prestigous due to successful alumni.
Re:Experience is key... (Score:5, Insightful)
And then there are the people who leave the military in a box and enter a hole in the ground.
Joining the military is a serious commitment. It is not a job training program.
Re:Trust your Instincts (Score:5, Insightful)
Learn program design, not just programming... (Score:3, Insightful)
If you can find a college where they have this material, well done! 50% of programming is having a good design. That's what makes the difference between a senior software developer and a... (despective)programmer.
A "programmer" can plug bits and pieces of code, drag some icons and have a visual basic program. A developer knows how to abstract data, ENGINEER applications, frameworks, and make a very good job, saving time and money.
This will give you a huge advantage over your competitors, when you start looking for jobs.
Also, do NOT be conformed with what you learn on school! If there are additional courses at college, say, a new programming language, or a new framework from X or Y company, do NOT - repeat, do _NOT_ ignore them just because they're not required for your grades!
This mistake costed me 2 long years of unemployment (and the subsequent stress and stomach aches) after graduating.
Re:Experience is key... (Score:1, Insightful)
Re:Trust your Instincts (Score:5, Insightful)
That sounds like a trade school, not a CS degree! I freely admit that I am biased - I did my undergrad degree in pure mathematics - but to a certain extent University is about learning for learning's sake. If I want to know SQL I'll pick up a book on it - I in fact did so in my first job out of school, and had no difficulty.
I would suggest you spend time at University learning what you find interesting, and learning what you find hardest. If it is hard, you'll be harder pressed to pick it up easily later. Many people here will tell you they are self taught at programming, UNIX, networking etc. Few will tell you they are self taught at the harder more abstract points: data structures, information theory etc. Personally I think a good CS degree should contain a healthy dose of mathematics - but as I said, I'm biased.
Jedidiah.
Re:Computer Programming != Computer Science (Score:5, Insightful)
Important! It's a tough market, indeed! (Score:1, Insightful)
Sorry, but it's a tough market out there...
I think this is a very important point. Right now, the market for coders is very, very tough. I see a lot of people posting here saying that grades don't matter after your first job and how the technical interview is way more important that how you did in school and all that jazz. I humbly suggest that all those comments might be true in a decent market. But the market is pretty bad right now and if you want any kind of a decent job, I would suggest that you make yourself look as good as possible. And that involves getting as impressive a degree as you can. As someone else noted, your academic credentials are going to be used by HR as a bulk filter to cut down the 100s of applications they receive down to a manageable number they can forward to the technical people. You may have lots of impressive experience and may be great in a technical interview but how is some overworked secretary in HR going to figure out what a genius you are?
School more important than the degree (Score:1, Insightful)
Top schools pre-screen individuals for smartness and potential far better than any recruiter I've ever hired to screen resumes for me. I don't care if it's a computer music degree PhD dropout or a electrical engineering BS -- if it came from Stanford or MIT, I know the guy's smart.
However even with a BS from U of Springfield, a MS from U of Old York, and a PhD from North Virginia; and the best recommendations of a recruiter I have no clue if it's a smart guy or not.
Knee-Jerk Reaction != Witty Response (Score:2, Insightful)
It's more the grades, than the school (Score:3, Insightful)
Otherwise it depends on what you plan to do with the degree. If you want to work in the MIT AI Lab, then you better go to a name program and get perfect grades. If you will be happy being a developer somewhere writing financial software, then I don't think it matters.
I also think that showing people the practical things you did while you were in college, not just class work, matters. I wrote a FORTH compiler (while, interpreter, really) from scratch and I think that impressed people that I could apply all the theory I had learned.
Re:Oft heard...whatever! (Score:4, Insightful)
Almost as important however is the which path within the IT world do you want to pursue. If you're looking to do more than code then finding a school with an IT department within a school of business might be helpful. If you want to specialize in graphics then look for a school with a good program involving fine arts or engineering.
So don't get downhearted about being at a so-called "second-tier" school if that school offers unique or interesting paths to follow.
I went to a small state school and my first job was at a Fortune 50 company! I've transformed that into a very good upper management job at a well-known international company in less than 10 years.
Re:Computer Programming != Computer Science (Score:5, Insightful)
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.
Re:School more important than the degree (Score:2, Insightful)
I have a 6-year Chemistry degree from a CSU and received a FAR better education than 95% of the undergrads at UCLA and UCI. This is primarily because PhD's teach even the 100-level courses at CSU, rather than some random graduate student who may be 1-2 pages ahead of the class. It also has a lot to do with the fact that any research work you do at a UC will consist mostly of "washing dishes" for graduate students. I published 3 papers before I ever got my B.S. degree.
So maybe people shouldn't be so quick to judge students by the name of their Uni...
Limited impact (Score:4, Insightful)
I don't have a degree, and I'm the most senior and highly paid developer at my company. I won't tell you that not having a degree hasn't hurt me -- it has, mostly by making it much harder for me to get that first "real" job, and obviously, there are some companies that won't consider me. But I also do a lot of the hiring around here, and I can tell you that I don't pay too much attention to where new hires got their degree; I pay a lot of attention to prior work experience, code samples, references, and demeanor during interviews. I've worked with some people with degrees from prestigious schools who were terrible programmers and horrible coworkers, and I've worked with great programmers who were fabulous to get along with who had two-year degrees from local community colleges.
If I were you, I'd stay put. Of course, if your dad is going to foot the bill for a fancy school, you might consider it. Otherwise, the massive burden of student loans for that sort of thing might be a lot more trouble than it's worth.
value of a top program (Score:3, Insightful)
First, you'd be in the company of much brighter, more driven, higher-achieving students. If you're really into computer stuff, then this could be fun, motivating, and extremely educational-- classes and professors aside.
Second, stronger programs are more likely to focus on ideas beyond mere software development: the theory of computation, algorithm design, and mathematics. Now, if you just want to build mundane user interfaces, this would all pretty much be a waste of your time. However, if you're interested in doing work that involves some level of challenge beyond just structuring the software itself and getting algorithms out of a book, then this stuff can be really useful.
You could graduate from your current school, work for a while, and-- if you decide you need deeper knowledge-- go get a master's or PhD somewhere else.
Re:Trust your Instincts (Score:5, Insightful)
Plus, calc makes a lot of the other things seem easier, particularly discrete math (hey, if you can comprehend infinitesimals, discrete math is *easy*) and stats (understanding why statistics are the way they are is as important as understanding how to use them).
Re:Two words: grad school (Score:2, Insightful)
I also believe it's the student, not the school. The really top-flight CS schools (e.g., Berkeley, CMU, Stanford, MIT, CalTech, Cornell) can help give you a boost, but mostly you're going to have to teach yourself anyway. If you're top-notch material yourself, you should concentrate on kicking butt at whatever school is most affordable for you and graduate debt-free.
Re:Computer Programming != Computer Science (Score:3, Insightful)
Of course, one of my bosses (graduate of the smaller school) was blown out of his mind when I showed him some existing code that I could improve from O(n^3) to O(n log n). He was even more surprised when I could prove it to him.
I would beware of these types of differences.
Different schools have different reputations. I would talk to some local employers and see what type of reputation your school has. Maybe your father is right. What's best for you is going to depend on what type of job you want in the long run.
Re:Computer Programming != Computer Science (Score:3, Insightful)
As you've said, the world needs programmers. I would guess that 95% of the software industry's developers could be classed as "just programmers". Most of them wouldn't know a deterministic finite automaton from a turing machine. Most have never needed to.
The other 5% are not Computer Scientists, however. They are real Software Engineers. They have more in common with Mechanical Engineers than with mathematicians. They usually know enough real CS to get by, but that is not their focus. They get paid the big bucks.
Practicing Computer Scientists are rarely found outside of the ivory tower. There are very few industry jobs for those who want to do real CS.
So if you want a job in industry, I would suggest that you learn how to program in school, and get a degree. I don't think the school's name really matters that much.
If you want to go the extra mile, find some good books or upper-level classes on Software Engineering. Learn that.
Don't sweat the theory too much. It might help in interviews, but is otherwise only occasionally useful in the day to day life of a software developer. Personally, I think it's fun to know, but that's me.
Grad School (Score:2, Insightful)
That said, a bachelors is becoming the minimum an employer expects of a potential employee, aside from interns. If you really want to succeed or are interested in computer science, you should look into going to grad school and getting at least a Masters degree; that way you can get your CS bachelors degree wherever and then you can go to a more prestigious grad school.
Re:I doesn't matter in 99% of the cases. (Score:3, Insightful)
Still, the bigger name degree will always stick out at an interviewer. In my opinion, the FP might as well transfer (or try to transfer) to a more elite school, if he can.
Re:Trust your Instincts (Score:2, Insightful)
One of the professors who taught the bulk of the math-heavy CS classes I took repeated this mantra frequently: "If you can learn to program properly and do well in one language, you know everything you need to work with any other language, ever. Once you know the principles of good programming, the rest is just variations in vocabulary and syntax". Sure, there's more to it than that, but the basic idea behind that statement seems sound.
Re:Experience is key... (Score:3, Insightful)
It is similar enough to any other Turing machine on a piece of silicon to be a useful academic example.
An accredited CIS program teaches a bit more than Pascal.
Re:Oft heard, but bullshit: Experience is key... (Score:2, Insightful)
Re:Experience is key... (Score:5, Insightful)
And Monster.com is where you find the -ahem- monster jobs.
DISCLAIMER: I'm an independent consultant.
In my experience, the good jobs, the real jobs, the ones that you really want to get don't come from job sites or the newspaper.
No, the good jobs are filled out on the golf course, or over fine wine at dinner, when two executives meet for business/pleasure.
The job interview really goes something like "Hey, one of my networking guys just got married and is leaving the state. Do you know anybody good?".
The words that follow that question are crucial. You should be ready to sacrifice animals to the higher gods to have your name follow such a question.
If the responding executive recommends you, you are almost guaranteed the position. You'll walk in with coveted status. You'll be appreciated for doing good work. And, you'll be paid decently without complaint.
It's OK to ask people you work with if there's anybody else who might need your services. If you're good, they'll actually mention your name prior to you meeting the referral, or meet with the referral with you.
And that's gold. Pure, and sweet.
Job? Newspaper? Website? There, you're guilty until proven innocent. You get no respect, as you are just a commodity easily compared to thousands of others. Every dollar you earn is "an expense". Yuck.
Referrals, baby. That's the ONLY way to fly. (and it's the ONLY way I've EVER promoted my myself!)
Re:Two words: grad school (Score:2, Insightful)
Re:Oft heard, but bullshit: Experience is key... (Score:5, Insightful)
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.
Let's be blunt, here. (Score:4, Insightful)
In practice, most jobs'll look for certifications and maybe a degree as an afterthought. They're not interested in your actual knowledge, they're only interested in not being held accountable if you don't work out.
Lastly, you're going to get rotten jobs, whatever education and certifications you have. Most jobs are rotten. Especially in IT, where most companies are plain stupid. Many IT specialists and generalists stick with getting a well-paid job, rather than a useful and/or productive one. There are exceptions (eg: my current employer, where a number of key people read Slashdot) but for the most part, if you want an intelligent job, you need to work for yourself.
Oh, and stay out of the military, if you possibly can, even if you sacrifice Government jobs, loans, etc. IT professionals are snobby in their own way and have far stronger ties with intellectual pursuits than grunt work (with the exception of hauling servers and running cables, though you'll notice most IT staff "let" other people do such stuff, especially in public). Also, whenever there's a call-up of reserves (as at present), businesses lose out big-time. You can't get useful work from a person fighting in another continent. Nobody is going to hire you, if they think you'll cost them more than you'll make for them.
Also, many intellectuals and many higher-end IT professionals tend to be left-of-center, non-conformist and don't follow rules (without a major internal struggle). Exactly the opposite of what most militaristic and Government-oriented organizations want. In IT, you're there to get the job done, and if the rule book gets in the way, too bad. In something like the military or the civil service, you're there to follow the rules to the letter, even if that means nothing gets done.
My advice: Get the degree (and if you can get sponsored for a Masters, even better) but don't go for a PhD. Even if (and it's a big if) you get paid more for it, the cost of the degree and the cost of not earning for those extra years will often make it pointless.
After you've got your degree, get a certification. The program itself is likely to be pretty useless, but the scrap of paper at the end of it is worth a lot of money and improved job opportunities.
Don't get a student loan, unless you absolutely have to. Sponsorship is generally a better bet, doesn't charge interest, and the demands aren't quite so obnoxious. Businesses looking for new graduates and looking to expand in the medium-term will very likely be willing to consider some sort of deal. (eg: internship over the summers, plus a guarantee that they get first-pick on whether to hire you, after you graduate, in exchange for contributing towards the costs.)
A more dangerous path - but it's worked for some - is to ignore the whole degree/certification approach. Become famous or infamous for something so spectacular that even the most dim-witted of Human Resource people will know you're in the news, even if they don't know why. Few can pull this kind of an approach off, and several of those have spent years or decades in prison (eg: Kevin Mitnick) but those who succeed often get the Really Big Money. Those who fail will never move beyond minimum-wage jobs and will eventually die in obscurity and poverty. It's about the same kind of risk as staking not only your entire life's earnings but all potential future earnings as well on the lottery.
Here we go again (Score:5, Insightful)
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.
Re:Experience is key... (Score:4, Insightful)
Re:School more important than the degree (Score:4, Insightful)
We have a winner. Where you go to school matters! The better the school you go to the better chance you have of getting a good entry-level job in your field which, in turn, jump-starts your career IF, and ONLY IF, you take advantage of this opportunity. Where you go to school is NOT a permit to rest on your laurels for the rest of your life. (Unless, of course, you dropped out of Harvard and started a small software company in Redmond, WA...or whereeverthehellmicrosoft was founded.)
Also, college is not a vocational school. College is an evironment where people hone their skills at critical thinking and reasoning (and socializing, but that's a different discussion.) You choose your vehicle to do this by picking a major that INTERESTS you. I know quite a few English and History majors that were pulling in $100,000+ per year two years out of college as analysts for Wall Street firms.
Where did I go? The College of William and Mary.
What did I major in? Chemistry.
What do I do now? Not Chemistry. I'm in IT and do project management for large, global infrastructure projects.
While where you went to school won't necessarily get you the job, it will improve your chances of getting your resume looked at.
Granted, I never really leveraged where I went to school, even for my first job.
--Mike
Re:Experience is key... (Score:4, Insightful)
I'm totally self-taught. I've had to do a LOT of catching up on my own to learn the underlying theories behind good software design. If I had stuck with CS in school and stayed in school I'd have learned more about CS theory and would have more of a foundation to build upon.
Having gone through a good CS program that covers actual computer science and not just how to code is a big advantage. The hard part of software is designing it and fitting it all together and a good CS program teaches you that.
However, so many CS degrees are just coding certificates, more or less. the guy opposite the wall from me is an idiot. He cuts and pastes all of his code, not even paying attention to what it's doing, has singlehandedly brought down many production systems and broken almost every build he's been involved with, and is just generally an unpleasant person aside from that. He also has a bachelors degree in CS.
The academic CS culture seems to devalue things like communications and, well, anything that's not geeky, so you get a lot of recent CS grads that still have the social skills of a retarded goat, even if they could rewrite the Quake engine from scratch in 48 hours. That's useless in the real world. A good programmer has to be able to communicate as well as code and design software. There's a backlash growing against offshoring because of this (if the backlash hasn't made it to where you are, I'm sorry)
Furthermore, pure CS programs teach you nothing about business or how to survive in the corporate environment. If you don't understand the business of your employer, you're not going to be very good at solving its problems. The corporate environment has to be experienced to learn to navigate it.
If I had a resume from a recent MIT graduate and a 25-year self-taught veteran, it would come down to what the task is, if I were hiring. I'd take the MIT guy for buzzword compliant work and the vet for mission-critical stuff that has to be near-100% reliable. I've found that veteran programmers make an effort to cover the bases more thoroughly.
Re:Trust your Instincts (Score:3, Insightful)
I have an EE degree, not a CS degree, but I took quite a few CS classes in college, and most of the work I do and have done since then (both professionally and as a hobby) have been programming-related.
I took one class in which the purpose of the class was to teach a language (C++ in my case). The basic intro CS class (CS 100) used Java as a teaching tool, and you could learn it as you went.
Other than that, I took classes in algorithms, structures, discrete math, OS design, etc. Learning languages is easy. Knowing C, I picked up perl in a few days (granted, perl is a constant learning experience). Knowing C and perl, I picked up PHP in an afternoon. Etc., etc. When I get around to it, I want to teach myself Lisp (or probably Scheme). I imagine this'll be a bit harder, but I have no doubt that I'll be able to do it, because my classes have given me tools I can use to learn anything I want.
Also agreed on the math: I went up through differential equations and linear algebra, but I wish I had taken some of the really hardcore stuff. You just can't teach yourself that kind of material, at least not within a reasonable timeframe, and you need a lot more discipline than I have.
What chance? Nil. (Score:3, Insightful)
Give up on the CS degree. Study economics, go to business school, and become a manager. Then hire lots of Indians cheap.
Here's the thing (Score:2, Insightful)
Suggestion: Don't go to college for a degree
We have been brought up in an environment where people have dictated to us throughout our lives that having a college degree will ensure your success.
This could not be further from the truth.
Now don't get me wrong, college will be able to teach you incredible things, in a fantastic environment with qualified staff and surroundings. But always remember that is why you are there, not for a piece of paper stating you "graduated".
What businesses look for:
I noticed in a post above that companies might want to hire you because you are more "flexible", this is garbage. Go look at job postings, take 10 random ones. They will tend to be pretty stinking specific. Look at it from their perspective: If they are going to spend money, it will usually be because of a direct need. "Hey, we need some Perl stuff done." "Hey, we need someone than can rewrite older programs into .NET." "Hey, we are in need of a person that can take a given WinSrv/SQL set-up and move it to Linux/Oracle." You'll quite rarely see a "Hey, we need somebody that can do stuff (we're not really sure, just a lot of stuff)"
What is becoming in demand:
Certifications! Again, look at those random job postings. Time after time after time you will continue to see more and more people caring less and less about college and more about certifications/experience. Look at it from their perspective: Take a guy who graduated with a MS in computer science, what does that tell you about his knowledge? Nothing. Take another guy, this one with CompTIA A+, LPI Level II, and a MCSE. What does that tell you about his knowledge? A lot.
But why?
It's one thing to have an accredited 4 year college put their stamp of approval on you. It's quite another to have the actual manufacturers approval. Sure my college could say: "yeah, this dude knows what's going on.", or I could be interviewing for a position in a Microsoft shop, and have Microsoft say: "This person has the knowledge to deploy and manage OUR software in a corporate setting."Always remember: A company is going to be spending money on someone, they want to be guaranteed that someone knows what they are doing. And as the progression of IT has made it, a degree doesn't match the power of certification.
Re:Experience is key... (Score:2, Insightful)
If you get some code monkey position with a software company that makes the same stuff over and over, you will never learn there how a processor is designed, how a compiler is designed, or how an operating system is designed. Since you don't know these things, you will NEVER have the same understanding of anything else. Unless I am mistaken and companies are now teaching their code monkeys all of these things... however I imagine they would rather have their monkeys spitting out redundant code.
Example: When writing in assembly or machine code, there are many instances that if you know how the processor is designed, you can change the order of a couple lines of code and it will run 500% faster, simply because of the order it moves things from register to register. This then effects the compiler which effects your coding. If you don't know about low level stuff like this, you will always be an inefficient programmer.
Re:Experience is key... (Score:3, Insightful)
It's not what you know, it's who you know.
Being geeks, I know it's sometimes hard to accept this.. but.. well, real world don't care if you accept it or not.. it's just a rule.
Being in a good school just gives you more opportunity to find people who may, say, more likely to be your boss, or help throw a resume in for you, or something. Not to say any other school won't do it, but people always get that sense of being together because they went to the same school - even if it was years and years later, and there would be no interaction otherwise...
It's all about the networking..
Better CS College = Better Preparation (Score:4, Insightful)
Re:Experience is key... (Score:2, Insightful)
First of all, there's no company to call to verify other important employee attributes such as attitude, being a team player, ability to work under pressure to meet deadlines, etc.
Another issue is how reliable they are. They could work on an OS project for years, but be the type of person that wants to start working at 10am and call it quits at noon. That doesn't cut it in the real world.
Re:Oft heard, but bullshit: Experience is key... (Score:3, Insightful)
There are alot of ways to get you in the door, and paper is probably the easiest of them. The most important thing is getting your resume read by the hiring manager.
Your resume can go through HR, which typically requires a degree. It can also get to them through networking/contacts (either they personally know you, or you share a common contact), which is more the experience route. 90% of applicants probably go through HR, though probably 50% of hires end up through the personal contact route.
Which is more important is really a toss-up, if you have a diploma it widens the possible opportunities; if you have personal contacts it increases your chances for specific opportunities. The best of both worlds is building your network and experience while in school. Classmates who are a year or two ahead of you, are great for building your network, so are internships and co-ops because those let you directly work with potential hiring managers. While studying for a BS degree you can easily end up with 2 years industry experience
Nonsense. (Score:4, Insightful)
I have been working without interruption for 15 years now.
And I have interviewed and be part of interview processes in many occassions.
The reaity is that the context is king. In some places they could not care less about your university degree or the school you come from.
In other places they did actively filter people from well known universities. In yet other places it was the other way around.
The only thing in common is that people had to demonstrate they knew their field, and the only case in which many places got really punctillious was in assesing skills (ridiculously complicated tests).
Very rarely you have two guys that, once properly assesed, score equally (if you are assesing the candidates properly that is, if you are just fooling around, then yes, paper may win, but I have seen in several occasions managers that lived to regret such carelessness).
Of course it matters (Score:4, Insightful)
CS itself is getting older, more mature. People are starting to understand that just knowing how to hack doesn't quite cut it (always). In short, going to a college and getting a degree in CS never hurts (as opposed to not getting one, not opposed to getting one in some other engineering field).
If we agree to the above - ie we must get a degree in CS or EE or math or something related, we question where we must get it from. College degrees are not pieces of paper that open the door to getting a fat job. This is one of the perks for sure, but there are others. They open the door to contributing something for the betterment of humanity (by doing original research), they open up your mind by forcing you to interact with peers who are often better than you. No matter what your job, you will fall into a mental rut as compared to school. A school is only as good as the students that study there. The students are what makes the MITs and Stanfords of today - not the professors. If the professors were getting sub-par graduate students to work with or sub-par peers they'd leave.
This is why it is absolutely essential to try to go to the best possible school you can go to. You will get exposed to things that you never were exposed to. You will learn new things from both professors and students alike. You will take part in activities that will challenge your mind in multiple dimensions - something quite unparalleled in the "real" world.
And you never know - you may want to do research for life. You may want to go on for a higher degree. In all these cases, the better school always wins. You can get by with going to a lower school - in fact you can "get by" with not going to school at all. But our purpose in life is not to just "get by". The whole point is to do something great - something that you can point your finger to 50 yrs down the line and say "I did that and changed they way people think / do something". Always strive for the best.
Re:Trust your Instincts (Score:3, Insightful)
Re:Experience is key... (Score:3, Insightful)
Also this works for regionally known schools. There are smallers schools that are well known in their area for having good alumni. It can have a similar effect, where you develop a bigger network, in higher positions, and more willing to help out fellow alumni.
I think its the small schools with lots of school spirit that help the most in networking.
Re:Computer Programming != Computer Science (Score:1, Insightful)
The key word is implement. Any monkey can do an implementation if you tell them exactly what to do. Implementation is what 90% of programmers do. You don't need any degree to learn how to do implementation, just experience or one of those 7-day training courses. Now, if you want to design a relational database server, compiler, or OS, you better get some real computer scientists with big-name credentials. Otherwise, you'll either reinvent the wheel, or invent a square wheel. The odds of finding someone with that interest and capability and without the big-name CS degree, while not exactly zero, is very close to zero.
I for one went to big name universities (Michigan/MIT) looking to be challenged. Whether or not it was actually challenging or of any learning value is besides the point. The point is that people with big-name university credentials are self-selected challenge-seekers, and this is the signal they give to potential employers. Of course, this is just one aspect of employability, and it is certainly not exclusive to top-10 graduates.
Whether or not you should transfer is a wholly personal decision. But by asking it in the first place, we know you are in the middle of the bell curve. Thus, at most you might be moving in that crowded range from C- to C+. For you, the credential by itself is not going to make a big difference in your list of considerations.
Re:Experience is key... (Score:2, Insightful)
I am 21, working in the bay area at a tech company, have been working since I was 15. I have more real world experience then many people around me. Though I am starting college in the spring because I see areas that would help me, I don't think it is right to pick someone purely because they have a degree.
Re:School more important than the degree (Score:5, Insightful)
I've also worked with fresh faced grads that couldn't think their way out of a paper bag. Or have the first job ego: "I produced something that actually works, I'm awesome!" And anyone who uses goto in anything but the most brain dead of situations gets a swift kick in the junk. I don't give a shit who the person is, someone is going to have to read that code, goto generally doesn't help.
Random Observations from a Non-Tech Person..... (Score:3, Insightful)
I'm one of those coulda-been techies. I did all the requisitely nerdy things in high school -- captain of my chess team, played M:TG, built my own computer, taught myself HTML, completely socially inept.....
Unlike programming, practical experience is not particularly valued (with the exception of court house lawyers, for whom experience and bringing home the bacon is the only goal.) If you want to work for an established law firm, a good school with top grades is a necessity. Of course, luck plays a role, and there isn't come cabal sitting in judgment over the 2nd tier / B / C students.... But I think this is true, especially when starting out. (Again, FYI -- I went into government myself. Much less emphasis on schools.... There's just a lot less asshol-ism among government attorneys then among many (especially the larger) law firms.)
The comparisons are striking. Only one state today even allows people without a legal degree from a certified school to even sit for the bar exam. Historical examples notwithstanding (for instance, many Supreme Court justices -- in addition to Abraham Lincoln were self taught), the idea of a lawyer not having at least an undergraduate and graduate degree is laughable. And the very fact that whether going to a big-name institution is even seriously debatable made my jaw drop. (Of course, there's also the possibility that all the big name comp sci grads are doing something other then reading
So, yes, this post does have a point. And it's this: our young friend here may -- shocking, I know -- decide he wants to do something else with his life other then program or design software. Maybe he'll find his great passion playing the violin or studying history or -- god forbid -- as a member of the bar. He needs to think not only about the profession that he -- as a sophomore -- envisions for himself, but also what other doors may be opened for him at other schools. All in all -- the very fact he asked the question indicates he's doing his homework. I'm sure someone this thorough and seemingly conscientious will thrive in a variety of academic settings. But not every field has the same laid back attitude towards educational background. Should he want to pursue an advanced degree in the humanities, or go into academia, or any number of other fields that don't share the laudable emphasis on merit that CS has, he may want to consider other educational options.
And one last little tidbit -- as much as I joke -- I love the legal profession. Law school was one of the best and most challenging times of my life and my job now is rewarding and fun. Sure, there may be more asshol-ism among the legal community then the community at large, but eh, I just don't hang out with those types. And the breadth of jobs I'd be considered for (outside the traditional legal roles) is astounding. Unlike a comp sci grad, lawyers are presumed to have the competence to practice in any legal field -- and usual
Re:Experience is key... (Score:2, Insightful)
They *can* be stuck up. But no more so, in my experience, than someone self-taught who's proud of the fact he didn't need anyone else to teach him.
Re:Experience is key... (Score:3, Insightful)
Re:Trust your Instincts (Score:3, Insightful)
The value of an undergraduate degree, even to an engineer, is in its liberal education. Learning to write well; to critically analyze another person's ideas; to gain broad exposure to a variety of fields to help make sense of the world; to learn philosophy to understand "life"; to learn how to learn; to prove to yourself you can commit to and finish a rigorous program of study. These are not skills you will necessarily use in the workplace at first, or ever. That does not mean they have no value: the skills are simply for personal development rather than professional development. If you think of college as a place to grow as a person, it puts a lot of things in perspective.
It is easiest to develop these skills when the students around you are also trying to develop these skills instead of just trying to coast through school for a diploma. Therein lies the value in going to a good school. I might be biased, but that's the impression I get from my friends going to CU Boulder.
They say youth is wasted on the young; perhaps college is wasted on those using it as a trade school.
One reply that'll get lost in the sea... (Score:2, Insightful)
I will agree that there are people who never did more than algebra who are some of the best leaders/thinkers out there, and there are others who have the degrees but aren't worth the oxygen they use hourly.
But there is no denying that most of the people who make it farther than the duties of a programmer/techie/etc are the ones with the social, management, and problem solving skills developed in those 8-10 semesters of schooling (in my case probably closer to 11 or 12 semesters...)
Re:Experience is key... (Score:2, Insightful)
I disagree. Here's an example of the educational difference: Where I went to college, there is a Literature class every semester on the works of Toni Morrison. At Princeton, there is also a Literature class on the works of Toni Morrison. The difference? At Princeton, that class is taught by Toni Morrison. Which students receive the greater insight into the author's ideas and themes?
Here's an example that may hit closer to home for Slashdot readers: At my colllege, in a comp. & cog. sci. class I had, we studied the research of Daniel Dennet. At MIT, students of cog and comp sci also study the research of Daniel Dennet. The difference? At MIT, those students study Daniel Dennet's work with Daniel Dennet.
So, go ahead- tell yourself that all you missed out on was the social network. While you're studying and lamenting (or not caring about) your social network, students at these institutions are learning at twice the rate (and 10x the price) with the assistance of primary 1st hand sources, their collegues, and their grad students who have also heard the story from the horses' mouths.
Re:School more important than the degree (Score:2, Insightful)
{
while(someOtherCondition)
{
while(someThirdCondition)
{
if(whatever)
goto breakOutOfAllLoops;
}
}
}
breakOutOfAllLoops:
printf("yay!");
Re:Experience is key... (Score:2, Insightful)