Live data from Hacker News

Why do so few people major in computer science?

danwang.co

331–340 of 627 posts

Re: Why do so few people major in computer science?

#331

Earlier quoted context omitted.

>The companies have to have some sort of filtering mechanism There's no one to hold companies accountable for having a unjustifiably high or low filter. And frankly I don't think anyone outside of CS has gotten those filters right any more than CS has. An incorrect filter turns into "Well, there's no one qualified to work for us" or "Well, all of these candidates failed to do the job" which leads to incorrect assumpt…

Well this is why a free market is great, if you think all these companies are doing things wrong, start your own and outcompete them.

You are assuming the companies care enough. Their current strategy is petition the government to open offshoring quotas. That's much easier and cheaper than actually figuring something out.

Re: Why do so few people major in computer science?

#332
post #304

Earlier quoted context omitted.

> The number of grads for difficult degrees and the quality of grads seems to be another story. This is why I never believed the "There is no STEM shortage" stories. They were mostly based on the assumption that all STEM grads were qualified to work in STEM. That's not true in any field where you can complete a degree with a C or D average. I find it unfortunate that some of the larger software companies filter out a…

At the risk of sounding foolish, but isn't it easy for a company to filter out applicants in technical fields, simply by asking technical questions?

Now there is a mini industry around getting people over that very low bar. FizzBuzz was a temporary patch, now we need a real fix.

Re: Why do so few people major in computer science?

#333
I'll go with a different angle on this problem. Computers have become indistinguishable from magic for most of the modern population. Even with IDEs like IntelliJ and Visual Studio, the interface of programming has not kept pace with the sexiness of GUIs. As a result, lots of young people take computers for granted and give up quickly when presented with UNIX, git, and the rest of the command line tech stack used by programmers.

I'd say that the decreasing percentage of women in computing has also hurt. When I starting working almost a couple decades ago at Cray, they had significantly more women in programming. Today, most hard sciences graduates are women, but only about 25-30% of CS graduates are women. I don't have a great answer why this fall-off is happening, but it seems to be a symptom of cultural issues. Maybe it's the influence of VCs and the bro culture bias of finance? I honestly don't know.

Re: Why do so few people major in computer science?

#334

Earlier quoted context omitted.

Trouble is, any good practicing programmer should know about all that and more (e.g. networking and UX). Of course people will have specialties, but they should have decent knowledge across the board. But they don't have to learn it all in school. The way for CS to cut itself down to a manageable size is to concentrate on the traditional "hard core". Compilers, operating systems, plus some newer (i.e. from-the-1970s)…

It's interesting to read someone else thinking that - I am about to graduate with my CS / Engineering degree, and I've tried to take classes which benefit from university instruction. The courses I've chosen and found most valuable have essentially been the ones you named: compilers (we wrote a compiler for a C subset), operating systems (we wrote a simple operating system with multiple processes), networks (implemen…

If nothing else, these classes were great because they removed the mystery of what happens after you write your code. Many jobs boil down to moving strings around the network, and many programmers draw a line somewhere in the towers of abstraction we've built to do this, and never cross it. But you'll have the priceless benefit of confidence that if something goes wrong, it's code all the way down, that you can understand and debug.

Re: Why do so few people major in computer science?

#335
One of the biggest factors that made me withdraw from CS was learning programming in high school. I had a teacher who wasn't able to communicate effectively and my own ego being bruised badly when I struggled and struggled to make code work. My second act more than a decade later gave me confidence with better teachers and internships where I saw even seasoned programmers make mistakes and develop multiple iterations before being done. This was an eye opener!

Re: Why do so few people major in computer science?

#336
Personally, I just didn't want the workload. My favorite semester was when I was taking 4 senior level math courses. Each week, I'd hunker down and knock out the homework over 2-4 hours for each class. For CompSci, it's more like 10-20 hours for each class. The workload in CS is just stupid.

Re: Why do so few people major in computer science?

#337
post #221

The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises. Even if you are of the opinion that CS is math, and coding doesn't come into it, you will hit a coding wall early on. In fact, every exercise in CS has this problem. You add a new thing (eg inheritance), and it breaks. B…

I don't think it's even the programming that's the problem. There's a ton of Stupid Computer Shit we all know, mostly from messing around on our own time, that makes programming or doing anything else with computers much easier. A set of skills for navigating and troubleshooting issues, and a hard-earned intuition for where and how to look for answers. My CS program was really easy and I still don't know how people w…

When I went to senior secondary school (class 11 and 12; this is before engineering college for 4 years starts here in India) I opted for CS as my 5th subject (4 courses are compulsory and you can opt for 1, or 2 more - you'll be scored on best 5). The teacher was doing it in C++. I still remember my first program was a for loop in C++ and before that I didn't know the C of Computers. I sturggled from the day 1. I had gone there from a village and I had never used a computer before. I just was good in Maths, Physics (or so they said and so I thought) etc and people said I should go for CS and I did.

Loop, increments, semi colons, returns, recursive everything was a deterrent. But this wasn't the real problem. The real problems were the teacher and the rest of the class. Pretty much everyone else, most of them were from the that city or other cities and had been doing CS from quite early on - many of them had their own computers to my surprise (it was quite pricey back then), as they didn't face any challenges and the teacher expected me to just go at the same speed and catch up somehow. I tried to seek his attention and get some help with the challenges I faced and he would just say a thing or two and move on, or ask a student to help me who'll help with "no, you have to put a '==' there, not '='" and I would never know why. At that time of of struggles books confused me more. I was shocked to see years later that why they didn't use C&R and why Robert Lafore and some Indian authors. Why? Also, this was also the first time I was introduced to the purely commercial nature of education where the "connection" in the class was missing right from the start which I was used to having been to boarding schools and semi rural schools.

I failed. Miserably. Again and again. But I still kept the course throughout 11 and 12, though I had a strong urge to drop it in 12 (just before the board exam; the one that matters and you get a certificate for this) and opt for something familiar and straight like Economics or Sanskrit which was I really good at. I don't remember why but I guess it was the urge to prove myself or get something that will get me or job or so; as that's what I had known about CS. I can't recall.

Anyway, for some reason my seat during the board exam (during CS paper; your seats change for all the papers) was diagonally behind my best friend who knew pretty much everythiing in the paper and I ended up scoring 3 marks higher than him out of 100. He's still cross about it.

Well, I never recovered from those initial CS trauma days. I still feel daunted by anything new in CS and get stressed. First I try to avoid it and question the need of it in the first place (like I did when I was asked to move to frotend/Angular from Android) and after a few weeks or few months when I have my hands dirty with it and I find it easy like muscle memory I look back and wonder why I was worried about it and it repeats.

Re: Why do so few people major in computer science?

#338

Slight note about Dan Wang picking 2005: That was the peak of CS degrees awarded because it's 4/5 years after the height of the dot-com bubble. So the upward bump in the mid-2000's is somewhat explainable as an anomaly. I think his point 1 is underrated. CS degrees are flat because aptitude is flat. You can compare CS degrees to other degrees over time at nsf.gov: https://www.nsf.gov/statistics/2016/nsb20161/#/report…

Who gives a hoot about IQ in 2017? That doesn't match what I see in the ground. I get 10-20 interns a year on my teams from big state universities and liberal arts schools with CS and stem degrees. They tend to be awesome. The best ones outperform most of the consultants you find.

> Who gives a hoot about IQ in 2017?

What does 2017 have to do with IQ?

Actually I think IQ is more relevant now since we have lots of incompetent people holding degrees.

Re: Why do so few people major in computer science?

#339

The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises. Even if you are of the opinion that CS is math, and coding doesn't come into it, you will hit a coding wall early on. In fact, every exercise in CS has this problem. You add a new thing (eg inheritance), and it breaks. B…

In practice, you don't have to know any of these things to be (or at least pass for) a programmer. Work at a large company, someone else takes care of the build. Use a git GUI app/IDE to take care of source control. Don't use anything new.

Of course, you probably won't progress very far career-wise (or maybe you'll become a manager...) if you never venture out of the little box. But the amount of effort you'll have to invest to reap a solidly upper-middle class income is pretty minimal.

If you spend 2-3 years in industry and don't get fired, you probably know how to code well enough to satisfy your employer. And at that point you're probably gonna get more (career) value working on soft skills like planning projects, managing expectations, navigating bureaucracies, etc.

Re: Why do so few people major in computer science?

#340
post #282

Earlier quoted context omitted.

Given that computer science isn't engineering (they are distinct but different disciplines), can you elaborate on what you mean by the engineering mindset?

Can't speak for OP, but the engineering mindset usually comes from those of us who go into the program that tend to be very mathematical and logical, while being obsessed with figuring out how things work. When a group of engineers sits down at a table to eat lunch, they could spend an hour arguing about how the restaurant could be more efficient...etc. These kids are often used to independent problem solving and don…

> the reason the riemann hypothesis is important is because it is the reimann hypothesis

I can see this being a joke. Entire subfields of mathematics have been built on the assumption that Riemann hypothesis is true. He probably assumed that everyone in the audience would know this, which is not unreasonable.

Post reply on HN