Is a Computer Science Degree Worth Getting Anymore?
snydeq writes "Self-taught technologists are almost always better hires than those with a bachelor's degree in computer science and a huge student loan, writes Andrew Oliver. 'A recruiter recently asked me why employers are so picky. I explained that of the people who earned a computer science degree, most don't know any theory and can't code. Instead, they succeed at putting things on their resume that match keywords. Plus, companies don't consider it their responsibility to provide training or mentoring. In fairness, that's because the scarcity of talent has created a mercenary culture: "Now that my employer paid me to learn a new skill, let me check to see if there's an ad for it on Dice or Craigslist with a higher rate of pay." When searching for talent, I've stopped relying on computer science degrees as an indicator of anything except a general interest in the field. Most schools suck at teaching theory and aren't great at Java instruction, either. Granted, they're not much better with any other language, but most of them teach Java.'"
Self taught and degree arn't mutally exclusive.
Most of the really good programmers I know were largely self taught. They probably did a lot of coding in their spare time through high school, THEN went on to get a degree and finally a job..
This is of course why there is a thing between getting a degree and getting hired .. it's called a job interview! An interest in programming prior to formal education is usually seen as a good quality and will put you ahead of a similar candidate who didn't know what a c++ was till his second year. You probably won't even get in the door at most places without the degree however... so still worth getting one until there is a massive (not just one recruiter) shift in thinking among the HR departments of the world.
Also university isn't just about learning a trade (that's trade school). It's about getting a rounded education in stuff you probably don't give a shit about, building non-technical skills that are important (writing for instance), proving that you can tackle non-trivial problems with minimal supervision, and proving that you can handle a certain level of stress.
The mercenary culture is a direct result of companies not sufficiently increasing wages for existing employees. If you want to avoid having talent leave, then pay them what the competition is offering, and treat them well. It's pretty simple.
Poorly written and full of absurd sweeping generalizations.
People are making a fundamental error in terminology here. If you're looking to hire someone for a programming job, then you shouldn't be looking at someone with a CS degree. Computer Science is not about coding or programming, it's about the practices behind it. If you want a coder, go hire a code monkey from your local technical college. If you want someone to design the software, make sure it's sane, and then hand it off to a code monkey, then hire a CS grad.
...si hoc legere nimium eruditionis habes...
I would not hire anybody who is "Self Taught". In fact, I looked at schools, GPA, the whole shebang. I want to see that someone has the discipline to go through the process, work with others, and actually see something through to completion.
Tattoos, piercings, etc-- Didn't matter, I had lots of good people that may look funky. Degree from a good school- Mandatory.
Your mileage may vary, but I think you deserve to hear the truth from somebody that has actually hired developers and managed them.
If you've got the chops for a real CS degree, you have largely the same options open for you with an electrical engineering degree, and a lot of other ones you'd be excluded from, too.
If you want to do applied math.. well.. I'd get a math degree and take some CS courses to bolster the programming. Discrete mathematics is just that. Math degrees aren't that common, and IIRC, sought after, especially in finance and statistical analysis.
CS is in an awkward spot. It never was meant to be a trade degree.. somewhere along the lines it was expected to be one. Hilarity did not ensue.
YMMV.
..don't panic
In fairness, that's because the scarcity of talent has created a mercenary culture: "Now that my employer paid me to learn a new skill, let me check to see if there's an ad for it on Dice or Craigslist with a higher rate of pay."
Actually, in true fairness people do this because most companies have no loyalty to their engineers are more than willing to ship their jobs overseas or give it to some less experience person so that they can pay the person shit wages while overworking them.
Of course it's worth getting; assuming the cost of the education is low enough. I believe the average person goes through 3 career changes in the course of his/her life. That's about 16 years in the field, give or take. We'll say the average income in the field is $50,000 -- just for comparison's sake. And let's say your education costs $80,000 (a not unreasonable sum, considering how quickly costs are ballooning). Now obviously because of interest rates and taxes and whatnot, this is an overly-simplistic estimate and I won't consider those -- but given the above, you'd be paying 10% of your income back over the expected life of your career.
The real question you have to ask is -- is the increase in income greater than the cost of the education? Now, obviously, the above numbers are overly simplistic, but it's a starting point to a more in depth analysis. I think you'll find that when all the variables are taken into account, a college education only delivers a marginal benefit to your overall quality of life compared to either trying to get your foot in the door without one, or doing a job that doesn't require one. At least in my country (the United States), with the middle class rapidly imploding due to greed and other factors... you probably want every edge you can get. Work the numbers carefully; If you miscalculate, your financial future is grim.
#fuckbeta #iamslashdot #dicemustdie
Um, what? We just went through the worst recession in years, and recent CS grads were still getting jobs without a whole lot of effort.
Now we're knee deep into WTF territory. If you have a CS degree, why the hell are you working an IT job?
There's no -1 for "I don't get it."
Self-taught, learned Basic, Pascal, C back in High School. Got a job and career without a degree, wanted to get a degree, thirteen years after high-school eventually got Computer Science degree.
From that perspective I can tell you that it only made me a thinking programmer (not just a coder), a program designer. Topics such as asymptotic analysis are indispensable. Those who do not have such a degree, I found them to be lacking in code quality.
Computer Science degree is absolutely needed.
Self taught and degree aren't mutally exclusive ... Also university isn't just about learning a trade (that's trade school). It's about getting a rounded education in stuff you probably don't give a shit about ...
I can't agree more. Learning on your own **and** learning as part of a formal degree program is probably the best. Most purely self taught tend to have gaps in their knowledge. They are just as smart, possessing the same raw talent and I have worked with many and would be happy to work with them again ... but occasionally gaps are evident. There are classes in a degree program that a person has no interest in and they are unlikely to study on their own. However these "uninteresting" topics are sometimes important or may provide an unexpected solution or insight into something you are working on.
I have only met one person who is purely self taught, reads computer science textbooks or the equivalent, and reads such books covering a wide variety of topics comparable to what one sees in a traditional computer science program. When I was working on my degree I borrowed Knuth vol 1-3 from this person, these were not vanity books for a bookshelf, they were all obviously read.
Most people do not posses the discipline to do it on their own. They will benefit from a formal program that forces them to do things they would not otherwise do.
I want to see that someone has the discipline to go through the process, work with others, and actually see something through to completion.
So what you're saying is, you're an asshole. You aren't hiring based on experience or ability, but because you went to school and therefore they should go to school. You say that you value someone seeing something through to completion -- but you can't fake ability or skillset for years on end. You can fake test scores, classes, hell -- you can buy yourself a degree online if you so desire.
But you can't fake job references. You can't fake supervisors saying "that guy really knows his stuff." You're a bad manager because you've made an assumption, you're operating on belief. That's what bad managers do. Good managers go on instinct and experience... and maybe, if you had worked your way into your position instead of having been handed a degree and slotted into it, you'd know that.
I have no respect for you, and I wouldn't work for you whether I had a degree or not, regardless of the pay. I work for managers who understand information technology is a creative profession, where skills change faster than courses can be designed to teach them, and experience is worth more than book smarts. I don't want to work with someone who can name all the layers of the OSI model but can't explain to me why having large buffers on the border router is a bad idea when it serves a call center.
And that's what you get with a college degree: Book smart. Not street smart.
#fuckbeta #iamslashdot #dicemustdie
Isn't this the same as every Jedi building their own lightsabre?
Nitewing '98
Everything works...in theory.
Employers want to hire people who can do really hard things, do them well, and not charge a lot for it.
Employees no longer receive pensions, and in the field of computer programming they expect to be completely un-employable at 40 years of age (not due to lack of talent, but to rampant unchecked agism). So, employees *need* to charge a lot for their work.
So what is the whine here? Fresh college grads don't instantly perform at the level of seasoned veterans? Boo-fucking-hoo. If you want top of the industry talent then you must pay a top of the industry salary.
Don't like the fact that employees aren't loyal? Take a good long look in the mirror there, mister "job-creator."
In my previous job my manager was asked to provide a list of keywords that would be used as a filter for resumes.
The list of keywords did not reflect what is in the advertised job description, so if you didn't guess the correct keywords, you were never going to get through.
More and more it's just blind luck if you will put in the phrases that are important, at the same time as writing something that will parse well enough to demonstrate good communication skills.
Employer here... When hiring, I look for two things:
1) Can they program? Simple question, really. I don't expect them to be all that proficient in our specific langauge, so I usually leave questions open ended in terms of tools used. I'm looking for general ability to approach a problem and come up with a reasonably structured, workable solution using whatever tools he/she desires.
2) Suitability to our company. Here, I'm looking to see that working at our company would actually be a reasonable match. If somebody's interested in big city life, they probably don't want to work at our company because we are in a small-ish California valley town. We do heavy doses of databases with SQL. So if your passion is 3D or firmware, I'm probably not thinking it's a good match, etc.
You'd be stunned how many applicants with otherwise gorgeous resumes cannot perform a simple string replace in any language whatsoever. Also, don't put something on your resume that you know nothing about, because I will ask. Don't tell me "5 years of Enterprise database experience with SQL Server" without being able to write a query or something. If you mention Linux, you'd better know basics like how to read output from ls -l or use find or sed with some grace.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
That's why the whole, "I have a CS degree but I can't get a real job because I don't have experience!" excuse is BS. Anyone worth their salt as a programmer who has a CS degree can MAKE THEIR OWN EXPERIENCE at ANY TIME!
Actually, that excuse is not bullshit in large part, but not because of the employers – because of idiot recruitment agencies. When I was looking for a job (thankfully, in work now), I had several recruitment agencies tell me I was insuitable because I did not have 5 years experience coding for the iPhone. When it was pointed out to them that 1) The iPhone API had only existed for 2 and a half years 2) I had apps in the store, making money 3) I had 10 years of experience coding for Cocoa on OS X, and a bunch of stuff before that, they typically came back with "yes, but those were all hobby projects, not actual industrial experience, we can't accept that".
You don't even know. MIT grads can be excellent, or not. I've known a few I wouldn't trust to do my laundry.
Dude, I had a BA in computer science and a decade in the field when I was washing dishes in a cafe and deli many years ago. That's a vast understatement of my qualifications then. I've cleaned the same grease trap over, and over, and over. Do you know what a grease trap smells like? It smells like fragrant death. I had to deal with the owner's daughter, whose sole gift to humanity was that she was born rich and thought that was a reason to beat me down. I used to pause while walking the mile to work in all weather here and there to vomit.
And at that time I had implemented LZW, designed my own operating system, programming languages, popular BBS forums, a platform for magazine distribution through self-executing e-zines, a streaming graphics protocol and a number of other things. Had been a Unix admin for a decade. Everybody involved knew I shouldn't be there but that did not change my life. And I guess that's OK. I had to survive to find the opening I needed to get out of that hole, and they needed things too. I'm not afraid of honest work. I managed to learn some useful things: I'm still a killer chef and baristo. I had to fight my way out of that hell.
Eventually I got lucky and got back in the tech game, and have since found a good spot for me. Ever since I don't assume things about others, no matter their situation or education. They have only to show me they can and will do the work, and they suit.
Help stamp out iliturcy.
Sounds like those mental midgets did you a big favor by not hiring you into their little circle of hell.
This space unintentionally left blank.
"Employees no longer receive pensions, and in the field of computer programming they expect to be completely un-employable at 40 years of age (not due to lack of talent, but to rampant unchecked agism). So, employees *need* to charge a lot for their work."
I see this complaint a lot on Slashdot, perhaps it's country specific (the US?) but in my experience it's completely and utterly false in the UK and is merely an excuse for people who just don't cut it, and simply haven't kept their skills uptodate, or are merely just crap employees which makes them useless, no matter how much they've done before. It's the IT world's equivalent of manual labourers whinging about immigrants - sorry, but if an immigrant beats you to a job despite you being native to a country with a better education system, and often a native language advantage then it's your fault for not taking the opportunities given to you whilst the immigrant managed to make himself the better candidate despite not having the advantages you did. Oh, he took less pay? tough shit, you were probably overpaid- no one thinks they're overpaid, but it doesn't mean they aren't.
Honestly, it's tiresome to hear, if you're good at what you do and are willing to put in the hours then no one gives a fuck how young, or old you are, what race you are, what sex you are. It's the same as the women who whinge about the glass ceiling whilst simultaneously saying "Oh, but I need to leave at 3pm every day to pick the kids up" - tough fucking shit, get your husband to do it or accept that that's the price you pay for choosing to be the member of the family who opts to do less hours.
I know plenty of 40+ and 50+ programmers and none of them are having a problem with employment because they're good at what they do, and they've kept learning continuously throughout their careers. I do know some unemployed 30-somethings who worked in software development, but they're all unemployed because they're simply shit, they are the bottom 8%. Others I know that age and younger are seeing booming careers because they're simply superb at what they do.
There still seems to be far, far more software jobs around than there are suitable candidates. If you find yourself long-term unemployed in this field for more than maybe 3 months and think someone else is to blame, then you're probably one of those people incapable of introspection, if you're incapable of introspection, you're not going to be able to look objectively at your skills and abilities and recognise why employers don't want you. Or to put it simply, you are the problem.
Most employers aren't stupid, if you're asking for a sensible wage, and are extremely competent, then they'll jump at the opportunity to hire you whatever the fuck other traits you have. Racists, ageists and other bigots thankfully tend to get selected out in the world of business, because their competitors that aren't bigotted will rapidly snap up the talent they didn't want, leaving them with the shit.
Um.. it's called an analogy.. and it's quite apt.
which is totally what she said
"yes, but those were all hobby projects, not actual industrial experience, we can't accept that"
That's why I created a "company" and registered a domain. I credit all my "hobby" work to that company. It at least gets you past the HR idiots and then you can explain things better to an interviewer. I don't "use Linux at home", I build HA web clusters for fun.
"The cost of freedom is eternal vigilance." -Thomas Jefferson
Fixed that for you.
Never underestimate the power of stupid people in large groups.
No, your inability to stand up for yourself and your inability to ensure you're talented enough to be able to jump ship from any such company that expects such a thing are the reasons you have to work an 80 hour week.
I've never worked an 80 hour week, not once, I wouldn't even touch an employer who expected such a thing and you're an idiot if you do. If you do, then that also makes you the reason you have to work an 80 hour week - because you're actually letting companies get away with such absurdity. If you don't like it then walk, go get a job elsewhere, can't get a job elsewhere? skill up, improve yourself, then go get a job elsewhere. The only thing stopping you working somewhere that doesn't expect you to work an 80 hour week is you.
If you're good at what you do, you'll be employable (no matter what the field, no matter what your age).
I used to believe that, too. Whenever somebody couldn't find a job no matter how hard they looked, I just said it was because they weren't head and shoulders above everyone else in the field. Then, when it happened to me, I changed my tune. I realized that just because you are really good at something and even if your last employer fought to the last tooth to keep you as long as possible, doesn't mean that you are employable, at least not in a down economy. In a down economy, a company would rather hire cheap below average performers than a guy who is expensive but could blow the roomful cheap guys out of the water in terms of performance.
If you are not allowed to question your government then the government has answered your question.