Slashdot Mirror


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.'"

120 of 630 comments (clear)

  1. I'll take getting a job Alex by Anrego · · Score: 5, Informative

    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.

    1. Re:I'll take getting a job Alex by White+Flame · · Score: 4, Interesting

      To pull out my standard Slashdot Car Analogy(tm), it's like a mechanic who knew nothing about cars before deciding that fixing cars looked like a stable career and went to trade school but doesn't tinker on his own vehicles because "that's work", vs somebody who's been under the hood of a cars since they were 13.

      Sure, those who enter the field later in life might be great at it, but your average worker in that position won't hold a candle to the one who was self-taught through driven interest, especially if they then went on to formal education in the field.

      Disclaimer: On the flip side, too many solo hobbyists don't know how to convert their hobby into professional work when it comes to demands, tradeoffs, and communication on the job.

    2. Re:I'll take getting a job Alex by macbeth66 · · Score: 2, Informative

      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.

      Interesting. But then tell me why I find that less than 10% of newly minted CS grads are worth a damn? They can't write ( English ), think critically, express themselves or code their way out of a paper bag?

      Give me a guy ( male or female ) who has a degree in anything else, or no degree at all, and worked their way through Corporate America and are articulate enough to describe the problem and I'll hire them. I'll even teach them the specific skills they need for the job. However, I stay clear of Java or Visual Studio only people. They have a truly warped and unrepairable mindset.

    3. Re:I'll take getting a job Alex by frosty_tsm · · Score: 5, Interesting

      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.

    4. Re:I'll take getting a job Alex by Mad+Merlin · · Score: 4, Insightful

      A CS degree is a requisite but not sufficient property to make a good developer. They also need a genuine interest in the field, which most often manifests as being self-taught before getting a degree, and continuing to self-teach after getting said degree.

      Purely self-taught developers will miss learning a lot of important topics, not because they're difficult, but because they don't realize what they don't know. In particular, data structures (anything beyond arrays), databases (and normal forms) and algorithmic complexity. I don't care how good you are with $language, if you don't understand the above topics like the back of your hand, you're going to make a mess.

      On the flip side, purely academic developers are typically going to have knowledge gaps in more practical topics like input validation, version control systems and bug trackers. Again, you can get by without these, but you're going to make a mess (or someone else is going to make a mess of it for you when they exploit it).

    5. Re:I'll take getting a job Alex by xtal · · Score: 4, Insightful

      ..and the point being missed is that you can be someone who worked on cars their entire life, have a mechanical engineering degree, too - those are the guys who work on F1 cars.

      The best candidates will have proper academic training AND drive. They're not exclusive!

      I grew up taking apart 8-bit machines, hacking opcodes in memory and messing with analog phone lines. First I wanted to know how stuff worked.. then I wanted to know WHY stuff worked.

      YMMV. It's not black and white.

      --
      ..don't panic
    6. Re:I'll take getting a job Alex by AK+Marc · · Score: 3, Informative

      Degree programs also teach basics that a self-taught person hopefully picked up, but may not have. There was one entire class on object oriented programming. Not "use an OOP language" but "here's C+, program this project in C+ using OOP best practices".

      There was also an entire class on assembler. Why? Because every program is written in assembler, the only question is whether it's assembled by hand, or there's a script (called "compiler") that converts pseudocode of some type into assembly code. Since you can call assembly directly in C, then you identify things C does poorly, and write it in assembly, then call that. It makes for remarkably efficient code, we demonstrated this in class with search and sort algorithms.

    7. Re:I'll take getting a job Alex by frosty_tsm · · Score: 3, Insightful

      At least from my observation, self-taught developers tend to stick with higher languages such as Ruby or Python rather than C or assembly (not a bash on their skill, just the tool they favor). Following this tendency, they would rarely run into a problem with C that requires them to call assembly code and they wouldn't miss this skill-gap.

    8. Re:I'll take getting a job Alex by Anubis+IV · · Score: 3, Interesting

      Entirely agree.

      Regarding interest, my company had an open house recently where we invited students in the relevant majors from the large university in the town we're in to come and visit. We had a decent number come through, and one student was telling us about a project he worked on this summer. After he finished up, we asked what he did in his spare time. His answer? "Homework". To him, programming wasn't just something he did for classes. It was something he did as a hobby and an interest outside of class. Guess which student a lot of us actually remembered the next day when we were comparing notes?

      Of course, the fact that he had an awesome and EXTREMELY memorable last name didn't hurt matters either (name withheld for obvious reasons).

    9. Re:I'll take getting a job Alex by kamaaina · · Score: 2

      Totally agree, its a passion for me and I have a BSCS.

      I originally went to school for a Civil Engineering degree, one of the requirements was a Fortran programming class, I really liked it and switched to a CS degree.

      School forced me to get a wider view of things and where I learned to step out of my comfort zone, I have no interest in being a DBA but learned SQL in school. If it weren't for school, I think I would have not gotten into Unix/Linux at all. I regularly step out of my comfort zone and learn things on my own like Android programming and the Arduino platform.

      Now I do Linux and virtualization at work, and I do it as a hobby at home too, I'm sure some here in the slashdot crowd are the same. I like to find out why things are a best practice, .

      Pretty sure some out there would say I don't have a life or I am going to burn out soon; right now at over 40, I feel blessed because I like what I do, am good at what I do, and there is a demand for my skills in technology, problem solving and planning. If I wasn't happy with were I am at, I could leave, I've done it before and picked up something new quickly.

    10. Re:I'll take getting a job Alex by ziggit · · Score: 2

      Of course there comes the awkward phase of solo hobbyist transitioning to professional work. I've been studying to get into Linux administration, and I'll get talking with some of my other linux-y friends about our latest projects and there's a definite breakdown. They're talking about playing with the latest distros, I'm talking about building a storage pool for a KVM cluster or something. we just give each other mutual blank stares and change the conversation.

    11. Re:I'll take getting a job Alex by Anonymous Coward · · Score: 2, Interesting

      Those people that pigeon-hole everything "Java" as some kind of disease... IMO have unrepairable small mindsets themselves.

    12. Re:I'll take getting a job Alex by XaXXon · · Score: 3, Informative

      Self taught programmers are often extremely weak in the area of algorithms and data structures. They solve problems with the tools they have, but they never had anyone to show them a whole additional set of tools to wrap their minds around. i.e. they don't know what they don't know.

      It's extremely rare that I interview someone purely self taught who can pass my interview and get a job offer. Their solutions are usually incredibly simplistic and naive.

    13. Re:I'll take getting a job Alex by ShakaUVM · · Score: 4, Funny

      >Of course, the fact that he had an awesome and EXTREMELY memorable last name didn't hurt matters either (name withheld for obvious reasons).

      Tip of the Day: Legally change your name to Edsger Dijkstra Tanenbaum Knuth.

      Junior.

    14. Re:I'll take getting a job Alex by SJS · · Score: 5, Insightful

      However, I stay clear of Java or Visual Studio only people. They have a truly warped and unrepairable mindset.

      Stay clear of anyone who is [anything]-only.

      Anyone who will only use one language will warp all problems to that language -- and worse, warp all solutions to only those that they don't have to think about. It doesn't matter if the language is Java, C#, C++, C, Perl, Python, Ruby, or COBOL. If they are only willing to code in one language, let them go.

      Nearly every accredited university offers "language survey" courses. This is where a CS degree can be useful -- the graduates have, in theory, been exposed to other languages. Bring this up in the interview. See if they can articulate the tradeoffs of various languages.

      Entirely-self-taught developers often require a lot of basic remedial training. I'd suggest investing in them only if they will spend their evenings completing a CS degree. For an intelligent and skilled person, this isn't terribly difficult. The ones to be careful with are the "Meh, I can't be bothered to obtain/complete a degree." types. They might be intelligent, and they might be skilled. But their ego is going to make a lot of work for everyone else, as that can't-be-bothered attitude is a sign.

      (Yes, there are lots of people who could only possibly succeed in an academic environment where the problem is carefully structured to be completed in five weeks by a mediocre and distracted person. This is where "what do you do in your free time?" comes in useful. One of the best teams I've ever worked on had "What are the last three books you've read for pleasure, and when?" as a key interview question.)

      As for the 10% effect ... Sturgeon's Law.

      --
      Pick One: http://www-rohan.sdsu.edu/~stremler/sigs/sigs.html (Note - disable Javascript first!)
    15. Re:I'll take getting a job Alex by zidium · · Score: 3, Interesting

      I run a technical trade school where people go to (learn how to code) and can vouch that the people who seek one-on-one mentoring and applied studies (as PHPU provides) end up surpassing college students by a factor of about 20 and even the self-taught at a factor of about 5x.

      After 4 years in operation, the average apprentice-level student who spends 3-5 hours a week studying and attending both group and individual training has had a $25/hour coding job within 3-6 months and a senior level ($40+/hr) within a year.

      Plus, the apprentices also earn far more valuable *work experience*. By the time they graduate under the full program, they've already received 2 years of work experience and are able to compete with people who have had 5-8 years.

      It's so cost effective, it's ridiculous. And with the apprenticeship program, you literally can get paid to learn.

      --
      Slashdot Valentines Beta Massacre: iT WORKED! The boycotts killed Beta!!
    16. Re:I'll take getting a job Alex by Greyfox · · Score: 5, Insightful
      Acing a programming interview isn't rocket science. Just take notes, ask questions that show you're listening and don't fuck up when they ask you to design a function that does X.

      People seem to have the most problem with the last one, so let me break it down for you: Do NOT go to the whiteboard and start coding. Do that and you have pretty much failed before you have even started. Start by asking some questions. Is it OK if X modifies its parameter(s) in place, or should it pass them in as consts and return by copy? (Usually X is something with a string.) Is it OK to allocate memory if necessary? Is it OK to return a copy or should the programmer pass a buffer? Should I worry about unicode? Should I use char*'s or strings (In the case of C++)? Is there anything else about X that I should be aware of? This is called "gathering requirements." It indicates that you're not just some code monkey. It would also be a good idea to write requirements down somewhere. Like on the whiteboard, maybe.

      At this point do not go to the whiteboard and start coding! Go to the whiteboard and a start analyzing the problem. Draw out your memory and look at what happens when you do swaps and things. Push variables around. Consider various methods of solving the problem and their advantages and disadvantages. Think about the loops you'll need to go through. Show the interviewer your train of thought. This is called "designing." It indicates that you're not just some code monkey.

      Once you've got that down a couple of them might still want you to code something, but you've already proven you're a man and not a cabbage or something. And even if they DO want code, it'll be easy at this point! You don't have to die on this question, people! Of course that still might not get you in the door at a Google or an Amazon, but that's still all you need at a lot of other companies.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    17. Re:I'll take getting a job Alex by TeknoHog · · Score: 2

      you can be someone who worked on cars their entire life, have a mechanical engineering degree, too - those are the guys who work on F1 cars.

      The best candidates will have proper academic training AND drive.

      I agree, it would be a shame if an F1 mechanic could not drive.

      --
      Escher was the first MC and Giger invented the HR department.
    18. Re:I'll take getting a job Alex by Fallingcow · · Score: 3, Insightful

      Man, if I had a nickel for every time I'd had to design a query language that doesn't allow queries which will have EXPTIME complexity...

    19. Re:I'll take getting a job Alex by wfolta · · Score: 2

      I can't answer for the other poster, but I can say that self-taught always leaves holes in your learning. You don't know what you don't know. I'm in that boat right now: I've been teaching myself statistics over the last couple of years.

      In terms of programming and the relative quality of self-taught programming, it of course depends on two factors: 1) How rigorous is the formal schooling, and 2) how explorative, disciplined, and self-aware is the self-taught programmer?

      The best programmers have used a bunch of languages, and their mind expands with each one. The best programmers worry about preventing or catching errors instead of coding straight-ahead without checks. The best programmers do a bit of intelligent over-designing, based on their experience with how projects morph over time. The best programmers consider working with others and worry a bit about maintenance and modification of their code. The best programmers learn to discover the user's NEEDS rather than their wants or their opinions.

      You can do this self-taught. You can do this with rigorous training. You can learn this with real-world experience. I certainly agree with other posters that someone who was doing programming on their own and then (but not too much later) gets formal training may be the best combination: someone who loves the field and has a knack for it, but has also had others helping to fill in their blind spots.

  2. Video killed the radio star by 2.7182 · · Score: 2

    I wish I had my pre-internet CS back, in many ways. In most not I guess.

    1. Re:Video killed the radio star by Potor · · Score: 3, Insightful

      I'm not a coder, but I did do CS in high school back in the pre-Internet late 80s. We first learned flow charts, then algorithms, then had to program functions on calculators, and finally got out hands on TSR-80s to write BASIC programs. The brilliance of this was that my education was not limited to languages, but rather to techniques and logic. And now I teach philosophy, and have a healthy fascination with computers.

      As a professor, I ask my students to do the simplest thing - writing blogs with decent lay-out. They have all the tools they need, and I offer whatever help they request. Yet, this Facebook generation often gets confused with the simplest of tasks, including uploading pictures outside of Facebook. The Internet, obviously enough, has dumbed down everything. Students no longer try to apply techniques, but rather to respond to interfaces.

      To bring this back on topic - schools need to teach the logic and the basic techniques - with those, one needs simply to learn a language, which is not that difficult.

    2. Re:Video killed the radio star by l3v1 · · Score: 3, Informative

      "To bring this back on topic - schools need to teach the logic and the basic techniques - with those, one needs simply to learn a language, which is not that difficult."

      I was in high school a bit later, in the mid-90s, in a math-CS spec class, and we got all that (we got 8 math classes, 4 programming and algorithm theory and numerical math classes, 4 programming labs per week), using 4 languages during the years (starting from all kinds of basic, followed by pascal, c and c++). Of course some of us were quite ahead of them in knowing programming languages before they began teaching them, but some of the theoretical stuff we were shown were quite on the level of what they taught us later during university years.

      From my experience then and later on, I can wholeheartedly agree with the parent post.

      Also, another - maybe interesting - information. From my high school class, 5 got PhDs, almost all (with one exception) got MSc/MEng/MA degrees, and about half of them work in CS or IT related fields.

      The high school wasn't in the U.S. though.

      --
      I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
  3. Mercenaries by asmkm22 · · Score: 5, Insightful

    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.

    1. Re:Mercenaries by Dogbertius · · Score: 5, Informative

      It is very difficult for the average worker when employers collude to artificially lower wages and keep dissenters unemployed:

      http://apple.slashdot.org/story/12/01/20/1433231/doj-investigates-google-apple-and-others-for-no-poaching-agreement

    2. Re:Mercenaries by Desler · · Score: 5, Funny

      Pay your employees decent ages and treat them well? That's fucking communism! GTFO.

    3. Re:Mercenaries by Anonymous Coward · · Score: 5, Insightful

      I think its fair to say loyalty is dead on both sides.

    4. Re:Mercenaries by Anonymous Coward · · Score: 5, Insightful

      Loyalty may be dead on both sides, but it's the business that creates that culture, because the business is (more or less) in the position of power. An employee can do little to create an organizational culture that is conductive to loyalty (short of being the CEO, but that's another kettle of fish)- the only thing an employee can do is vote with their feet. It's whoever is in charge of the management that does things like set salaries, policies for fair and timely promotions, employee development, vacation time, quality of the health care, work/life balance, etc etc.

    5. Re:Mercenaries by Anonymous Coward · · Score: 5, Insightful

      I am at the point now where if I am in an "at will" state, I will not give notice. The last place I worked that fired my entire team--and it was actually the fourth employer to do that, out of a total of five on my resume--gave us all of 3 and a half days warning before giving five dozen people the bum's rush.

      You want more than a mercenary? Treat your employees as a long-term investment rather than a profit/loss ledger entry. Otherwise, I will never stop sending out resumes, and will never stop looking for a better job. The instant I get a better offer letter, I will demand a raise, and rescind my agreement to your bullshit non-compete if you say no. Then I will burn all my accumulated leave days and resign the day I return.

      Don't give notice. Tradition be damned. If they want to hire you without a contract and treat you like a fungible asset, they need to accept the possible consequences of that. Don't. Give. Notice. If you want to be professional about it, put together a continuity plan that they can execute if you disappear.

      When *anyone* on your team is laid off, start looking for jobs. When ownership changes, particularly if purchased by leveraged buyout, start looking. When someone else jumps ship, start looking. Keep a current list of your (competent) co-workers with reliable contact info at all times, and don't be shy about trying to bring them along when you go.

      They want us to be mercenaries.

    6. Re:Mercenaries by Grishnakh · · Score: 3, Informative

      I work in an "at will" state too. At the place I worked before the last one, my entire team was also laid off, and with zero notice. I walked into work one morning, was told to go straight to a conference room, and we were given our pink slips right there. The company was Freescale Semiconductor.

      However, even though there was zero notice, the writing had been on the wall for many months. We knew the axe was going to fall, we just didn't know exactly when. The upper management had been bungling things so badly, for so long, pissing off their customers, and they finally threw in the towel and said they were going to exit this line of business.

      Was I mad? No. Because instead of trying to find another job before getting laid off, I was waiting for it. Why? Simple: "severance bonus". I got either 3 or 4 months' salary in severance bonus. (I think it was 4, because I had some accrued vacation time too.) Why would I want to leave before then? It was like a giant paid vacation. It was great: I got a giant check in exchange for promising not to sue them (and over what? I have no idea, but I wasn't arguing), so I could relax and take my time looking for a new job. I had a new one within a month or two.

      So I don't know about other companies, but from what I've seen and heard with the really big companies, getting laid off isn't that bad, because they cushion you well with a nice fat severance. It's certainly a lot better than "beating them to it" and quitting with no notice.

      So I'm sorry, I don't recommend quitting with no notice in most cases. Many times, the company will give you a nice check so you'll go quietly. And you may want to use one of your coworkers or your boss as a reference (as I did when I left that company, as I was on good terms with my supervisor).

      However, this doesn't mean you should never quit with no notice. If the company's run by a bunch of assholes and you're about to go out of your mind, I think it's excusable. It happened to me once. I don't expect to ever repeat that performance, but I'm not going to apologize for it, that place was just ridiculous. But I guess it taught me some things to look out for so I don't ever accept a job at such a crappy company again.

    7. Re:Mercenaries by Grishnakh · · Score: 4, Interesting

      This kinda reminds me of those women who refuse to date a man unless he's married, and their goal is to get the man to leave his wife and marry her. And then, when the man cheats on her with yet another women, she's shocked!

  4. Troll? by Anonymous Coward · · Score: 3, Insightful

    Wut?

    Making grandiose claims with no actual data?

    Yup. He probably didn't go to college.

  5. Poor article. by Anonymous Coward · · Score: 5, Insightful

    Poorly written and full of absurd sweeping generalizations.

    1. Re:Poor article. by Kittenman · · Score: 5, Funny

      Poorly written and full of absurd sweeping generalizations.

      Agreed. I've found most Slashdot articles (well, over 98% of them) have absurd sweeping generalizations. And some of them use odd-sounding comparisons for no reason at all, which is like putting pants on a dog.

      --
      "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
  6. CS != Coding by Strider- · · Score: 5, Insightful

    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...
    1. Re:CS != Coding by JoeDuncan · · Score: 4, Informative

      I second this. This is the crucial point.
      Would mod you up if I had any points...

    2. Re:CS != Coding by Anrego · · Score: 5, Insightful

      Personally I don't think they should be decoupled.

      My experience has been most people out of uni with a CS degree can't do either well. I'd rather someone in an architect role who worked their way up from code monkey and thus has a solid foundation in the realities of actual software projects (rather than someone spewing stuff out from their design patterns book).

    3. Re:CS != Coding by mooingyak · · Score: 4, Interesting

      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.

      I've met some guys who were decent coders but not very good designers, but I've never once encountered the opposite. I haven't seen much in the way of correlation between lack or presence of a degree.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    4. Re:CS != Coding by bp2179 · · Score: 2

      I concur. I am in my second year of obtaining my CS/Math degree w/ teaching cert. I get the same question, student: oooh, you can write programs. me: Nope, I don't like to program student: wait, then why are you getting a CS degree me: because I want to be more rounded around the science of computers and, and CIS or tech school is for coders student: you don't know what you are talking about. I get it at least once a week at the university (in the Engineering/Comp Sci building no less) I want to teach CS on a high school level, since jobs are scarce, and I cannot do it without a degree. This is more of a backup to working for DoD as my university has a NSA grant and certification. I learn pentesting and anything else I see that is relevant to Comp Security in my spare time (usually over the summer)

    5. Re:CS != Coding by Anonymous Coward · · Score: 3, Insightful

      If you want someone to design the software, make sure it's sane, then hand it off to a code monkey, hire someone language-agnostic with 10+ years of experience that hasn't gone down the management route. If you want someone to use state machines when an if/then/else would work and use Factory patterns for unsigned ints, hire that fresh CS grad with 4 years (Freshman, Sophomore, Junior, and Senior) of OOP experience.

    6. Re:CS != Coding by AchilleTalon · · Score: 3, Insightful

      I second too, and I would like to add the universities do not have a mission to teach about industry products. Their mission is to transfer universal skills applicable in many fields and the state of the art knowledge about a specific field. Teaching about specific products is a dead end for universities. Employers seeking for graduates with a knowledge of specific products just don't understand what a university grade is and hence, underestimate the value of these candidates by making their own judgement on unrelated points.

      Teaching about a specific product is the employer's responsability. And if your staff quit after that, as many others already said, probably you are, again, underestimating the value of your employees.

      Think about it two seconds. If universities are to teach specific products, which ones should they pick? Are they supposed to decide what products the industry must use in accordance of their own teaching or the reverse, must the industry decide what product a university must teach to conform to their own requirements? And what about the student learning specific products for which there is no job available?

      --
      Achille Talon
      Hop!
    7. Re:CS != Coding by Missing.Matter · · Score: 3, Informative

      Computer Science is not about coding or programming, it's about the practices behind it.

      I'd say that CS is even a step below that. I didn't address much foundations in programming in my entire CS grad career. I had courses in data structures, algorithms, graph theory, linear algebra, automata theory, discrete geometry, computer architecture, operating systems, graph theory, logic.... nothing I would really consider best practices in software development. I could develop an advanced algorithm for you, tell you its complexity, give you a detailed derivation and proof of correctness, but as for a particular software implementation and how that relates to a larger project my degree does not prepare me for that. That's not to say I couldn't implement it, indeed I could in a number of languages. I just don't assert than any generic CS degree confers any guarantees about one's ability in the practice behind coding, which I think has far less to do with theory than the more practical aspects of it.

    8. Re:CS != Coding by Pseudonym · · Score: 5, Interesting

      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});
    9. Re:CS != Coding by nightfire-unique · · Score: 4, Insightful

      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.

      My friend, they are one and the same.

      There is no such thing as a "code monkey." The term refers to someone who knocks out a lot of code (of varying quality). That's called programming.

      A good coder understands what every line does, and how it expands to CPU instructions. They understand why unrolling loops can avoid pipeline stalls. They understand O(n) and algorithmic complexity, clean API design, and memory management.

      Bad coders don't.

      Don't over-complexify the issue.

      --
      A government is a body of people notably ungoverned - AC
    10. Re:CS != Coding by Kagato · · Score: 2

      That sounds like something a certain type of Architect might say. You know, the kind of guy that will come up with some harebrained idea wrapped in a ton of design doc fluff and then when it fails shrug it off as someone else's implementation problem. Mind you I've met a lot of great Architect who don't do that, but I've also met a lot that can't code at all and try very hard to have zero skin in the game for the implementation. And when it comes to big applications you need to be much sharper on the fundamental underpinning than the code monkey.

      That being said, I think the OP hit on the problem, but the solution is a bit more complicated. We live in a world were companies would rather use "experienced" off-shore resources instead of putting the time and effort into properly training a college hire. There are folks are are fantastic coders out of college but they'd rather work for a start-up or go into consulting than deal with a corporate job that doesn't want to do any training.

    11. Re:CS != Coding by lennier · · Score: 5, Funny

      "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."

      That's exactly why Languages and Literature departments in universities are opposed warring camps.

      You Philistines over in Languages only care about the mechanics! You have no soul! Literature has as much to do with brute words as... as computer science has to do with telescopes! Besides, it's all about the deconstruction of the articulation of the biopolitics of the transgressive post-post-ironic feminist inter(de)mediation now. You'd never understand.

      Huh. Buncha latte-slurping coffee-shop hippies. Lets see you guys trek into Kazakhstan to catalogue the Indo-Ayran migration drift of the Mongolian antelope herders' nasal pluperfect tenses, or construct a crude field-expedient LL(R) parser for their iconographic system out of sticks and dead beetles. I did that last week. Had to kill a buncha snow leopards that got in my way.

      You think that's hard? Over in Library Sciences we had to convert our whole stack from Dewey to Library of Congress classification. At midnight. By hand.

      Hey guys! I'm the visiting speaker from the fiction writing workshop over in Adult Education! I've been writing professionally all my life and I just made a million bucks from my latest novel! Can I join in?

      (all turn and glare)

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
  7. As a person that has hired a lot of developers-- by Anonymous Coward · · Score: 5, Insightful

    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.

  8. Engineering was always a better bet.. by xtal · · Score: 5, Interesting

    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
    1. Re:Engineering was always a better bet.. by Dogbertius · · Score: 4, Insightful

      I'm still surprised that there are /.'ers cannot distinguish between the degree/career mappings that be. At least in Canada and the USA

      IT:
      -Learn: Active directory, Windows or UNIX servers, user management, e-mail server management, virus removal, setting up routers and VPN
      -Jobs: IT help desk, corporate IT, call centres


      Comp Sci:
      -Learn: Discrete math, basic programming, databases and DB theory, algorithm design, basic physics,
      -Jobs: University/academia, entry-level programming jobs


      Engineering (Electrical and Computer):
      -Learn: Calculus, discrete math, electrical circuits, electronics, materials, advanced physics, chemistry, economics
      -Jobs: advanced programming/development jobs, embedded dev, chip fabrication, academia


      Most IT programs in Canada are 2-year full-time/accelerated programs, while CS is a full-time 4 year program, and engineering is a 4-5 year double-full-time program. I still laugh when people are surprised that comp-sci majors know shit about removing viruses from PCs, while the engineering and IT students have been removing and even MAKING viruses since elementary school (ie: before they were 13 years old).

    2. Re:Engineering was always a better bet.. by russotto · · Score: 2

      I'm still surprised that there are /.'ers cannot distinguish between the degree/career mappings that be. At least in Canada and the USA

      Because it's not as cut and dried as you make it out. In particular, there are LOTS of C.S. people doing advanced programming and development jobs (in my office I could throw a rubber ball and hit several), and embedded development. Most employers looking for a software developer don't distinguish between C.S. and Computer Engineering.

    3. Re:Engineering was always a better bet.. by Pseudonym · · Score: 4, Insightful

      Comp Sci:
      -Learn: Discrete math, basic programming, databases and DB theory, algorithm design, basic physics,
      -Jobs: University/academia, entry-level programming jobs

      Engineering (Electrical and Computer):
      -Learn: Calculus, discrete math, electrical circuits, electronics, materials, advanced physics, chemistry, economics
      -Jobs: advanced programming/development jobs, embedded dev, chip fabrication, academia

      I love it how a CS degree gets you an "entry-level programming" job, but an engineering degree gets you an "advanced programming/development" job, as if someone will hire you as a team lead straight out of university.

      If you want an "advanced development" job, a CS degree will do just as well as a SE degree in the long run. The advantage of CS is that it will work marginally better for you if you want to do R&D rather than just D.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    4. Re:Engineering was always a better bet.. by O('_')O_Bush · · Score: 2

      CS typically covers algorithms and high level languages, things useful in entry level programming and application development (Java, "thinking outside the box"). ECE typically covers a larger number of more varied languages, signal analysis, parallelization with hardware, realtime systems, embedded programming (ISRs, VRAM on low clock processors), etc. Things that would be more specialized, much of the algorithm and OOP content that C.S. delves in to.

      In comparison, C.S. is very broad and shallow( OP's entry level) while ECE is deep and narrow (OP's advanced). Also, in the engineering school I was at, CS covered O.S. as their capstone, and was an elective for ECE, but an outlier compared to the other electives like Mechatronics and programming for networks.

      --
      while(1) attack(People.Sandy);
    5. Re:Engineering was always a better bet.. by ashpool7 · · Score: 2

      I think you're both using the word "advanced" where you mean "highly specialized"

  9. Apples and Oranges? by SA_Democrat · · Score: 4, Insightful

    The Author doesn't seem to make the point that he's trying to make. Computer Science degrees may not be a good predictor for coding in language-of-the-week, but computer scientists would not make the kind of dumb rookie errors that you see every day in the real world. I still shudder about a self-taught contractor who wasted weeks trying to write a sort. I'm surprised that an article as poor as this one made the front page.

  10. Derp? by kelemvor4 · · Score: 4, Informative

    [quote] that's because the scarcity of talent[/quote] Hogwash, no such scarcity exists. There is a scarcity of talented programmers that will work for minimum wage (inside the U.S.). But that's not really the same thing now, is it?

    1. Re:Derp? by ranton · · Score: 4, Insightful

      [quote] that's because the scarcity of talent[/quote]
      Hogwash, no such scarcity exists. There is a scarcity of talented programmers that will work for minimum wage (inside the U.S.). But that's not really the same thing now, is it?

      Whenever someone claims there is no talent scarcity in the software development industry, I am reminded of the poker proverb: If after ten minutes at the poker table you do know know who the sucker is, you are the sucker.

      If you work as a developer and you do not notice the severe level of talent scarcity, you are probably not talented enough to notice. I don't know you at all so I could be way off base in this one case, but I have never met a skilled developer who wasn't frustrated with the lack of talent in the industry.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  11. Description of most of my CS classes by Anonymous Coward · · Score: 4, Interesting

    I'm doing Bachleor's of CS now. In most CS classes I do the following: Look left, look right, look at palm, apply palm to face. I know most of these clowns won't make it to the end, but the fear of some making it is what keeps me up at night. To put it gently, the piece of paper is not enough. CS seems like one of the fields were you always need to take the concepts you learn, apply them, and take them further. You also learn more things not covered in the course, but that are in your book. Then you learn things not in the book. If you expect the average CS curriculum to turn you into a genius, then you have a problem. In addition to my studies, I provide supplemental in class tutoring in several CS courses at local community college. Now in their defense a lot of people in those classes are not CS, usually you get Engineers, and those that are usually have dreams of making video games because playing them is all they do with their time. But the most bizarre question I get after they learn a simple program is: "What can I do with this?" It's like you show a cavemen how to make fire, and they ask you: "What can I do with this fire?" It's like showing a cavemen the wheel and having them remark: "So what?" I just don't know how to answer this question properly. I have tried several responses.

  12. Mutually exclusive? by Axalon · · Score: 3, Interesting

    There are self-taught geniuses, and there are incompetent people with CS degrees. There are also "self-taught" people who think they're badass because they've taught themselves PHP and Javascript and lurk on IRC channels but can't do crap outside their comfort zone and there are people with degrees that used every resource available to them to become experts in their field. In other words, where they learned their stuff doesn't matter, but rather, what they've learned and how passionate they are about knowing their field. A self-taught person will almost surely benefit from learning in an academic setting, provided you're not going to some joke school. Universities help you learn by guiding your learning and giving you access to resources and experts in the field, but they don't instantly make you a master of the material. That's on the student. Yes, being self taught implies that the person has the drive to learn, but it's also limited by how well they can steer their learning. And that's what schools and professors are for.

    1. Re:Mutually exclusive? by Pseudonym · · Score: 2

      This is probably the most insightful comment I've seen on this thread so far. I wish I hadn't already commented, so I could mod you up.

      Here it is again for those who didn't get it: Good people with CS degrees are largely self-taught. That's what university is for. It's a place for people who want to learn to teach themselves. The advantage is that you get some of the best thinkers in your chosen field to guide you through the self-teaching process. And most importantly, they nudge you (sometimes gently, sometimes not) to teach yourself material that you didn't know that you needed to know.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  13. Fuck this asshat by Desler · · Score: 5, Informative

    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.

    1. Re:Fuck this asshat by Desler · · Score: 2

      I'll lower my standards when the people in charge commanding salaries 10 to 1000 times mine do so as well. I'm not going to be overworked and underpaid just cause some asshat thinks they're a saint for giving me a job.

  14. cost by girlintraining · · Score: 5, Interesting

    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
    1. Re:cost by xtal · · Score: 3, Interesting

      The analysis is more clouded than the pundits think.

      If you are average to slightly above, and risk-adverse, getting a degree is a logical choice.

      If you are above average, and entrepreneurial, chances are you will succeed no matter what you do. If the opportunity cost is not to high, a degree is a good bet.

      Those who do well with degrees are more likely to do well without them, on a different path - and that makes the analysis more difficult, as the variable is the opportunity cost while in school.

      Many moons ago now I thought about CS or physics but did EE instead. It was probably harder but left open doors to management and different careers that would not have been there otherwise. My sister was going to do Chemistry but I persuaded her to do do Chemical Engineering instead. That opened up doors to a PhD in Nuclear Engineering that would not have otherwise been there in a pure science track.

      If you want the practical, and you don't have a trust fund, then do what's practical, and that's engineering in a post-secondary, technology environment. If you have an engineering degree and are personable, you will not want for a job.

      Do what you love, not what is easy, the life will follow. Not my words but wise ones.

      --
      ..don't panic
  15. What do you want to do with your life? by the+eric+conspiracy · · Score: 3, Informative

    Sure you can do coding without a college degree, and make a good living. Quite a few people I know do that.

    BUT if you want to be more than a code monkey writing simple procedural stuff for an insurance company, and do more interesting work that requires solving hard problems then that degree and more besides are going to be needed.

    The guys at Google working on stuff like image search need everything they can get from at least a MS in CS or math. PhD preferred.

    It is possible to self-teach to that level, but it is very very rare.

  16. Bullshit bullshit bullshit by MrEricSir · · Score: 5, Informative

    But CS graduates are often unemployed after graduation due to the lack of experience in hard times.

    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.

    What IT needs is someone to fix shit. Not talk about mathmatical models when the server goes down.

    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."
    1. Re:Bullshit bullshit bullshit by Tr3vin · · Score: 2

      I graduated in 2010 and had absolutely no problems getting a job. In fact, I started a semester before I officially graduated. What really helped me is that I had been working with some form of programming since I was in middle school. In high school I really started to focus on it, so that by the time I got to college I was far ahead of most of the other students. I continued to do work outside of what was assigned while others did not.

      I believe a formal education is important but you really need to go beyond that to get a good job. Otherwise you do end up doing IT work because you haven't set yourself apart. So many of the students I knew in college chose their major by how much money they were told they would make. They didn't put in any effort and did the bare minimum required. Others did well but never thought about things outside of textbook examples. Employers use a degree as a filter and look for projects and effort outside of school. For a student, this type of work not only shows some initiative but it can count as a form of experience.

    2. Re:Bullshit bullshit bullshit by afgam28 · · Score: 4, Informative

      What IT needs is someone to fix shit. Not talk about mathmatical models when the server goes down.

      Now we're knee deep into WTF territory. If you have a CS degree, why the hell are you working an IT job?

      Exactly. For some strange reason, people seem to lump all "computer" jobs together, whether it's IT, Software Engineering or web design.

      Do people need a degree to do IT work? No.
      Do people need a degree to be a software engineer? Almost always, yes, unless they're exceptionally good.

      I'm not saying that there's anything wrong with IT, or that it's any less of a job. But it is a different job and it requires different skills.

  17. New Skill SHOULD == More Pay by HapSlappy_2222 · · Score: 4, Insightful

    "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."

    Or, you know, my employer could pay me what I'm worth now that I have expertise with this new skill. You paid for the training. Great, thanks; much appreciated. Now pay me the new salary I can command, too. Them's the breaks. You needed the skill to be brought on board, and I learned it, now pay for it. Consider it an investment in a better employee.

    I went in to ask for a raise years ago, having just graduated with my (you guessed it) CS degree, and also now that I had many more responsibilities and was travelling for the company.

    I was told that "travel is a perk, and your responsibilities are the logical progression of your position. We can't afford to give you that large of a raise." So I found someone who could. Best job I ever had, but below a certain threshold, the money really did matter.

    Honest employers realize this, and while everybody likes to save a few bucks, the best employers are the ones who care. It's a rare gift when you work for one.

    1. Re:New Skill SHOULD == More Pay by evil_aaronm · · Score: 2

      That "travel == perk" makes me giggle. It reminds me of this one boss that used that logic to justify not paying me over-time when I went to a customer site to install a new system. The customer was in Florida, near Tampa, IIRC, and, of course, couldn't afford down-time during the work day, so the whole thing had to be done on the weekend. 14 floors up, no A/C on the weekends. On the upside, it was a dental office, with lots of napkins nearby so I could blot my constantly dripping forehead. Took me 14 hours on both days; I had time enough to eat and catch some sleep. I got back and asked for either comp time or over-time, and the boss nearly called me an ingrate for not appreciating the fact that I got to travel to sunny Florida on their dime.

  18. And it can keyword match by Sycraft-fu · · Score: 4, Insightful

    A job requires a bachelors? Well there you go it matches. If they require one in "computers" it also matches.

    Also don't whine about keyword matching: Learn it and use it. In many big companies, resumes are filtered by HR. They don't know shit about technical jobs. So what they do is look at the list of requirements given to them, and see if the resume matches. If so, it goes in the "good" pile, if not it isn't sent on.

    So if a company asks for experience in TCP/IP and you have networking experience, don't put networking, put TCP/IP. HR doesn't know those two things are related.

    This is how it works at the university I work at. Most departments have HR filter their resumes so the manager doing the hiring isn't inundated by crap. Some people resume spam no matter how little their experience is related to the job so you can have literally hundreds to wade through. So they have HR filter. What that means is only resumes that meet the requirements are passed on and THAT means buzzwords have to match.

    Like writing code, writing resumes requires using the proper terminology. Don't bitch about it, learn it and do it.

    1. Re:And it can keyword match by russotto · · Score: 2

      This is how it works at the university I work at. Most departments have HR filter their resumes so the manager doing the hiring isn't inundated by crap.

      My theory is it doesn't work. HR filters out most of the chaff, but almost all of the wheat, so the manager gets more crap, percentagewise, than he would using random sampling.

      Also don't whine about keyword matching: Learn it and use it.

      The problem for many of us is we want our resume to be truthful. Sure, we may know we can do the job described, but we don't have every keyword listed, so we won't get it. The less-ethical persons who simply cut-and-paste all the keywords into their resume benefit get the interviews instead.

    2. Re:And it can keyword match by TapeCutter · · Score: 3, Insightful

      My theory is it doesn't work.

      As someone who has hired over 50 programmers in his career I don't need a theory to tell me it doesn't work, experince tells me it does work. If you're not smart enough to get past the HR filter, why the hell would I want to interview you?

      The problem for many of us is we want our resume to be truthful.

      Nobody is asking you to lie, they're asking you to jump through a hoop.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    3. Re:And it can keyword match by Sycraft-fu · · Score: 4, Insightful

      "Nobody is asking you to lie, they're asking you to jump through a hoop."

      Precisely. When I got my current job at the university I work at the situation was one of HR filtering. I knew this (particularly having worked there as a student before getting a staff job) and I tailored my resume accordingly. I did not lie, I didn't exaggerated, I just made sure my terms matched the terms asked for. If I recall correctly (it was 8 years ago) one of the things they asked for was experiencing with "routing and switching" not "networking". I had this in spades, and I made sure to phrase it as that.

      Yes, this does mean you need to customize your resume per job. Guess what? You should do that anyhow. When a resume is spammed, it tends to show. What it shows is you really aren't that interested in that job, it is just one of very many you are applying for. A customized resume means that the candidate might actually want that job, and just just a job.

      Regardless of it it works or not, it is the way things are at many places. At some places, there is no option. HR filters all resumes, period, the hiring manage has no say. So that being the case you should assume it is always the case and write a resume accordingly.

      It doesn't hurt you with the actual tech people who review you. I don't care if you put "networking experience", "routing experience," "TCP/IP experience," "Cisco experience," or whatever. I can reason out you mean that you've done more with a network than just use it. However an HR person can't, they can only match what is asked for with what you claim to have.

      Also, as the parent mentioned, it is something of an indicator. If you are unwilling or unable to play HR's game, that doesn't speak well for you. Being good at a job is more than just technical skill.

    4. Re:And it can keyword match by AK+Marc · · Score: 4, Interesting

      Nobody is asking you to lie, they're asking you to jump through a hoop.

      I've been asked to lie. A job required a computer science degree and 5 years experience (it was an entry level help desk position doing phone support). HR called me. I had a B.S. in an unrelated field and 12 years experience. I was asked to say that the experience is equivalent to a degree, so that I could be considered for the position. I'm guessing there was a shortage of people with a degree in computer science and 5 years experience looking for a low-paying phone support position for a crappy bank website. Given the requirements and the fact that they were so high, despite not being able to find suitable candidates, it was a clear sign that I didn't want to work for a circus master who finds it amusing to make others needlessly jump through hoops. Have a test in the interview. Don't have a hidden test in the form of hoops before getting there. That's just mean, and I wouldn't want to work for a prick like you.

    5. Re:And it can keyword match by Bremic · · Score: 5, Informative

      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.

    6. Re:And it can keyword match by Bremic · · Score: 3, Interesting

      Nobody is asking you to lie, they're asking you to jump through a hoop.

      I remember a friend of mine who had to check a box that he had "5 years of experience with Microsoft Exchange 2000 Server"... in 2002. If he didn't state that he did, his resume would not be put forward.

      I don't think much has changed since then; a lot of the time you are being asked to lie.

    7. Re:And it can keyword match by Anonymous Coward · · Score: 2, Funny

      Hold the phone.

      "...that doesn't speak well for you."

      I don't think you meant that as a pejorative but the statement comes across to me as groupthink. Plenty of perfectly capable people resent being made to jump through pointless hoops to appease people who (rightly or wrongly) want to treat them as just another number.

      So I think what you mean to say is that they aren't a good fit for your company (or their company for you) and HR is doing everyone a favor.

    8. Re:And it can keyword match by Tablizer · · Score: 3, Funny

      I remember a friend of mine who had to check a box that he had "5 years of experience with Microsoft Exchange 2000 Server"... in 2002.

      I covered such situations by adding "also specialize in DeLorean time machines."

    9. Re:And it can keyword match by tehcyder · · Score: 2

      I remember a friend of mine who had to check a box that he had "5 years of experience with Microsoft Exchange 2000 Server"... in 2002. If he didn't state that he did, his resume would not be put forward.

      I forget sometimes just how many absolutely literal-minded people there are on slashdot, so that maybe al the self-diagnosed Asperger's Syndrome cases aren't so implausible after all.

      Obviously, they meant "5 years experience with Microsofts's Exchange Server products, the latest of which is version 2000". It's like asking for five years experience with Ubuntu 12 - you're allowed to count your time using 11, 10, 9...

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  19. Computer Science degree is absolutely needed. by sageres · · Score: 5, Insightful

    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.

  20. Most self-taught aren't very good either by jbplou · · Score: 2, Insightful

    When I hire I find most self taught aren't very good either. I think those with a degree generally have better breadth and depth with different technologies and theories. This is partially because a degree forces you to do some things you aren't interested in. But if you're looking for corporate developers go with information systems majors. Databases design and applied programming languages are more useful to most internal business analyst/developer types than compiler design, Assembler language, and even C.

  21. Most don't know any theory... by c9brown · · Score: 2

    ...Then they didn't go to Waterloo, or they did but didn't pass. I have to wonder how low the bar is for your typical college CS degree is, if that statement can hold ANY water at all.

    Data structures, algorithm theory and design fundamentals, run time analysis, software engineering paradigms, formal languages and parsing theory, complexity and computability, formal logic, operating system fundamentals, compiler fundamentals, matrix algebra and vector calculus are just some of the REQUIRED courses for a CS degree at Waterloo. Then you have to pass a bunch more courses of your choosing.

    Don't other degrees require graduates to have studied similar topics? While you could learn these things on your own, its easier with a prof, TAs, peers, structured schedules, etc... (IMO expensive but worth it)

  22. Re:As a person that has hired a lot of developers- by pwizard2 · · Score: 2

    What if an applicant had a decent portfolio/resume but no degree? We all have to start somewhere.

    --
    "It is a denial of justice not to stretch out a helping hand to the fallen; that is the common right of humanity."
  23. Both sides are wrong by gtaluvit · · Score: 3, Interesting

    Having a degree doesn't make you a great coder and neither does being self taught. Talent and understanding big picture concepts are what makes a great coder. If you don't have either of these by age 30, then having a degree or not doesn't matter as you're useless to all but the most bloated of organizations.

    If you are a hot shot coder fresh out of high school and understand how to follow a schedule, estimate hours, generate unit tests, use an automated build process, use revision control, capture requirements, and can generate readable documentation, then you are FAR FAR beyond where most self-taught people are.

    If you have a brand spanking new CS, SE, CE, IT degree and can do all of those things above but understand why compiler errors are typically on the line following the error, why C++ link lines need the libs in a specific order, why Java and .Net apps are trivial to disassemble, and have actually wrote something on your own that wasn't part of school to solve a problem you have, then you are FAR FAR beyond where most young people with a degree are.

    If either are the case, contact me cause I would probably hire you.

    Note: After age 30 or so, neither of these matter as you should have enough experience in the real world to do all of it.

    --
    - gtaluvit (prnc. GOT-tuh-LUV-it)
  24. Re:As a person that has hired a lot of developers- by barjam · · Score: 2

    I have been doing this a long time. Very, very few companies care about degrees once you have a certain amount of experience.

  25. Self taught often have gaps in their knowledge by perpenso · · Score: 5, Interesting

    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.

  26. More than just the language de jour.. by dthanna · · Score: 4, Interesting

    The professors at the university I went to specifically told us that they were not there to teach us how to program in a particular language. But to give us the fundamentals to program in any language that we needed to. If you need to program in x, go buy a book on x and learn the language. And, to make that point, we were thrown at Pascal (all the data structures classes), ADA, C (networking, operating systems), C++ (OOP) , COBOL, databases, a couple flavors of assembler, file systems (I can still do block calculations) computers and law, and, to top things off, PostScript. I also was able to pick up a minor in mathematics, classes on Russian history, Western Civ., communications, economics, physics, chemistry and all that other 'crap' that is to make you a well rounded egghead. Because of that expanded world-view, I can actually work with my counterparts in India and treat them like human beings. (For everyone that is bemoaning the fact that jobs are going over there - don't blame the Indians - they want the same thing for their families as you do - food on the table, roof over their head, clothes on there back and a better life for their children. Blame your local politicians and business leaders).

    Because of the way they designed the CS environment, and how they approached the material, I was able to build stuff that ran circles around the 'self taught' folks. Sure, we can build a linked list and tree in COBOL 85 to do fast data lookups (COBOL didn't support pointers in that release, but it has this really good array system). I understand the multiple tree structures inside of a PDF - and how the file actually organized as it is written to disk.

    I have a CS degree.. I work in IT... and to be honest, I rarely use the programming skills to actually program - most of what I did was in PostScript when I did program. But, I've also had to learn Python, JavaScript, Visual Basic, 370 Assembler, JCL, and SAS when the need arose. Lately what I've needed to do is advise other folks on good practices vs. bad. Talk to the engineering departments at my vendors how their systems work (or don't) .. sometimes with an uncanny insight into how their systems were actually programmed (I'll bet Bob wrote this at 3AM) hopefully with some great ideas on how to make their better. I can translate business rules into software rules (four years coding pension plans) and generally understand why business operates the way they do. Finally, I made some great friends there. The kind of friends that are still friends 20 years later.

    Yea, at least for me, the CS degree was worth it.

  27. Universities teach programming? by Stone316 · · Score: 2

    Yes, I have a computer science degree. Maybe if Andrew Oliver went to university he would know that most of us are actually self-taught when it comes to programming. I believe I took 3 courses which taught programming and they were all first/second year. The rest of the courses were on software development, algorithms, graphics programming, etc, etc. The programming courses taught Pascal, PDP-11, etc. For the other courses you could program in any language you wanted. So if you wanted to program C/C++, Java, etc you had to teach yourself, which everyone did.

    Now our local college on the other hand, did have a 2 year diploma specifically teaching programming.

    Maybe he should learn how to perform an interview. Its not rocket science. Its very easy to tell in a few minutes (if you know what your doing) as to whether or not the applicant knows what they are talking about. Sure, sometimes one will slip by but that's what probationary periods are for.

    --
    "Thanks to the remote control I have the attention span of a gerbil."
  28. The answer is simple.... by raehl · · Score: 4, Insightful

    What you want a guy who went to automobile trade school and owns at least one performance car he built/maintains himself.

    Employers don't have to choose between CS degree OR self-taught. They can choose both - look for people with CS degrees and side projects. Lots of kids I went to school with wrote some other software that had nothing to do with their classwork. And we put that on our resumes.

    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! When you get home from your call center job, just put down the controller and write some software, and assuming you stick with it, 6 months later you'll have some experience.

    1. Re:The answer is simple.... by Nitewing98 · · Score: 5, Funny

      Isn't this the same as every Jedi building their own lightsabre?

      --

      Nitewing '98

      Everything works...in theory.

    2. Re:The answer is simple.... by Anonymous Coward · · Score: 5, Insightful

      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."

    3. Re:The answer is simple.... by ShakaUVM · · Score: 3, Interesting

      >Anyone worth their salt as a programmer who has a CS degree can MAKE THEIR OWN EXPERIENCE at ANY TIME! When you get home from your call center job, just put down the controller and write some software, and assuming you stick with it, 6 months later you'll have some experience.

      This is the best advice you can give prospective CS students. Seriously, new CS people - follow this advice.

      And even if you like games, there's still a lot of projects you can do that are relevant. Some AI code I wrote for a game got me hired at a defense contractor called Cyberdyne or something (I kid, I kid - it was a lot more fun than ending the world), and also wrote programs to calculate optimal tactics / AI for my favorite board games, and modded Quake extensively.

    4. Re:The answer is simple.... by mcrbids · · Score: 5, Insightful

      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.
    5. Re:The answer is simple.... by beelsebob · · Score: 5, Informative

      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".

    6. Re:The answer is simple.... by Scarletdown · · Score: 5, Insightful

      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.
    7. Re:The answer is simple.... by Xest · · Score: 5, Insightful

      "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.

    8. Re:The answer is simple.... by somersault · · Score: 5, Insightful

      Um.. it's called an analogy.. and it's quite apt.

      --
      which is totally what she said
    9. Re:The answer is simple.... by TheRaven64 · · Score: 4, Insightful

      So what is the whine here? Fresh college grads don't instantly perform at the level of seasoned veterans?

      No, it's fresh college grads that don't instantly perform at the level of seasoned veterans, don't want to learn on the job, and expect to be paid at veteran salary levels.

      --
      I am TheRaven on Soylent News
    10. Re:The answer is simple.... by vlm · · Score: 2

      Anyone worth their salt as a programmer who has a CS degree can MAKE THEIR OWN EXPERIENCE at ANY TIME!

      Blessing and a curse. When I was 19 that was cool that I could do cutting edge stuff at home if I wanted, much easier than the chemical engineering I was transferring away from. That and what made chemistry cool to me was books like "Ignition" and "Whatever the hell the memoirs of Max Gergel CEO of Columbia Organics was called", and unfortunately? both are reminiscences of the good ole days, stuff thats hopelessly illegal now. Anyway the curse now that I'm older is I HAVE to make my own experience on my own time... at least its fun. If its going to be mandatory, at least make sure it'll be fun....

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    11. Re:The answer is simple.... by bluestar · · Score: 5, Interesting

      "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
    12. Re:The answer is simple.... by RabidReindeer · · Score: 3, Insightful

      >Anyone worth their salt as a programmer who has a CS degree can MAKE THEIR OWN EXPERIENCE at ANY TIME! When you get home from your call center job, just put down the controller and write some software, and assuming you stick with it, 6 months later you'll have some experience.

      This is the best advice you can give prospective CS students. Seriously, new CS people - follow this advice.

      And even if you like games, there's still a lot of projects you can do that are relevant. Some AI code I wrote for a game got me hired at a defense contractor called Cyberdyne or something (I kid, I kid - it was a lot more fun than ending the world), and also wrote programs to calculate optimal tactics / AI for my favorite board games, and modded Quake extensively.

      Actually, no. Coding is all well and good, but a lot of what makes me (allegedly) superior comes from having read other people's code. Learning style and technique from real-world applications.

      I received college training, but - to parapharase Mark Twain - my education neither began there nor ended there. And, in fact, a lot of what I learned at college wasn't learned in the course, but in the course of plundering the college resources. Back when I didn't yet have a PC at home, but the college computers were freely available.

      I learned from my classes, I learned from reading other people's code, I learned from writing and debugging my own code. I joined a computer book club and as a result obtained not only books that in some cases were being used as actual college textbooks and in others introduced me to concepts that to this day haven't yet found mainstream application (but in some cases probably should).

      A lot of the comments I saw on TFA were highly critical of this idea that you could have a "proper" grounding without formal education, and I'll agree that one advantage of such a venue is that you get exposed to more than just the topics that interest you, but I think they protest too much. While I'm really rather tired of the old "the best programmer I ever hired was a Music Major" meme, I do happen to know more than one person who actually literally were. Although being Music Majors, starvation probably played a role there, as well.

    13. Re:The answer is simple.... by BVis · · Score: 5, Insightful

      No, it's fresh college grads that can't instantly perform at the level of seasoned veterans, want to learn but are forced to work 90 hour weeks with no training opportunities, and expect to be paid a living wage.

      Fixed that for you.

      --
      Never underestimate the power of stupid people in large groups.
    14. Re:The answer is simple.... by Xest · · Score: 2, Insightful

      "Taking a wild guess here, but are you male?"

      Yes, but what exactly does that have to do with anything? Being male doesn't mean I'm unable to see the hypocrisy in the feminist equality argument where what they actually mean is equality, but only when it suits them. If you have a male, and a female, in a relationship, and one of those necessarily needs to work shorter hours and in said relationship the couple decide that it is the female, then the female cannot complain that she is less favourable to her male counterparts when it comes to promotion due to the fact that she spends less time at her place of work and is hence less able to contribute to the company. There is nothing preventing her discussing with her partner that he instead be the one that works the shorter hours so that she does not face that barrier and he, like her, will then face the same issue vs. female counterparts. There is without a doubt a historical bias towards the female taking this role in a family, but I would wager from my personal experience of having discussed exactly this with many female colleagues that given the choice, many females would rather keep it that way, than be given the alternative of having to work longer hours to support the family financially. Absolutely this isn't universally the case, but then, that's why there is a trend towards more women being the breadwinners of the family nowadays - things are on the right trajectory, so what is the problem? For what it's worth, in our family, we don't have kids, both me and my girlfriend have been able to pursue our careers, she's certainly not found this apparent glass ceiling yet, but again, maybe that's because she actually puts in the hours like everyone else who fails to find this glass ceiling?

      So again, what exactly was your point? I'm all for equality, but equality is equality, it's a two way thing.

      "Yes, that is the line always used by people who oppose anti-discrimination legislation. Because obviously, the market sorts out all problems as long as you leave it alone."

      On the contrary, I fully support said legislation and believe it's yet another reason why cries of ageism are largely FUD and merely a good excuse to cover for incompetence/lack of suitability for a role. I'm not much of a fan of the free market being left to be completely free largely because I think no ideology is absolutely perfect and balance is needed (hence why I believe a healthy blend of socialism/capitalism is far superior to extreme socialism ala Greece or extreme capitalism ala the US). That doesn't preclude me from recognising however that in some systems many theorised problems are never born into fruition due to the fact many such systems have emergent properties that naturally deal with those problems.

    15. Re:The answer is simple.... by Xest · · Score: 5, Insightful

      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.

    16. Re:The answer is simple.... by sick197666 · · Score: 2

      "From my personal experience....." is always a giant red flag for an incoming logical fallacy.

    17. Re:The answer is simple.... by tompaulco · · Score: 5, Insightful

      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.
  29. Re:CS is only part of it by russotto · · Score: 2

    A CS degree, and consequently most CS graduates, are hyperfocused on one aspect of software development: algorithms and data structures.

    Algorithms, data structures, boolean logic, automata theory, and computer architecture. Lambda calculus if you're unlucky :-). Probably more, it's been a while. That's the hard part, or at least the sophisticated part. Algorithms and data structures are "how do we make these machines do what they do". Automata theory is "what can these machines do". Computer architecture is "how do the real machines do it" at several levels of abstraction.

    Design patterns? At best, a nice codification of practices that work; not particularly hard to learn for anyone with any experience, and not particularly useful for anyone without any. At worst, templates for blind code-monkeyism. TDD? You can explain it in a short paragraph. Build systems and revision control? Easy enough to pick up as you go.

    I don't expect the complaints about CS degree holding aplicants that can't fizzbuzz ending anytime soon, either.

    Nor should they, because anyone who gets a CS degree damn well ought to be able to write fizzbuzz in some language.

  30. Not in my experience by psperl · · Score: 4, Insightful

    I manage software developers for a large tech firm and have done significant hiring.

    My experience is in direct conflict to the ideas presented here. I have found the best results with pure CS graduates. The vast majority of self-taught developers I've worked with have huge gaps in their fundamental CS knowledge, while CS graduate rarely make poor algorithmic choices that we come to regret when our projects scale. Their code is often of higher quality so code reviews are less cumbersome and require less rework. CS graduates are usually nerds from an early age, and to a large degree self-taught before they reached college. These people are generally "serious" about computers, general nerdiness, and their work.

    Some self-taught people may be brilliant developers with less student loan debt than CS graduates, but they are not a reliable source of talent. If you are a professional bulding a team, stick with CS graduates, or you take a big risk. That well-spoken self-taught programmer might seem like a great candidate, but wait until you come across real CS problems.

    PS - There are a few engineering degrees which I think are just as good as CS

  31. We hire almost exclusively CS-degreed engineers by JPL-Jeff · · Score: 2

    The suggestion that a CS degree isn't worthwhile is preposterous. I lead a fairly large organization and I've hired dozens of software engineers over the years and hundreds of interns. With only a few exceptions, we find that self-taught programmers have some superficial skill in the languages or platforms they tinkered with but lack CS fundamentals that enable them to build well designed, maintainable, and performant systems. Their code doesn't adhere to patterns and standards that make it easy for other programmers to understand. They struggle to decompose complex problems and don't have a mathematical background to tackle the biggest challenges. They often haven't even explored the full capabilities of the languages they use. Yes, there are exceptions, but we've found that a CS degree from a good institution to be a very valuable indicator when selecting our employees. It's the difference between a home cook and a chef trained in a culinary institute.

  32. Sad degradation of expectations by tranquilidad · · Score: 4, Interesting

    I started programming in 1976 while I was still in high school. I went to a university and signed up for computer science but did not do at all well in the non-CS courses - probably because of the arguments I used to get into with the professors. I took as many CS courses as I could and quit school and started working. I retired at 43 in 2004 after ending up running a lot of very large product organizations within a pretty large company. The lack of a degree almost kept me out of the company but I had advocates within the company with whom I had worked who championed my cause.

    A VC called me to visit one of their startups in 2006 to see about joining at a fairly high level. Things went well until I interviewed with their head of HR and had the following conversation:

    HR - "You left education off of your resume. Why?"
    Me - "I didn't finish school and felt that a couple years of college weren't important compared to the rest of my resume."
    HR - "Don't you feel unfulfilled?"
    Me - "I'm sorry, unfulfilled in what way?"
    HR - "Don't you feel unfulfilled in not having a degree."
    Me - "Not really. I'm retired and your investor asked me to come see if I could help out. If it's not a fit then we can both walk away happy."
    HR - "Well, we'll need a notarized affidavit confirming your level of education."
    Me - "I'm not claiming to have a degree in anything and I'm willing to say I've had no schooling whatsoever if it will save us this process."
    HR - "No, we'll need the affidavit."
    Me - "I swear, I'm not hiding an advanced degree in nuclear engineering. How are you going to confirm that I'm not hiding advanced degrees?"
    HR - "It's policy."

    I never went back but I tell the story often about how the hiring process has degraded to a point of near uselessness. It's extremely difficult to find good talent to begin with and when we do find it the processes and legal jiu-jitsu we force the good applicants to endure makes it very difficult to bring them on board.

    The successful companies will continue to be those that get the processes out of the way and hold accountable the individuals who make bad decisions - be they hiring decisions or others.

    When you want to hire someone a good HR person will say, "Let me see how we can make that happen." Likewise, when you want to fire someone that good HR person should have the exact same response. Too often the HR and legal departments just become wielders of the veto pen and don't provide good support to the underlying mission of the organization.

    As a result, we end up with sadly degraded expectations where hiring becomes a check list of acceptable and non-acceptable gates through which our candidates pass and out the other end of the process is a mealy mash of homogeneity that does little to promote diversity of thought within an organization.

    The degree is still important but only as a single component in an overall tapestry that represents any particular candidate.

  33. Re:As a person that has hired a lot of developers- by girlintraining · · Score: 5, Insightful

    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
  34. What happens when it becomes masters, PDH, post do by Joe_Dragon · · Score: 2

    What happens when it becomes masters, PDH, post doc, ECT? Just to get in the door.

    When you have skills gaps.

    Few are interested in hiring recent graduates because they do not want to train them. The candidates they want are already employed, doing the job in question someplace else. What is in short supply is work experience specific to the immediate job, and no one wants to give anyone that experience, a Catch-22.

    and what will more higher edu do to fix that??? We need more classes covering the areas that don't get covered in a college but are filled in a tech school.
     

  35. Is a student loan an indicator of education? by jd · · Score: 3, Insightful

    Some nations provide grants and, arguably, a superior education as a result. It is my contention that educational systems that are driven by "market forces" must, by definition, offer the least at the greatest price that they can. (The more you offer, the greater the cost of providing the service. The lower the price, the less the return. Profit is return - cost. Market forces maximize profit and the only way to do that is to reduce what you offer and raise the price.)

    It is also a truism that beancounters aren't very good at deciding what services are actually important to the consumer. They're very good at telling you the price of everything but the value of nothing.

    What is wanted is to abolish student loans, switch universities to grant-based systems, fund students via grants, and pay for it by demanding that the universities so-funded provide education of high enough quality that the fraction of the increase in profits that go into taxes covers all those grants. That doesn't mean any individual line of education needs to pay for itself, only that the system as a whole be in dynamic equilibrium. The cost of one course must be covered by the benefit of another.

    By eliminating market forces, universities can focus not on fund-raises and PR stunts but teaching and research.

    Oh, that's another thing. I'd argue that all universities must do both as must all lecturers. (How the hell else are the lecturers to stay current, if not by research? How the hell else are the researchers to improve their communication, if not by teaching? Have different ratios for different jobs, since not all people are good at both, but breadth of experience shouldn't be limited to students. Fossilizing is how you ruin a good lecturer.)

    Since most kids enter university with inadequate education to actually DO any kind of real degree program (universities often waste the first year teaching remedial maths and English), I'd contend that schools should also be forced to pick up the pace. This, of course, requires adequate funding, but it also requires a serious look at what is being taught. Creationism and ID are distractions. Standardized exams may be cheap, but they allow teachers to teach to the syllabus (ie: teach the least) and to avoid teaching any understanding. Schools should be 100% about understanding, facts should be on formula sheets. I'd also abolish leaving school before completing a BS/BA rather than at a fixed age. It means the best can leave at age 15, so it doesn't change school-leaving ages, it just means those leaving early are competent to.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  36. Re:absolutely not, I am proof by proca · · Score: 2

    While I am an entirely self-taught programmer as well, I have to disagree with your assertion that you are 'proof'. Proficiency in IT/networking is not the same thing as developing a maintainable, object-oriented, large-scale application. That takes experience and TONS of effort, whether you have a CS degree or not. The guys handling network administration are not the guys that can build complex systems.

  37. "I don't have a computer science degree" by melted · · Score: 4, Insightful

    >> "I don't have a computer science degree"

    Found this sentence and did not read the article. The guy lucked out by being in the right place at the right time, and now he's spouting his confirmation bias to anyone who would listen. I'm also pretty sure he doesn't know what "confirmation bias" is. :-)

  38. BSCS and resumes by br00tus · · Score: 2

    I've stopped relying on computer science degrees

    I know few people who ever did. If you have a pile of 1000 resumes and only have time to sort through half of them, throwing the half without CS degrees in the trash is a method many people use.

    In my experience, self-motivation, a nearly pathological interest in the field, and great problem-solving skills are vastly better indicators than a college degree that a hire will be successful.

    No kidding. How much of this can be discerned when looking at a resume though? Again, when you have hundreds of resumes for a positions, whether someone has a BSCS is a good guide for trimming down your pile, especially for positions which don't require a lot of experience.

    When a bad economy comes, like now to some extent, compared to 1999 any how, have fun sending your resume out looking for work while companies inboxes have lots of applicants with a BSCS. Some require it on the job posting, and HR will often ask you even if it is not a requirement. It may be smart or dumb to do, but you're not running the company so it's not your decision.

    I don't dispute a self-taught self-motivated, interested problem solver can do a better job then a BSCS who slogged through class in a lot of the standard grunt programming work companies do. And there are outliers - John Carmack is a better programmer than 90+% of BSCS holders ever will be, even though he only attended two semesters of college. But BSCS holders seem to me to be able to do more of the creative, ambitious, higher level stuff. The problem isn't just that self-taught programmers don't know some of the higher level data structures and whatnot, it's that they don't even know they don't know. That's what the real problem is.

  39. Uh, no. by symbolset · · Score: 5, Interesting

    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.
  40. Dunning Kruger by Martin+Spamer · · Score: 2

    The author thinks Basic and DBase are the technology milestone to be marvelled at and a book on "compiler theory" is all kinds of nonsense. Text book example of Dunning Kruger effect at work.

  41. So much for folks like me... by gatkinso · · Score: 2

    ...who taught themselves how to code when they were 10.

    Who owned a Timex Sinclair T1000 when they were 11 amd learned the entire Z80 machine language set simply by experiementing with PEEK and POKE... as well as learning Pascal.

    Who wrote our own games.

    Who owned three different computers by the time they were 12.

    Who then majored in Computer Science (dual major in Mathematics) simply becuase that is what they really loved to do.

    Yeah... fuck that. I would never hire such a person.

    Andrew Oliver: what a complete and utter dunce.

    --
    I am very small, utmostly microscopic.
  42. Can't get a CS BA at a good school without theory by Doug+Jensen · · Score: 3, Interesting

    While many "CS" departments are just awful, check out the curricula at the top 10 CS departments (that ranking is decided annually by consensus of CS department heads) -- CMU, MIT, Stanford, etc. You get a through education in computer SCIENCE, during which you learn both the PRINCIPLES (including healthy doses of hard core theory--proving programs correct etc.; AI; databases; hardware, etc.) and the BEST PRACTICES of programming -- as much as is feasible in four years. IHMO a good CS education requires an M.S. If you intend to be a programmer, chances are you are going to start out as a good relatively inexperienced one and with experience become one of the 10%'ers that can out-program 10 mediocre programmers. But many people with CS degrees are not focused on programming -- for example, they may be focused on software engineering, which is a separate but closely related field. And of course he are people who get CS degrees, just as there are people who get physics degrees, not to work in CS or physics but to use their education in another field.Finally I'll note that some people get CS degrees so they are better prepared (assuming it's from a good department) to get M.S. and Ph.D. CS degrees.

    --
    Doug Jensen