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.'"
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
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
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.
This is just the once-a-month self-taught vs CS-degree article to start a flame war. Seriously, enough is enough.
Self taught people are effective, but sometimes they do things that are traditionally dumb like build their tree upside down. They can come up with creative solutions (because by their nature they think out of the box), but stumble on things a university graduate would find basic because we studied it and they didn't. Many can't do pseudocode or understand what big-O notation means because you never encounter it unless you've taken an algorithms class. On the flip side, non-CS-degree people are behind a large part of the CouchDB and no-SQL movement because they weren't constrained by traditional thought.
If you want to understand how and why a compiler works, and how to build one, CS is for you.
If you just want to use one, it's probably not.
"If you want to understand how English works and how it came to be, linguistics is for you. If you just want to be a writer, it's probably not."
"If you want to understand how music works and is put together, music theory is for you. If you just want to play an instrument, it's probably not."
Do you see the problem here? You can't call yourself a professional writer of English (or any other language for that matter) without some knowledge of the grammar, morphology, semantics and pragmatics of it. No, you don't need to be a linguist to the point that you can diagnose speech delay in children, or construct your own conlang. But you need to know how your language works, and you need to know it well.
As for your specific example, even if you never consider writing a compiler, many (if not most) programming tasks involve at least some work that is compiler-like. For example, any time you need to write code which reads a file which has some structure, or implement a network protocol, you're writing a parser. If you don't know you're writing a parser, you'll inevitably write a bad parser which will either cause your code to die an obscure death, be a maintenance headache for years to come, or require a rewrite by someone who did study CS.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
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.
"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