Live data from Hacker News

Why do so few people major in computer science? (2017)

danwang.co

61–70 of 77 posts

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

#61
I skimmed the article so tell me if I'm missing something here but in my experience computer science isn't the major of choice to become a "programmer" anymore.

Having gone through the hiring process at three different companies focused on both desktop and web based software, computer science majors were an extreme minority. Most people had a business degree with a programming component attached like Management & Information Systems.

Maybe it its worth looking into how many would be CS majors choose to do the less math intensive but more industry relevant business school option.

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

#62

Earlier quoted context omitted.

> People hit calculus, which is almost never needed in the job market, and they give up. This is almost like saying, basketball players don't need to do pushups during the basketball match, so basketball training should skip push ups. The reason all engineers and scientists (computer or natural) should do calculus/differential equations/hard math courses is because these courses make students smarter. They are a form…

Most developers are “dark matter developers” despite the HN/Silicon Valley bubble. The complexity in business/enterprise software isn’t the computer science it’s understanding the business. I find most “computer science” people don’t want to actually worry about producing products that people want nor do they want to worry about the actual business domain. There is a reason that despite all of the “smart people” that…

Sure. I won't disagree with that. But the university is offering a computer science degree, which is creating skill in computer science. If people want expertise in business, they should supplement with a business degree or on the job business training.

Or convince some university to create a "software business" major so they can streamline themselves into a management role at a software company.

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

#63

Earlier quoted context omitted.

Most developers are “dark matter developers” despite the HN/Silicon Valley bubble. The complexity in business/enterprise software isn’t the computer science it’s understanding the business. I find most “computer science” people don’t want to actually worry about producing products that people want nor do they want to worry about the actual business domain. There is a reason that despite all of the “smart people” that…

Sure. I won't disagree with that. But the university is offering a computer science degree, which is creating skill in computer science. If people want expertise in business, they should supplement with a business degree or on the job business training. Or convince some university to create a "software business" major so they can streamline themselves into a management role at a software company.

So exactly what do graduates do with a degree of it isn’t to earn a living? Money comes from producing products that people want? All of the great “research divisions” that couldn’t productize died in favor of companies like Apple who focused research on products that people wanted.

Jobs famously killed Apple’s Advanced Technology Group that brought the world things like PowerTalk, OpenDoc, and QuickDraw GX. Microsoft’s Research division hasn’t done much better. I’ve already mentioned that Google has wasted untold millions on products that no one wanted.

But the bigger question is are the degrees actually preparing students for the real world outside of Silicon Valley where companies actually want people who can add business value? Will it prepare people to compete for jobs against cheaper foreign labor where they are more focused on actual “occupational training”?

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

#64
My CS degree if anything gave me a solid understanding of the line between problems you can solve with a computer, and the ones where you could throw technology at it, but you'll inevitably create more problems than you'll solve, because the real problem is a socio-political one.

It also gave me the framework of understanding to be able to reason about what is actually going on, and how. Being fluent in the major abstractions of a computer system allows you to more easily skip around between working in different real world contexts without getting flummoxed at your lack of knowledge on how that particular field does things. You know and can recognize the problems that you can best solve with a computer; so you just go ahead and fill the niche when necessary, and try to avoid the politics if you can/value your sanity/conscience.

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

#65
post #54
post #26

Earlier quoted context omitted.

As I wrote elsewhere, my money would be on the opposite if anything. Yes, there are base level science courses in high school. But you can sign on as a chemistry, physics, or mechanical engineering major with very little beyond some basic aptitude and interest. At many schools, on the other hand, if you're following the CS curriculum you're starting off with topics like algorithms and effectively teaching yourself pr…

My point was perhaps more on how much you actually get exposed CS as a subject before deciding it as something you would like to pursue in the future, unrelated to actual skill or interest in it. As an oversimplified analogy, in general, would anyone consider becoming a professional musician without having being exposed to instruments or music as a creative art form i.e. something you can actually learn and do? A hyp…

Yes, in music (and much of the arts), there's an expectation that if you're enrolling in a program at school you have some degree of prior exposure.

But mechanical engineering? Chemical engineering? Economics? I'd argue that kids going into those fields may have read a bit and maybe tinkered a little at the periphery. Maybe in the case of ME they were in a robot competition. Etc.

But, in the case of pre-calc physics in HS for example, it barely gives a hint of what being a physics major would be like.

I actually don't know how much exposure to programming there is in HS. I assume essentially no "CS" per se but then, they wouldn't have the math for the most part. But I'd argue there are actually a lot more opportunities to get exposure to computer-related stuff than there is for other fields.

(To the degree, per my other comment, that there is something of an expectation at many schools that incoming students, like music majors, will have done so.)

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

#66

Earlier quoted context omitted.

If you only need to glue code (house building) - no degree (or same self taught CS knowledge) is okay. However, most business problems will require some design choices beyond 3rd party vendor offers. Be it a library API design, software system architecture or something similar

Undergraduate CS courses do not teach library API design or software system architecture.

they do that by teaching fundamentals - problem solutions(thinking) with algos and their use cases, math, how to make/read a engineering chart, what is involved in IT systems and etc. You cannot skip those things. They need to be learned to design good APIs and software systems.

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

#67
post #8
post #3

A CS prof of mine said studying CS to later do programming is like studying architecture to later be a house builder. I find it an apt comparison.

Many (FAANG and other) companies interview with algorithm puzzles that are fairly well aligned with undergraduate algorithms courses. Perhaps one purpose of such interviews is to select people based on how recently they took an undergraduate algorithms course or equivalent.

It's brilliant really. How else would you select for people straight out of school (age), with the time (few commitments and probably no dependents) and willingness (willing to jump through arbitrary hoops before you're even their boss) to grind all variations of the interview problems, all while maintaining plausible deniability to discriminating in these ways?

As someone who graduated recently and is going through this process right now - I always thought I would be set because I'm a decent problem solver, aced all my algorithms and data structures classes and generally could solve most interview style problems I came across. I've learned that this is not enough. An organic problem solving process might involve trying several promising approaches, or starting with a suboptimal algorithm and realising improvements to it, and then you might figure out an optimal solution. In many of these interviews the time constraints can be absurd, you basically have to have done the questions or variants of them recently to be able to write down the optimal solution in your first iteration.

Today my friend had a first round online screening from Atlassian - 5 questions in 90 minutes, and none of them were trivial warm up level questions. Compound this with the fact that it's often harder to solve problems and think creatively when you're under time pressure in an interview, and you realise that your only option is to do 200+ Leetcode problems and just hope your interview overlaps with those problems.

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

#68
post #10

Earlier quoted context omitted.

This is the only reason I can think of for still using this interview technique.

They use it since it correlates better to later performance review scores than anything else they have tried.

The only way they could know that is if they occasionally hired someone who failed the interview to see if they also fail at the job.

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

#69
post #45
post #37

Having completed most of CS undergrad, I can think of a reason that would discourage people to transfer into CS. Programming assignments usually take the most time to complete by far. As much as half of that time is wasted trying to decipher ambiguous requirements, unclear source code, or some other symptom of careless design and what seems like a total disregard for the student's time.

Replace “programming assignments” with corporate politics, deadlines that are defined with no actual thought behind them, and product owners that can’t write acceptance criteria to save their life. Sounds like its pretty good preparation from my perspective.

Seems like you and a few other people believe that having your time wasted is the nature of work, or at least that it is typical. If you're dealing with this on a daily basis and you feel like it is not worth it, perhaps it's time to find a new job.

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

#70
post #37

Having completed most of CS undergrad, I can think of a reason that would discourage people to transfer into CS. Programming assignments usually take the most time to complete by far. As much as half of that time is wasted trying to decipher ambiguous requirements, unclear source code, or some other symptom of careless design and what seems like a total disregard for the student's time.

Very much agree with this. In some ways it appears intentional. To avoid “giving away the answer” professors will sometimes hand you a very fuzzy set of loose rules, perhaps 2 example test cases and you’re off to the races. It’s funny because you can read about the same exact algorithm in Sedgewick or CLRS anyways, so I don’t know who they’re trying to fool.

Every time it happens it feels like my productive work hours are being stolen from me and there is no recourse. I'm considering (am going to, haven't had the time yet) billing my professor for time wasted.
Post reply on HN