6 ms·
A degree is only as meaningful as its scarcity [2008]
- oiuyhgftrhyjuk 16y agoDegrees used to be useful for weeding out resumes. I have 10 jobs, 100applicants, just pick the dozen CVs with degrees. That fails when everyone has a degree, so then you start to pick only ivy league, or only 1st/2:1 class. SO you can try and pick degrees based on scarcity, ie I only hire oxbridge maths grads, or MIT physics as programmers. Opensource has changed a lot of that - when I went to college only universities had compilers. A machine capable of running a compiler took a room, now I talk to high school kids who have written kernel modules. I now hire either people with no degrees based on projects they've done as well as smart graduates (ie maths/physics) - ironically both groups with no formal programming qualifications.
- raganwald 16y agoTo quote a certain pretentious blogger: "At either end of the educational spectrum, there lies a hacker class."
- rbxbx 16y agowas this pretentious blogger yourself? Yegge? Do share, please.
- kenjackson 16y agoI think you view the degree incorrectly. A degree should be a minbar of what one knows. It shouldn't be a scarcity measure. If someone has a CS degree I should be able to talk about garbage collection, threads, the pumping lemma, Amdahl's Law, control flow, NP-Completeness, etc... Scarcity really should have nothing to do with it. Either you've acquired the knowledge, in which case the degree signals that or you haven't. Your job as someone who hires people is to determine which vectors you put the most weight on. CS knowledge certainly isn't the only thing you care about, but a degree in CS may signal sufficient CS knowledge. In some cases maybe it requires a PhD in a specific field. Or maybe you want someone who has worked in the Linux kernel. In any case these vector weights should be job specific. About the actual article, I must admit I don't know what the writer is talking about. As a consultant I've see a wide range of enterprise development. Some is as sophisticated as what you're likely to see at Google. Others are basic just people doing HTML markup. The degree requirement is a very pragmatic signal that the applicant has the basic skills required to do the job. I'm sure there are other ways to demonstrate this, but there's probably considerable investment in determining what they provide. The thing that is somewhat interesting is that while there are probably just as many programmers who don't have degrees in CS/Math as those that do, most of the major breakthroughs, academia or industry, are from people either with these degrees or in the process of getting them.
- jswinghammer 16y agoBased on my 10 years of interviewing people no one with or without a CS degree can discuss any of those things. I'm usually happy if they know what a hash table is and roughly how it works.
- redthrowaway 16y agoI find this surprising. Maybe because we covered some of those topics in first year, and, as a second-year student, they're still fresh in my mind, but I simply can't see how someone who completes a CS degree would be ignorant on all of them. For the same reason, I can't see how fizzbuzz is a useful test. It was the very first thing we learned to program in our intro CS class. I'm not from a top-ranked school, and while we tend to do fairly well in competitions, we certainly aren't renowned for our CSc program. I don't know whether to feel encouraged or discouraged when reading articles and comments like this. Are there truly that many incompetent CS grads and/or insufficient programs out there?
- baddox 16y agoI don't quite understand all the anti-college rhetoric, especially toward what I consider to be a pretty hard science (CS). Personally, I pursued (and am close to finishing) my CS degree because I wanted to know what CS was and get good at it. Right out of high school I was not qualified for an entry level programming job (I mean truly qualified, as in able to do the job, not just get the job). I'm now confident in my knowledge and qualifications. It's been worth the time and money (read: debt) to me.
- raganwald 16y agoWhat I attempted to do with the article was to educate people to the wide disparities between curriculums in CS programs and to subtly encourage picking a school based on its rigour. To the extent that you read the essay as being anti-college, I failed as a writer. I apologize.
- oiuyhgftrhyjuk 16y agoTrouble is then why would you do a CS degree? I'm looking for smart and go for scarcity then I ask myself - if you are so smart why did you do CS instead of maths/physics etc?
- baddox 16y agoI did CS because I wanted to learn CS more than math or physics. Of course, there's a decent amount of all three in my CS curriculum. This wasn't necessarily a money-based choice (and I have trouble believing that math or physics graduates make more than CS graduates anyway), it was a choice based on what I enjoyed and wanted to learn more about.
- benvanderbeek 16y agoI was just talking to one of my coders about how nothing I have used in my career was learned from my computer science classes. I guess I'm a "business programmer" - if I'm a programmer at all anymore - I'm not sure. I've definitely never delved into Scheme, Haskell, and OCaml. I majored in CS, graduated from a California State University in 2002. I focused on getting A's, not learning or connecting w/ people or deciding what I wanted to do w/ my life. I figured I would graduate and a coding job would fall in my lap. Since graduating, I've worked at a real estate franchise, a hedge fund kind of investment place, and now ecommerce. I don't know how a CS degree from a CSU looks vs UC or ivy league, definitely didn't think about it enough when graduating from high school. But I do know that my degree only directly served to let me pass through a filter to get my first job. And I probably could have had that with a vocational school degree.
- kenjackson 16y agoHow much did you know about CS before going to college?
- benvanderbeek 16y agoDepends what you mean by "know about." I had taken a couple of programming classes. I knew you could write code, compile it, and make a thing that does a thing. I started college as a Computer Engineering major, then realized that really wasn't what I wanted. If I could go back, and if it existed at the time, I'd to informatics.
- kenjackson 16y agoI ask because if knew nothing going in, you'd learn a fair bit in college. With that said, I'd programmed since 3rd grade and still learned a fair bit in college that I use to this day. Of course, this was pre-internet, so I think it was generally hard to self-teach. But things I learned in college that I used professionally: * Data structures. Before college I pretty much used primitives and arrays. In college I learned to make much better use of trees, graphs, sparse matrices. * OOP. Although in fairness, OOP started to come to life when I was in college. There was no ANSI C at the time :-) * Compilers. I've since built many compilers, but having taken the sequence certainly made it a lot easier. * Databases. Never used a relational DB until college. I think it would be fair to say I've made millions off of them since. :-) * Regular expressions and state machines. This is just ingrained now. * Vi ... Used Vi exclusively for the first decade of my career. * Unix ... Used various Unix variants in the first decade of my career as well. Learned most of it in college. * Architecture and internals -- I've done a fair bit of work at the architectural level, and college is where I laid the foundation for understanding both the architecture (registers, cache, tlbs, pipelines, units, etc..) as well as basic EE. None of which I knew much about before college. There are plenty more, but these are some examples. Probably my big weakness in going in to college is I did all game programming before college. I understood graphics really well and the game loop, But looking back at some of the code, and it was really horrible. You really shouldn't use arrays for everything :-)
- jerryrreynolds 16y agoThis is an interesting thought but it should say "a degree is only valuable if: the probability of success for non-degree holders in the same field trends toward zero." In the tech world there are equal parts success of degree vs. non-degree which makes them not as important. On the other hand, no one in their right mind would see a doctor who does not have the credentials for his given field. There are very few rich people because of old family money but there are many wealthy entrepreneurs. The thing that makes all the difference in my opinion is willingness to accomplish your goals. If you want it bad enough, especially in the tech world, you will find a way.
- jonnathanson 16y agoYes, but the trick isn't in defining meaning; it's in defining what we mean by scarcity.
- JanezStupar 16y agoDegrees may not be scarce - but the knowledge that should be contained within an CS graduate indeed is. At least as my experience has led me to believe. So to recap the article: Don't go to UNI to get a CS degree thinking you will make big bucks just due to the degree. However if you actually understand the knowledge you were supposed to learn - then you should be able to make a buck. Nothing to see here - move along.
- mikecarlucci 16y agoThat's the opinion often missing here. Just like ideas alone aren't valuable, neither is schooling. If you get something out of it though, formal education is valuable.
- coliveira 16y agoI think the market for CS is part of the problem. The skill set required from graduates varies widely across the industry. Also, it depends a lot on where you want to live. For example, if you are going to use hardcore CS knowledge, you must be or move to an area where companies require it. This means Silicon Valley, and a few places where there is a demand for such knowledge. 99% of other companies will hire CS people to write glue-code in Java or similar. In that case, the important skills are team-working and project management, beyond being able to program in Java. So, you cannot blame only universities for delivering grads that don't know more than the basics. This is what the market will pay for. It does no good to a State University to teach for example AI algorithms that will be useful only if they get a job on Google, or writing Haskell compiler that will be useful only if they work for Microsoft. I think a sensible solution would be to limit the number of CS programs, and create a separate major, maybe business computing or something like this, to attend the need to of the large majority of businesses.
- nradov 16y agoSome schools already have an Management Information Systems (MIS) major, which is basically business computing, and/or Software Engineering, which focuses more on teamwork and project management. We should be pressing more schools to offer those majors so that students who want to become software developers will have other options. Then the CS major would be able to focus more on theory and preparing students to do research (just like real scientists).
- motters 16y agoI don't know much about the contents of CS degrees, but from observation over quite a length of time it does seem to be true that most software engineers in businesses are really clerks - and treated as such. It's a very lowly position in the corporate pecking order. There are the software engineers and then there are the cleaners and the part time vending machine attendant.
- mikey_p 16y agoMy wife has said for a long time that the main reason for a position to require a degree, is to demonstrate that the candidate has subjected themselves to the process and bureaucracy of an educational institution, which is often designed to mimic the structure of your average corporate hierarchy. Given that I got kicked out of college because I simply was either too lazy to do the busywork, or too much of a rebel to please my professors, and she finished, but considers the net gain from the experience to be relatively worthless, I'd say she's pretty spot on. She also does better in your average 9 to 5 job than I do.
- deleted 16y ago[deleted]
- deleted 16y ago[deleted]
- jh3 16y agoThis was kind of depressing to read. I have a CS degree, am currently working on a masters in IS, and am working as a web developer. I would like to think I am doing all right for myself so far. However, sometimes I feel as if there is a large gap in my CS knowledge. This is one of those times.