Live data from Hacker News

Why do so few people major in computer science?

danwang.co

401–410 of 627 posts

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

#401
CS requires a decent amount of smarts, requires constant learning, and is boring to most people. This is enough that it will never be an attractive job to most of the population.

Why isn't it drawing more engineers though? I think CS is seen as the risky choice for an engineering job. There's been multiple tech job boom and bust cycles over the years. Why pick CS when most branches of engineering pay almost as much and don't have nearly the risk?

Another thing I've seen happening firsthand is other professions getting dragged into the CS sphere. I know multiple electrical engineers that spend their days writing code now. Circuit design is becoming largely automated, they just need coders that understand the circuits. Same with marketing, I know a couple guys that majored in marketing who spend their days tinkering with WordPress. Finance too, basically all trading has some level of automation. Probably half the people writing code now never intended to. I like to think this, at least in part, is why so much code appears to have been written by satan.

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

#402
post #289

Earlier quoted context omitted.

In my experience it is much more stressful and hard to learn these things for a course, because you're not interested in them but HAVE to use them in order to do something (e.g. hand in your assignment with git). Now I'm looking at git again in my free time it's a pretty nice tool, and I can't imagine that I loathed it so much when I had to use it for a course.

It's great that this was part of an assignment. Git is a fantastic, incredible tool. Along with testing, it's one of the skills I figure is just as important as the things you learn in university, but which typically isn't taught there.

No, everybody hated it. I didn't learn git. There was a weekly assignment, and I ended up mailing the TA every other week at the day of the deadline because I broke the repository again (thankfully, he was very understanding and helpful). Maybe this is a consequence of how the assignments were structured. I don't remember exactly, but there was no introduction and the workflow was not the typical add, commit, push one.

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

#403

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…

> The grief factor of learning to code is on a different scale to every other major.

'Cept physics. Misalign a mirror or shake the table and all your experimental data is bogus, and you don't find that out until you've analyzed your data and realize it's nonsensical.

I suspect other hard sciences (chemistry, biology) have similar issues, but am not familiar enough to judge. I started out as a physics major and switched to CS in my last semester...CS is hard, but not nearly as hard as the hard pure sciences.

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

#404
post #162

Earlier quoted context omitted.

And my own experience is that I learned coding and using Linux on my free time several years before entering college, where I studied engineering, which required no little effort. Programming is hard, I'm not denying it, but so is everything else if you plan to get paid doing it.

In my experience it is much more stressful and hard to learn these things for a course, because you're not interested in them but HAVE to use them in order to do something (e.g. hand in your assignment with git). Now I'm looking at git again in my free time it's a pretty nice tool, and I can't imagine that I loathed it so much when I had to use it for a course.

It's incredulous how people can find git daunting; especially the simple usage most make of it. Yet, I constantly see people refer to such simple and easy to use CLI tools as an obstactle in CS courses, not a helpful tool. Welcome to the fulfilled prophecy of the movie Idiocracy. This is why MIT had to stop teaching SICP and why many courses uses Java instead of C... Good luck learning pointers and assembly then. Good luck ever knowing how to create and manipulate data structures, how to create a filesystem, database, OS, scheduler, etc; or how to develop/improve and implement algorithms used in ML and AI (to be fair, this is math... and which is why programmers need to stop avoiding math, it's another issue, but related. stop avoiding complexity, because it's a fucking big and scary monster lurking beneath everything you're working with, just waiting in the dark...)

What we need is people who understand the complexity we constantly throw more shit on top of; it's only going to get worse the more data points and networking we have to deal with. Pretty soon we're going to have a massive network of autonomous vehicles on physical, country-spanning networks of roads. For this we need systems people. Not front-end developers. The sad thing is that most programmers are absolutely useless when shit hits the fan.

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

#405
post #221

Earlier quoted context omitted.

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…

Hmm.... Many CS101 courses are extremely easy; have a look at something like Harvard's CS50, which many people also take online. There's always somewhere to start for people who's hardly used their computer for more than just browsing.

I thought that until I saw some of my otherwise very smart friends try to take the course. "extremely easy" is extremely subjective.

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

#406
One possible answer: you can learn computer science without needing a degree at all, and subsequently prove that you've learned it by just writing a program that works.

That makes a CS degree inherently less valuable than almost all other degrees out there. Why would employers request a degree saying you know your stuff, when they can just ask you to prove it directly?

I was recently st a meetup and met a guy I went to school with. When he was in the process of acquiring his masters degree in physics, he was contacted by Google, who wanted to employ him. He went to an interview (which, apparently, was several interviews by different people all working for Google), and he got the job and moved to Ireland to work for them. Moral of the story: get a degree which offers the greatest value for money, and learn CS in your spare time, for free.

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

#407
post #406

One possible answer: you can learn computer science without needing a degree at all, and subsequently prove that you've learned it by just writing a program that works. That makes a CS degree inherently less valuable than almost all other degrees out there. Why would employers request a degree saying you know your stuff, when they can just ask you to prove it directly? I was recently st a meetup and met a guy I went…

That is not "computer science" any more than spotting constellations makes you an astrophysicist.

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

#408
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…

> We had an economics teacher in college who was famous for asking the engineers to stand up on the first day of class and then stating that they would be excused from the finals as they would all have above a 95 and not have to take it.

To be honest with you, that teacher sounds like a real tool. All that that can possibly achieve is to breed various subtle forms of animosity, either among classmates or towards engineers or towards the teacher or the course.

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

#409
post #238

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…

One of my professors actually made the opposite point: that in CS, the compiler will give you an error. You can fix it and move on to the next. While in math (he was a math prof), the paper doesn't object to your writing nonsense. If you have an error early on in your work, all the rest might be nonsense, and you only find out much later after a human grades it. tl;dr at least in CS you get immediate negative feedbac…

I agree. In no other area is the feedback loop so fast and can "experiments" be repeated so conveniently.

Incidentally, this is also why we see so many "experiments" in production code, which is the downside.

Post reply on HN