23 ms·
Why do so few people major in computer science? (2017)
- habosa 6y agoI was in college from 2010-2014 which is a period of high growth as shown in the article. It may not have been an all time high but it felt like everyone was taking CS. The 101 classes were incredibly oversubscribed. Maybe not many people graduated with the major but a ton of people started down that road and many people pursued the minor.
- chrisco255 6y agoI was in college during the same period at the largest school in my state and we graduated a class of about 60 or so undergrads in 2014.
- ForHackernews 6y agoWhy would you major in computer science if you want to work as a software engineer? It's like getting a physics degree to become a civil engineer.
- loremipsium 6y agobecause it's what you need to get a food in the door.
- ethanbond 6y agoUsing your analogy, probably because there aren’t many well established civil engineering degree programs. I don’t know what “practitioner program” could get you close to a guaranteed spot at a top software firm. I’ve been out of school for a few years and figure this stuff has been changing fast though, so that perception may be out of date. Never even heard of a software engineering degree. Only computer engineering or computer science, either of which may include some software engineering courses.
- ghaff 6y agoThere are certainly various more nuts-and-bolts certification programs out there, but if you want to do software stuff and you're going to an "elite" school you'll tend to major in some variant of CS--whether it's located in the math/sciences or the engineering school.
- exdsq 6y agoThey do exist. Even Oxford has an MSc in SoftEng.
- adwww 6y agoDoesn't Oxford just automatically boost all bachelors to masters a year after graduating though?
- exdsq 6y agoYes, you’re awarded an MA (Oxon) after a few years of graduating, but this is a ‘proper’ Masters course
- stan_rogers 6y agoThat's just Master of Arts (MA). MSc, MEng, MLitt, etc., are not automatic.
- monkeycantype 6y ago
- Cthulhu_ 6y agoI'm not sure what you're saying here, that you don't need formal education to do software engineering? I mean on the one side I agree with you because there's so much you can learn online right now, but the same is true for other branches of engineering and STEM as a whole.
- non-entity 6y ago> but the same is true for other branches of engineering and STEM as a whole. Is it though, my understanding is that for a lot of engineering programs and science courses, much of the value comes from labs and hands on experience with equipment that a consumer cant get access to.
- larzang 6y agoLess that you don't need education and more that the education of a CS degree has little relation to the practice of software development. It's probably improved, but when I was in college 20 years ago CS was something you did abstractly on a whiteboard, it's computer SCIENCE. That's certainly valuable to society as a whole and certain fields, but it has little bearing on building websites or business CRUD or other things the vast majority of us are doing. I don't need a new hire to be able to implement a sort algorithm from first principles, I need them to know git and how to write unit tests and how to communicate with a team effectively.
- raxxorrax 6y agoIt is often used to check if a candidate can master complex topics, but I would disagree that formal education doesn't help for software engineering. Asked the other way around, what would you suggest as education for someone who wants to be a software engineer?
- tomerbd 6y agoTo develop the thinking. Rigorous algorithmic and mathematic thinking. Studying physics is also good.
- ForHackernews 6y agoExactly. So the implied premise of this article (that we should see loads of CS majors because people want to work in software) is faulty. They can just as easily study physics, chemistry, math, logic, etc.
- adwww 6y agoAt my software company I think we have more physics graduates than software engineer or comp sci. We use mostly Python and Go btw, which I think might affect things a bit. Graduate schemes for those computing degrees tend to be at big corporate dot net shops.
- exdsq 6y agoI was in a meeting just this morning regarding how we measure the performance of something which ended up with reading a paper on queue theory to help with the design. CS and SE are very related. Also, Civil Engineers do learn physics as part of their course.
- boomlinde 6y ago> Also, Civil Engineers do learn physics as part of their course. The analogy is apt for exactly that reason. Some knowledge in physics is fundamentally required, but for the civil engineer it's only professionally relevant to the extent that they can apply it to solve practical problems. A solid understanding of physics (and indeed how to come out wiser after reading a paper relevant to your field) is just one part of their expected skill set.
- exdsq 6y agoWhat would you learn in a BSc Software Engineering that's not in a BSc Computer Science course that's not going to become redundant after a couple years and couldn't be covered in a module? I have thought about this before and argued for Software Engineering to be a specific course/field, but it's just too ephemeral at the moment with a lack of 'core' elements to warrant a 3 year course. Edit: To be clear, I want the field to mature and develop into something similar to other engineering fields like EE, but it's not there yet.
- offset1 6y agoSome software engineering studies, even sometimes called information technology (Australia, Netherlands, Germany) are theoretically equivalent to most of the general CS studies you find in the United States. It all depends on the curriculum at the end of the day.
- geogra4 6y agoI agree. I think there is a definite need for real 'Software Engineering' discipline that focuses on things like project estimations, timelines, codebase management, best practices, etc.
- easterncalculus 6y agoThis is an incredibly flawed analogy. I can say safely that software engineering students (SE specifically, and not CS) have at a general level a massive amount of missing knowledge compared to their CS counterparts. Practically every SE concept either is or can be taught on the job. I don't hire but I can safely say that if I ever did I would hire CS graduates long before someone who calls everything they use an 'app' and couldn't explain tail recursion to me. I will never understand how SE people can brush past basic concepts in favor of specific frameworks that might be out of favor by the time they graduate. SE students tend to miss fundamental parts of creating good applications while they study how to do so (security, privacy, performance (!), etc). This gap creates a liability in the job markets they saturate, as well. This culture of companies that hire SE majors and SE degree programs is pretty lax when it comes to the stuff that isn't arbitrary software framework knowledge. Frankly, the 'optimization' of CS has been a disaster. Buggy software can cause just as many damaging or long term effects as poorly designed buildings or machines, but in none of the programs that would output people capable of creating those do we see a movement supporting 'practical' knowledge over the basics. It's incredibly short-sighted, and at the very least, it means smaller CS programs.
- offset1 6y agoIt all depends on the university and the curriculum. Some universities here provide only "software engineering" or "information technology" programs that are equivalent to their computer science counter part in countries like the US. Sure, you can learn topics like requirements engineering on the job (often an underrated subject if you really want to do it well), but the same thing can be said for literally any of the CS courses.. At the end of the day, the curriculum is really what matters for a person. Actually, you can even argue that "computer science" is not even a real science (similar with many other studies that have "science" in their name). Heck, I'd say software engineering is closer to actual "engineering" than computer science is to actual "science".
- manfredo 6y agoWhat computer science means varies from school to school. At many University I only wrote proofs for 2 of my CS classes. The rest of my classes were spent writing code.
- chrisseaton 6y agoI don't think CS is a high social status field at all. You're deluding yourselves. Outside of our peers also in the industry nobody cares that you're a staff engineer at Google. Absolutely nobody. They'll assume you're doing IT work like the characters in the IT Crowd if they even bother to think about it at all and haven't already walked away. Here's a concrete example to make it really obvious. How many computer scientists are there in the Lords in the UK? I'm not sure there's any. There are nearly 800 lawyers, doctors, religious ministers, biologists, physicist, mathematicians, philosophers, business people, politicians, authors, composers. A computer scientist who defines the field for half a century is lucky to get knight bachelor. Look at similar establishment institutions elsewhere. Are there any computer scientists in the Senate in the US? Are computer scientists often invited to lead major public bodies? How many computer scientists become deans of universities compared to other fields? The social status of computer scientists is zero.
- kulig 6y agoThats because the high classes dont go into CS. They do philosophy, math, biz admin (to admin the money they already have), and law (to continue to control the masses)
- Cthulhu_ 6y agoIs the social status of computer scientists zero, or do computer scientists choose not to go into politics or other leadership positions? I suspect it's the latter [anecdotal; opinion; citation needed]. CS people are a tribe on their own (if I may generalize); I've not met anyone with an interest in participating in politics. They have strong opinions on politics, but not to the point where they're willing to represent.
- adwww 6y agoThe creator of PHP's Xdebug (Derick Rethans) unsuccessfully stood for local elections recently. I can't think of many others though!
- corpMaverick 6y ago
- misja111 6y agoThe author notices that the nr of bachelor degrees went down every year from 2005 until 2014, at which year it went up again. It takes 4 to 5 years from the moment of choosing your study until earning your degree. That means relatively many people chose a CS study in 2000 and also in 2009. I guess the explanation for 2000 is that the dotcom bubble was still alive and well, the explanation for the popularity of 2009 must have been the credit crisis that made lots of people pursue the job certainty of a CS degree.
- ghaff 6y ago>I guess the explanation for 2000 is that the dotcom bubble was still alive and well, Storm clouds were on the horizon by late in 2000. But there was probably some delay, even maybe post 9/11, until the full scope of the carnage was obvious--and by then most students who entered in 2000 or even 2001 were more or less committed.
- rovolo 6y agoTheir choice of 2005 is definitely the culprit (4 years after the dot-com crash), and it's only gotten more obvious in the years since this post. There's been 60% growth in the number of "Computer and information sciences" (CIS) BAs since then, compared to 20% for Bio-science, 15% for Physical-science, 25% for math, and 40% for Engineering. https://nces.ed.gov/programs/digest/d19/tables/dt19_322.10.asp https://nces.ed.gov/programs/digest/d19/tables/dt19_322.10.a...
- jventura 6y agoThis article is from 2017, and the author refers a previous discussion here at HN: https://news.ycombinator.com/item?id=14440507 https://news.ycombinator.com/item?id=14440507
- ChrisMarshallNY 6y agoWhen I learned coding, CS wasn't really a "thing." I came up from the hardware end of things (EE). Today, the only downside of this seems to be that I never learned all the binary tree stuff (BTrees haven't played any role in the type of coding I've been doing for the last three decades), so I don't fare well in employment exams. Otherwise, I'm actually thrilled at the way my software development education has gone. My hardware background has stood in good stead, in developing things like drivers and async stuff.
- Cthulhu_ 6y agoThankfully I've never worked or applied to a company doing that kinda thing; at best it was a fizzbuzz. They mostly do practical in-your-own-time assessments - prove that you have the hands-on know-how to build a feature representative of the work you will be doing in the company. Few companies will rebuild B-trees in the day to day job. Interview for the job your candidates will be expected to do, instead of giving them a college/uni exam question. Have them validate a form field and yeet it through a REST API into a database, like 99% of their job will be [1]. -- [1] this may just be representative of my job. Somehow yeeting a form field into a database hasn't gotten much easier during my career. Why is input type number still broken?
- ChrisMarshallNY 6y agoI have an enormous portfolio of code. I'm talking dozens of repos, hundreds of thousands of lines of code, shipping apps (with full source code), and at least a decade of checkin history. Also, I have many, many articles on Medium, and on my own sites. These tend to explicitly and unambiguously cover my development methodologies, design ethos, and personal philosophies. There should be no question at all about my technical ability, methodology, creativity, or team integration. But it is my experience that the portfolio is immediately ignored by hiring managers. After a few instances of that, I just gave up looking to work for others, and started doing my own thing.
- b20000 6y agoCS has been a thing since the 60s
- garyclarke27 6y agoMaybe becuase industry pays developers so well,it’s hard for Academia to compete and attract quality teachers for computer science - ie is supply constrained rather than demand constrained.
- kqr 6y agoPersonal opinion: after four of the required five years of my CS major education, I felt like I had gotten about as much out of it as I ever would. I knew I would advance my own skills and knowledge more by spending that last year as part of an experienced team in the industry instead, so I did. Other than it being annoying to explain the situation if someone asks, this has not ever set me back in any way I know of. If, in the future, I feel like it would improve my abilities/position to write a Master's thesis and get a diploma, I might look into taking the last year. But so far, I have gotten way more leverage out of the additional industry experience.
- ipnon 6y agoComputer science has little to say about software engineering, I've found. There is not much high quality research on the subject, because it's more of a social science and it's inaccessible as a field of study to normal social scientists.
- ghaff 6y agoSome of the decline in 80s can probably be attributed to a reduced percentage of women getting CS degrees [1]. I tend to agree with the conventional wisdom that gaming and home computers led to CS becoming a less welcoming degree to someone who had never touched a computer before. Contra almost every degree outside of the arts where some interest and the usual high school curricula are all you need. (And it became a somewhat self-reinforcing cycle.) That theory doesn't speak to the 2005 peak and subsequent decline however. [ADDED: Which is probably more related to the dot-com bubble bursting.] [1] https://www.aei.org/carpe-diem/chart-of-the-day-the-declining-female-share-of-computer-science-degrees-from-28-to-18/ https://www.aei.org/carpe-diem/chart-of-the-day-the-declinin...
- baybal2 6y ago??????????? Computer Science is by far the most popular stem major all around the world! If somebody have numbers showing opposite, I would like to see them.
- WrtCdEvrydy 6y agoCheck the graph, it actually isn't...
- papeda 6y agoThe featured article has these "numbers showing opposite".
- ghaff 6y agoDid you actually look at the article?
- Spooky23 6y agoEasy. The educational aspect is pretty awful. And after you get through that, the big companies treat you like a leper unless you went through a few chosen schools. I went to a big state school in the 90s. The first two years were a hazing, with a brutal curve designed to drop class size from 1000+ (CSI 200) to about 80 graduates. It was sink or swim and awarded grit. The only major worse was biology where organic chemistry weeded out the frat boys from premed.
- non-entity 6y ago> the big companies treat you like a leper unless you went through a few chosen schools. I was under the impression that they didnt care about your background, but you had to slave away on leetcode to have a chance to pass the interviews.
- Spooky23 6y agoMy point of view may be outdated. Back when we were walking to school uphill both ways, you needed the right paper.
- drewg123 6y agoI agree with the GP. I had a similar experience at SUNY Buffalo in around the same time. I terms of working for a FAANG, in order to pass the interview, you have to first get the interview. If you attend Stanford, Berkeley, MIT, etc, FAANG's will have career fair booths, and lots of other opportunity for internships and networking. You will be at the top of the pile and you're almost guaranteed a look. Contrast that to attending a school like SUNY Buffalo. FAANGs don't generally recruit from schools like that. When I worked for Google, I offered to help with recruiting from SUNY Buffalo (which they called a "long tail" school). Their response was, rather than send people to the school, they set up a giant hangouts/meet video chat with auditoriums of kids from 4 different schools. The especially irritating thing to me was that my alma mater was not even included in the session that I led. I think this sucks because I went to SUNY Buffalo because they offered me a much, much better deal financially than the "elite" schools did. I could have attended one of the favored few, but decided that I'd rather graduate without massive debt. Some of the smartest people I know I met there. They definitely weren't the rule, but a lot went on to get PhD's from places like Stanford and Caltech. So its not like big state schools have no qualified candidates. Its just hard to get the FAANGs to see that.
- WrtCdEvrydy 6y agoHonestly, here's the truth of the matter as someone who has gone through Bachelor's and Master's. Annectodal (sample size 1): I went to a top university in Florida for Computer Science. The classes were either simple, useful or nintendo hard. Data Structures and Discrete Math were the courses most likely to have transfers out to IT or Business degrees. Two good friends ended up dropping because they just found a job and said "Screw it" and just went into the industry. A couple of others went into IT because the coursework was "too hard and I can get the same job with an IT degree"
- melvinroest 6y ago> Given high wages for developers and the cultural centrality of Silicon Valley, shouldn’t we expect far more people to have majored in computer science? Are wages that high though? I don't know much about the UK, but I feel it's lagging behind Switzerland, for example, and that only London is the high paying spot because of inflated cost of living. In Amsterdam, where I live, a junior developer isn't paid that much more compared to a junior business analyst or a junior marketeer. What is way more noticeable is that a lot more developer vacancies seem to exist compared to the other two, even for junior developers. > I consider this a puzzle because I think that people who go to college decide on what to major in significantly based on two factors: earning potential and whether a field is seen as high-status. Now let’s establish whether majoring in CS delivers either. In The Netherlands it's either whether something is interesting. Or it is whether something is interesting and it's good for one's career. It's almost never only for career. > Are wages high? The answer is yes. The Bureau of Labor Statistics has data on software developers. The latest data we have is from May 2016, in which the median annual pay for software developers is $106,000; pretty good, considering that the median annual pay for all occupations is $37,000. The comparison should be made for different categories from university. I wonder how business studies is doing as that major was a lot easier, in my experience. But I'm pretty sure that the pay isn't lagging behind (disclaimer: I don't have data, I can be wrong). I've never seen someone join a field of study for social status and I asked the "why do you study xyz" question a lot. I have met a few people who started studying <insert_female_dominated_program> for finding a girlfriend, which usually worked. In most cases, they were also at least kind of interested in the content. --- Here is my partial guess. I have two factors. I believe that there are more computer science people that are interested in math and physics than the other way around. So there is a crowding out effect. In The Netherlands, CS suffers from a negative stereotype among Dutch women, which is truly evidenced at my uni by the amount of international female students versus Dutch female students (a good amount versus 0 in some years). Heck, I even met very traditionally feminine women in my computer science classes (caring about fashion, aesthetics/beauty and caring for people), but they were all non-Dutch. Of course, there were also non-Dutch women with other gender identities (I've seen integrated as well). The gender identity of Dutch women was either "not male and not female" (do they call this non-binary?), male, or integrated. So this might play a role in England as well? Of course, my observations are limited, they're simply based on 8 years of walking around at the two universities of Amsterdam and talking to quite a few students.
- jimhefferon 6y agoProf at a SLAC here, in the Math Dept but degree in CS theory. FWIW, I'll throw in that my advisees often tell me that they hated the first CS course (which Math requires). Our CS Dept is good. They are not slave drivers, or doing crazy stuff. They run a standard Java class doing very reasonable things and give a perfectly typical range of grades. And the students who say these things to me are not just the poor ones. Is it inherient in the material? Is it the way the intro is typically approached in standard texts? I don't know. And I admit that I only have anecdotes. But the article didn't mention it, so I'm mentioning it.
- battertenr 6y agoThe reason is because it is a terrible job. Unlikely 90% of other jobs, you have to mentally burn your brain out each day, constantly learn new things, and focus intensely, supposedly for 8 hours. The reward is nothing, not even good pay outside of a couple of tech giants in the USA. If you compare it to a trade, there is a night and day difference to your mental health. The wage data in this article is meaningless because it ignores the fact that the few places with the 100k+ wages are all in ridiculously expensive cities. Those wages bring up the "average", making it seem high. No sane person dreams of sitting at a computer all day doing harder things than everybody else sitting at the computer and making average pay. Not only that, but most employers would rather pay a person $5 an hour to make their app from somewhere in yemin then they would hire a local person. You also never get to be part of any kind of inner circle within the company. You will be paid less than some random useless person who "knows somebody high up" and is in charge of "managing" you.
- thebean11 6y ago> not even good pay outside of a couple of tech giants in the USA That's a huge exaggeration. In what other field can a bright kid take a 12 week bootcamp and get a job that pays $80k?
- jabbernotty 6y ago> That's a huge exaggeration. In what other field can a bright kid take a 12 week bootcamp and get a job that pays $80k? They did specify "outside of a couple of tech giants in the USA". Here in Europe, €30K would already be a good starting salary. Personally, 10 years in, I don't expect to reach €80k.
- thebean11 6y agoIf they specified "outside of the USA" then I totally agree, but the $80k bootcamp salaries are absolutely not from the tech giants!
- manfredo 6y agoMy first tech job wasn't event at a FAANG company and I made $110k right out of college. My next job was at a ~1,000 person startup and my salary was bumped up to over $160k. Maybe it's a Europe vs US thing but it's definitely not the case that salary is poor outside of tech giants.
- NalNezumi 6y agoI've always seen the same pattern in College decision: self-projection. That is, a combination of what they know and what they think they can do/like. Most people choosing Uni choose from what they know. Majority of young people know little about anything CS or nerdy; They often know the end product (computers, phones, apps) but very little about the people working on it. Compare that to doctors, managers, Wallstreet types, scientist, lawyers; they got incomparable exposure through movies, tv-shows and media in general. Even Scientist have more exposure. Difference is that in those profession, you can see the people working in it (although often not an accurate representation) so it is easy for a young person to imagine "I can see myself wearing their suits, doing what they do". But just as no one applying for college imagine themselves in a janitors boots, there must be a observable social status in the profession too. "you will be socially respectable after 4 years here!" sells better than a salary figure. I really don't think CS majors come close to the (perceived) social status for the young, compared to the above mentioned professions. The closet to high social status an CS gets to is the "IT/tech entrepreneur", and you don't need a CS major to get there.
- TheOtherHobbes 6y agoCS types in the movies are basically magicians. Something needs to happen, they open a laptop, they type away furiously, there's a cutaway which shows them frowning, then a red dialog box on the screen turns green, and the thing happens. It's hard to get from that to the reality developing CRUD apps. There may be some drama, but arguments about which framework to use are not usually very cinematic.
- chasd00 6y ago"It's hard to get from that to the reality developing CRUD apps." on a tangent, this is especially bad for Architects. When I was in college I fell in with an Architecture clique, I went to all their parties and made life long friends even though I was majoring in CS and they were all Architecture majors. They were told from day one that unless they're the next Frank Lloyd Wright (or some other world renowned architect), they're a complete failure and an embarrassment to the art. Then they graduate, get certified, and end up copy/pasting facades on Discount Tire construction plans or something else like that. It's a very bitter pill to swallow.
- cs702 6y agoThere's one other possible, additional reason. I recently asked a 17-year-old high school senior who is heading to college what she's planning to study, and she said it would be mathematics, biomedical engineering, or some other kind of engineering. She's self-motivated -- says she will be studying multi-variate calculus, PDEs, and abstract algebra on her own this summer. She maxed out her high school math curriculum, which included linear algebra as an elective. Naturally, I asked her about computer science, and she said something like this (paraphrasing): "The kids who love computers at my high school seem to be able to spend their entire day focusing on a computer screen, even on weekends. I cannot do that. And those kids are mostly boys whose social behavior is a little bit on the spectrum." While I don't fully agree with her perspective, it makes me wonder how many other talented people shun the field for similar reasons.
- ghaff 6y agoThat pretty much lays out one of the more standard explanations for why more women don't go into CS. Things arguably changed in the early 80s with the rise of PCs and gaming. While programming certainly existed before that, it wasn't something that most kids were exposed to in high school and CS curricula in general were heavily theory oriented and often in the Math department. Today, if you want to be a mechanical engineering major there's no expectation that you lived in a machine shop all through high school or otherwise spent all your spare time in hobbies related to your college major. Whereas, a lot of CS curricula today at least implicitly assume that you're comfortable with computer command lines, basic programming, etc. And, if not, you'd better get up to speed in a big hurry. Because most people in your class are up to speed and program for fun. I went through a MOOC from MIT a while back (6.001) and I can't begin to imagine working through that from a baseline of maybe one high school course. ADDED: And, of course, you periodically see a similar attitude reflected on forums like this one when people argue that they won't hire someone without a GitHub repo who programs for fun nights and weekends.
- tim58 6y ago> Whereas, a lot of CS curricula today at least implicitly assume that you're comfortable with computer command lines, basic programming, etc. And, if not, you'd better get up to speed in a big hurry. I graduated a CS program in 2013. In my program there was no assumption of familiarity with the command line. I specifically remember several lectures about how to navigate a file tree on a command line, how to run programs on a command line, what STDIN and STDOUT were, what pipes were, etc.
- throwawayffffas 6y agoI wonder if this is a US or global phenomenon, I would love to see numbers from the rest of the world.
- partyboat1586 6y agoThe perception of computer science is slowly changing as it seeps into popular culture through TV and Film. As that changes more status conscious people will take CS, they will then be depicted in TV and film and you get a snowball effect.
- needAnAltHN 6y agoI know CS majors learn a lot of details about how programs work, but they don't teach science. I think there is a very small group of people who like tech, but are okay with not learning science and difficult mathematics. I do wish there was a software engineering degree.
- m23khan 6y agoI myself have Bachelors and Masters in Computer Science degree with 11+ years of full-time industry experience (Canada) and here is my opinion about popularity of computer science degree: - What is the point of getting a Computer Science degree when the people sitting besides you are also Tech Team Leads or Sr. Developers or Architects without a computer science degree? - Why bother spending so many years going through theoretical computer science courses when you could have gotten through some bootcamps, youtube vids, Leetcode, and spent time creating github portfolio? Ultimately its the frameworks (and sometimes certs.) which gets you the money. There is a reason why even Google dropped the 'degree' requirements for their Software Engineering positions. - When it comes to corporate IT: Among the most glorified of CS/IT career is that of a Software Developer (coding). And if I was to be biased, I would say those who didn't get CS degree and instead went to Community College for programming diplomas tend to better at picking up frameworks and churning out code. It seems that their minds are less cluttered with useless technical details which nobody in Corporate IT cares about. - Frankly speaking, Programming and even other CS fields (including niche ones such as Data Science / AI / Machine Learning) suffer from absence of licensing requirements. I am not advocating for one but from what I have seen, just about any office job outside of IT has set of licensing requirements (PEng, LLB, CFA, CPA, Securities course, etc.) and atleast in Canada, they want the "Canadian version" of CPA, CFA, etc. -- this ensures that new immigrants can't just walk into such Canadian jobs and safeguards them against offshoring to an extent. Despite all this, I am still glad that I have my CS degrees because that is just me, it's fits my thought process and personality. I really didn't do it for the money. I just feel I couldn't have done any other degree besides a CS degree - it's not about harder or easier.
- tosser0001 6y agoThe problem is CS is just a miserable field to be in unless you really, really enjoy the grind of it. To me it comes down to some CS-specific version of Mike Tyson's (perhaps apocryphal) quote "everyone has a plan until they get punched in the mouth" - something along the lines of "Everyone has fun programming until they have to start debugging". My city has several years of programming courses at the high school. A lot of kids sign up for the first year but the numbers rapidly fall off. They start the kids off with the basics and doing simple programming exercises. Generally they have fun while they are being successful getting boxes and lines to appear on the screen, but as soon as things get the slightest bit complicated and the students get into the weeds of debugging the enthusiasm dissipates pretty quickly. It's not that most of these kids don't have the intelligence to tackle it if they wanted to; they personally just don't find it fun at all.
- arethuza 6y agoAn an aside: I would say debugging is one of my favourite bits of programming!
- orobinson 6y agoNothing quite matches that triumphant moment when you finally discover the root cause of an issue that's been bothering you for days.
- ghaff 6y agoAt which point you bang your head into the wall because the fix is so bloody obvious. :-)
- arethuza 6y agoI am inclined to shout "You f*ing idiot!" at myself if it was my own fault. Yet another advantage to home working!
- Maximus9000 6y ago
- ironman1478 6y agoI personally think CS is generally taught extremely poorly, specifically any portion where a professor attempts to teach you to code. It generally just comes down to opinion and memorization, its not really fun. I had the experience of having more project based programming classes (like a game or operating system) and that was totally fun, but classes where you have to implement tiny examples of OOP or something are so unbelievably boring (this is what I imagine the cs101 classes are at many schools). If that was my intro to it, I don't think I would have stuck with CS. I also think the theoretical stuff is taught poorly too, it can just be so dry. I think a big issue is you are taught that a concept exists, you don't necessarily go through and try to solve it yourself. I remember my intro to sorting was "here are all the algorithms you should know", not "try to come up with a strat for putting numbers in order." The latter is significantly more interesting and engaging.
- spaetzleesser 6y agoMy theory is that a lot of people would hate working in computer science and programming. For most people this kind of work is very tedious and boring. You have to be cut out for it.
- jkire 6y agoFWIW I've been coding since my early teens and enjoyed it a lot, but when it came to university (in 2009) I had very little interest in doing a CS degree and instead opted for Maths. The two main reasons were: a) I knew that doing Maths instead of CS wasn't really going to hinder my job prospects in any way, and b) CS sounded a lot drier and had fewer options and choices than the Maths degree (in the UK you apply for the course and you generally don't do anything from other courses, so your choice matters a lot). The first point I think has born out fairly well, even if it was probably a bit arrogant. Certainly when I'm interviewing grads I'm not actually that interested in if they did a CS degree (though that might be more because I didn't do one...). We don't really do early stage training so we're looking for evidence that the grads can actually code, whether its by pair programming, via questions or looking at personal projects, etc, its the people who have done it as a hobby that tend to shine there. The second point is highly subjective and obviously quite personal, but equally if people know they can get into software engineering without a CS degree then I think they're more likely to do a course that really interests them. After all, if you it doesn't effect your job prospects that much then why wouldn't you? There is a fair argument to be said that the industry should be better at hiring CS and code camp graduates and doing on the job training, but that's not where we're at currently, alas. If anything I tend to view CS as the academic arm, and software engineering as the practical/vocational arm. In the same way e.g. law works (at least in the UK), where actually most lawyers haven't done law as their first degree and do a conversion course after instead (often getting a contract before doing the conversion cause and then having the firm fund it). Really, its the classic argument about how much university degrees should be academic vs vocational.
- CWuestefeld 6y agoI think this is the crux of it. What we're doing as software developers is not a scientific discipline, it's engineering. So if you want to be a software developer, computer science is the WRONG field for you. Computer Science is largely concerned about things like algorithms and complexity, theory of automata, and stuff like that. They're doing research. Software developers care about those algorithms, but we decidedly do not want to be implementing them. I've got libraries, where somebody already took care of coding the hashing or binary-tree-rebalancing algorithms, or databases with the same. There's really no reason I need to be able to explain how quicksort differs from bubblesort. But what we DO care about is how to gather requirements, how to perform proper modeling and design, and stuff like that. Yet those are classes in the engineering school, and not required of CompSci majors (at least not back when I was in college). The result is that folks with a CompSci degree are ill-prepared for a career in software development. They never use at least half of what they were taught, while on the other hand, at least half of what they do wind up needing was never taught to them.
- jatinshah 6y agoIt's more to do with existentialist crisis of computer science education, not status or pay for computer science grads. Computing has become a part of every major industry and computer science by itself is closer to applied math and such fields, valuable but by itself not very useful. Most professionals in most industries need to know quite a bit of computing skills to be effective.
- ketanhwr 6y ago> existentialist crisis of computer science education Exactly what I've been facing for the past few months. I graduated as a CS Major last year, and I've already started doubting it. No clue how to deal with it
- lammalamma25 6y agoThis isn't a full explanation, but might be worth thinking about. CS bachelor's education track is unique enough it is hard to switch into. If you are electrical/mechanical/aerospace engineering you're taking a lot of the same classes until your 3 year or so. You can change your mind and switch majors within the hard engineering fields. It is similar if you want to switch from biology to chemistry etc. At least in my experience a CS degree starts and ends there. If you want to switch into CS you almost have to start your courses over unless you were computer engineering. So out of the average % of students switching majors, some switch out of CS, but very few switch into it.
- ghaff 6y agoElectrical is fairly different from mechanical. Mechanical engineers do take some electrical engineering (and there are analogs between the two fields in areas like system dynamics although the examples are different) but there's quite a bit of fairly early-on coursework about fluids, material behavior, mechanical design, etc. Mechanical is closely related to aero and ocean but not so much electrical. (At least beyond basic core physics, calculus, etc.)
- chasd00 6y agoIt's a tough degree compared to many, heavy on the math and very tedious at times too. I know when I was in school the class sizes started large and ended small.
- Dumblydorr 6y agoI love STEM, but I went towards biology because my high school had a fantastic biology program that showed me how fascinating life is. It wasn't until I needed to analyze data on biology experiments that I coded. There was literally zero coding or Linux or explanation of computers at middle school or high school, in Providence RI, FWIW, around 2000-2010.
- x87678r 6y agoCS is a bifurcated world. Yes there are very well paid people in FANG companies and in Bay Area start ups. The reality is that 90% of IT people are working in a cubical making bug fixes to TPS reports in nondescript corporates where they're just another cost center - until they hit their forties when it gets tough to find a job. Most people see that reality.
- commandlinefan 6y ago> working in a cubical Oh, if only...
- non-entity 6y agoGoddamn, why didnt I choose a different field. Funny enough when I was a teenager I wanted anything but to become the latter guy, I even had my own unrealistic goals to avoid it. Unfortunately reality would kick in not too much longer later and I was forced to resign to that life.
- kazinator 6y agoA CS degree program isn't something you can get into by knocking on the door and saying, "Hi, I'd like to study CS because there are well-paid jobs in Silicon Valley". Moreover, university departments tend to only tighten their entrance requirements with increased interest in a field. Article also conflates "earned degree" with "majored".
- umvi 6y agoPersonally I think something like Electrical Engineering is more valuable. At my company EE folks are often competent in both hardware and software, but the CS folks are completely incompetent at hardware and don't even understand basic GPIO usage.
- niknetniko 6y agoA lot of EE folks I've met _think_ they are competent in software, but I'd beg to differ. Similarly, I've met plenty of CS majors who know their way round hardware.
- umvi 6y agoDepends on definition of "software competency". Lofty functional programming in Haskell is quite different from low level driver programming in C. I doubt you could take a world class Haskell programmer and throw them in linux usb driver land and expect them to perform well.
- DigitallyFidget 6y agoI never ended up finishing my degree because it became trivial and pointless by the time that I got a job and started gaining actual real experience and learning that the college/university teaches you idealistic and fantasy concepts of how IT should operate. Reality I've experienced is that it's absolutely nothing like that, places are build upon decades of mixed generation technology, only upgrading a little part here and there. I've moved on from the dig-in hands-on of IT and now do a strange combination of electrical engineering and network engineering. I was working in IT at an amusement park which I cannot compare to any other business to how it functions because the best comparable description would be to describe it as supporting IT for an entire town and all its businesses. What I ultimately learned and took away from that is a fresh BS graduate is basically worthless in comparison to someone who has at least one single year of real experience because it boils down to the requirement that schools do not teach. That skill is troubleshooting, to be able to swiftly and intelligently resolve a problem. It's not something my schooling ever put any major focus on and so as I gained more and more experience at a vastly faster rate compared to going to school, I realized how worthless the degree really was. It was just a meaningless statement. The second thing is all the certifications, and that's what, I believe, is valued higher than having a degree, but about equal to experience. Search engines have provided me with more knowledge and answers than 8 years in school could ever come close to. That's just my experience and view.
- FHermisch 6y agoI studied CS up to a German Diploma (comparable to a Major-Degree) and it was hard. Now, ten years later, with all that advances in AI I finally know why I had to learn all that theoretical stuff: for the future to come. Do your major degree, it makes the future more fun!
- deleted 6y ago[deleted]
- harrygeez 6y agoAnd yet, it feels like it's increasingly competitive to get into a prestigious CS program?
- pelasaco 6y ago"Anti-women culture. Tech companies and CS departments have the reputation of being unfriendly to women. " No way CS Department is worse than Laws Department.. It's hard to pinpoint the Women in IT issue, but last years there are a huge movement trying to make everything more gender neutral in IT... Which other branch is investing more on that that ours?
- runawaybottle 6y agoBootcampers mostly solidify that software is not well regarded. If you go through bootcamper after bootcamper LinkedIn profile, you can easily see software was there second or third choice. They pivot to it as a backup.
- pelasaco 6y agoThe vast majority of people working on IT are not really doing software development but system/network administration.. and for the vast majority of the jobs you don't need a major in CS. I remember when I finished the university in the end of 2006, our knowledge of networking after the university, wouldn't top any Cisco Network Administrator certified professional.. Yeah I could implement a Double linked list and do a lot of Math, but I had no idea of how to work with BGP, spanning tree and etc..
- knudsen80 6y agoGreat article. I majored in Electrical and Computer Engineering roughly 20 years ago at a top US university. Even then, my classes were probably 2/3 international students. I fear that the recent rhetoric from the White House (shutting down H-1B visas) and general impact of Covid on globalism is going to make this problem in many countries like the US. Just as the legal and medical fields got saturated in the 80s and 90s and the preferred career track for high pay and job security, I predict that the same will happen with computer science in the near future. I think most future innovation will come from fields like biology.
- PeterStuer 6y agoCS is seen as leading up to a blue collar job executed behind a desk that requires a particular kind of mental aptitude and dedication. It comes with low intrinsic social status and even stigma attached. The skill set and personal characteristics that it thrives on are nearly opposite of those that do well in corporate or societal careering.
- racl101 6y agoEven though this is anecdotal, I know a lot of people who have majored in Computer Science, but they're all employed as programmers doing mainly web development, in particualr, CRUD apps.
- deleted 6y ago[deleted]
- jeffdavis 6y agoCS is a specialty. It is in high demand, but it's also centralizing. If you are in the periphery, it's easy to miss out on a lot of that demand. It makes sense to reach out to build diverse CS talent, but I'm not sure that it makes sense to reach out for greater numbers.
- subsubzero 6y agoA few observations I have seen(US Based): - In college there were basically no women in any of my classes, like 1 or 2 in a class of 30-40. Not having an entire gender being interested in a field(generally speaking) makes numbers overall very low. - In a Java class I took in college, it was standing room only for the first two sessions, after 3 weeks the class was 70% reduced, by the end of the class it was about 25% of its original size. CS is hard, lets be honest(for most people), to excel you have to love it or be mathematically inclined. - People, when looking at a career don't see CS as long term choice, they hear of burnout due to extreme overwork, and blatant ageism when you hit 40's. I asked a friend who went into the medical field about CS and they said they want to work into their 60's-70's and didn't want to be forced out of work due to age bias. - Most engineers don't have much 'clout' in a organization that isn't a pure tech company, I have been solicited by GS and other hedge funds but always pass as I know I will always be 2nd fiddle to finance folks/business majors.
- chosenbreed37 6y ago> - In a Java class I took in college, it was standing room only for the first two sessions, after 3 weeks the class was 70% reduced, by the end of the class it was about 25% of its original size. CS is hard, lets be honest(for most people), to excel you have to love it or be mathematically inclined. Yes CS is hard. But arguably so are Maths, Physics, Psychology, Medicine, Law, Engineering, etc. I wonder what the drop out rates are for those are. And more importantly they seem to be popular in terms of the numbers of people that want to pursue those courses. > - Most engineers don't have much 'clout' in a organization that isn't a pure tech company, I have been solicited by GS and other hedge funds but always pass as I know I will always be 2nd fiddle to finance folks/business majors. I think you're right about this. Although you get some clout as a Quant developer in those types of places
- chrisseaton 6y ago> In a Java class I took in college, it was standing room only for the first two sessions, after 3 weeks the class was 70% reduced, by the end of the class it was about 25% of its original size. CS is hard, lets be honest(for most people), to excel you have to love it or be mathematically inclined. I don't understand how a college survives 75% of their students dropping out like that? And do they not interview and assess people going in for aptitude?
- screye 6y agoCan we talk about how much more CS people are expected to work than people in other fields ? For most people here, CS is their hobby. So a lot of learning and knowledge acquisition happens during 'leisure' time. This is rarely the case in other professions. If we count all the time we spend resolving environments, getting setups right, learning new tools and reading papers as work (as we rightly should), then most people in tech would be working far more than 55 hours/week. This already ignores a lot of the quiet time people spend pondering over things and letting them stew semi-consciously. CS work is flexible, but is not easy or less-time consuming by any means. If we try to force people into CS, then we will get what India has. A massive glut of incompetent tech 'talent' with BS in CS, but need to be retrained all over-again to even do the most mundane sweat shop coding that companies like Infosys and TCS need their employees to do. (I say this as an Indian). Millions who hate their job, earn low pay and have a very small set of nontransferable skills, because what they actually know is 'sweat shop tools' and not CS. IMO, if there is any demographic that AI/ML is most poised for eradicating, it is likely this one. If CS in the US wants to increase participation without compromising on its present identity, then the only solution might be to foster interest and love for science/math/coding early in life and hope you can cast a wider net to capture everyone who would come to consider this profession a hobby. Alternatively, it can go the way of every other mature profession and turn into a 9-5 boring thing you hate, but still continue doing because you need to put food on the table.
- Pfhreak 6y agoI know plenty of contractors who improve their own homes in their spare time, artists who paint in their spare time, writers with side projects, teachers who do planning/look for lessons, etc. etc. That said, I think we'd all be better off if engineers demanded collectively not to work more than 40 hours. (Tech unions/guilds could be formed and focused just on stuff like limiting hours/paying for overtime and oncall, btw.) I've done it individually, and it has never slowed my career progression -- even when I worked at Amazon, I was adamant that my family and personal time came first, but I still was promoted regularly. I still code in my spare time, but it's totally unrelated to work.
- 6y ago
- Taylor_OD 6y agoEh. I grew up in a rural area. Took two basic coding classes in high school but I didnt realize being a developer was a real option for anyone other than very smart math lovers. My college didnt have an actual computer science program. I don't think I would have been an amazing developer but I think I could have done the job, and would have, if I knew it was a realist option at an earlier age.
- csa 6y agoI thought about adding CS as a second major. Then I saw how much the CS majors had to work. The CS program at my alma mater has/had a reputation for having some extremely time intensive courses — iirc, some courses had weekly homework assignments that took 20-40 hours per week (per course). Maybe it was just a few courses that were weeder courses, but I didn’t think that was the best use of my time in college. It seemed excessive and perhaps abusive in a hazing kind of way. Maybe they thought having ENIAC on display would motivate people through the grind. I didn’t mind working hard in school, but I definitely wanted to explore things outside of coursework. I also already knew how to program, and I didn’t need a CS major to get programming work. The benefits of a CS degree just didn’t seem to be worth that much at the time (this was decades ago, so it may be different now).
- dylan-m 6y agoI got about 8 years into my four year degree program in between interesting part time and then full time jobs on the side, and recently came to a set of realizations: 1. I'm never going to finish this damn thing because I keep failing or almost failing math courses (and it happens the three required courses I have left are gated by math courses). All it does at this stage is make me feel inferior. (I do suck at thinking mathemetically, but I guess I've sucked at it for long enough I can deal with it in practice. Alas, they aren't buying it :b). 2. The only required course that remains which I'm really interested in doing is about writing a compiler, but I could do this myself. I'd miss having the excellent prof who teaches it, but that isn't worth the tuition until then. I already found my way into the others. There were some good ones which I'm really glad I did. 3. Upon graduating, my job prospects wouldn't change. Things are going fine. I might regret not having the piece of paper if I want to switch fields, but… 4. Outside of two or three excellent CS courses, the courses I have most enjoyed and grown from have been humanities and archaeology electives. They have a more interesting, diverse range of students; heaps of opportunity for cross-discipline thinking; and content I genuinely know nothing about, would like to learn about, and have no idea where to start. If I decide at some point I'd like to finish my degree, I'd probably take more of those courses and try to find an applicable degree than suffering through more CS. The trouble with CS is (as a job training program, as opposed to a program about science and mathemtics), if you're the type of person who's doing the degree program because you're already doing this stuff, there's a decent chance you could find a relevant job while you're still at school. And that job _also_ provides educational opportunities, because that's how our field works. Unless you are in a place where that four year full time degree thing works for you, it makes itself irrelevant.
- aSockPuppeteer 6y agoOne of my professors I liked told me she “Will not start teaching a class until she can do 100 practice problems in the subject she teaches”. We had an 84 year old lady pass the class with us. I don’t know what you’re struggling with but maybe retake a previous Calc 1 class to pass calc 2. Audit calc 3/statistics so it’s just practice. Obtain a different book and do the entire thing on your own, not only the even or odd problems. I had to hate math and the embrace the suck to start enjoying it. Wolfram Alpha is a good friend in math.
- gHosts 6y agoBecause there are such perverse incentives in Academia that what they do and teach have no relevance to anybody. eg. There was a major linux conference at the local university.... Full of cutting edge real world OS / HW stuff. The CS department didn't bother to attend.
- LockAndLol 6y agoCould it simply be that the degrees are now being called "computer engineering" instead of "computer science" degrees? That would be a simple explanation of this observation.
- crb002 6y agoWeed out courses, lack of real world requirements analysis/editing/testing skills. Think of Journalism where they don’t actually teach you to gather info, edit , and collaborate.
- JSavageOne 6y agoI'll give my personal take as a ex-CS major who dropped out to major in something else (math), tried to escape a career in software development, and ultimately wound up back in it when I saw how much more work and stress the other alternatives were (for me at least). - Computer science to me sounded way more fun than it actually was. I loved building things and programming, but that's not what CS is. CS is theory. I was bored to tears learning about sorting algorithms and binary search trees. Same applies to machine learning and AI. The reality of studying it was way less fun than the idea. Even my AI professor acknowledged that. - As someone who'd always taught myself programming on my own, I didn't see the point in dedicating my 4 years of study to something I felt like I could teach myself. Since there was a good chance I'd probably end up working as a software engineer anyways, I thought it'd be smarter to study something I probably wouldn't otherwise ever teach myself on my own. - This is rude and shallow, but I didn't like my CS classmates. There was such a disproportionately high amount of weirdos, and I didn't want to be surrounded with those people all day and god forbid become one of them. I vividly remember studying in the CS lounge and having to stop myself from face-palming. If I was a sociable kid it probably wouldn't matter, but as a socially awkward kid it would be too easy to only be surrounded like similar people the rest of my life and never evolve. - Software engineering seemed boring, just being stuck in a cubicle all day. I did an internship as a programmer, and although it was relatively easy, moderately interesting, and stress-fee, I was terrified of the thought of spending the rest of my life in that cubicle. - I wanted more money and status. At the time (almost 10 years ago), it seemed that finance was the highest paying and most prestigious field to go into. Finance sounded more exciting, and I liked the idea of their being no ceiling on compensation, whereas software engineering seemed capped at $200k/yr. Of course now things have changed, and tech comp at big corporations tops out at more like $500k/yr (or more if you get equity and win the startup lotto), and tech is way more respected than before. High finance still pays the most, but those jobs are basically limited to Ivy League graduates, the hours are insane, authoritarian work cultures, no remote work, and IMO the work is extremely boring and utterly meaningless, even moreso than software engineering where at least you're actually creating something. Of course my views nearly a decade since graduating have evolved. I gave in and took on a career in software engineering, which I've attempted to leave at times but always ended up returning (though once I'm financially independent you better believe I'll be gone for good). But at least at the time those were some reasons why I dropped my CS major despite being convinced since high school that that was my calling.
- deleted 6y ago[deleted]
- karmakaze 6y agoWhat do people here consider to be CS? I couldn't really tell from the article. As I recall, CS was in the math faculty and dealt with theory and core principles or developments, stuff you typically read in whitepapers. Regular programming/software programmes were in the engineering faculty, as well as some software development being covered to some extent in all the eng programmes. I also recall CS + computer eng made up a large fraction, about as much as all the other math depts and more than physics + biology combined. The title suggests that there aught to be more and I'd agree that grads going into computer science fields should be better prepared but I don't think that has to be via a CS degree.
- tolger 6y agoAs the article states, many developers have degrees other than CS. I have a BS/MS in Mathematics and have worked as a developer for the past 20 years. Interestingly, back in the early 2000s, it seemed that having a degree in Math was actually an advantage for me. I think I got a lot of interviews because of that.