Live data from Hacker News

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

danwang.co

41–50 of 77 posts

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

#41
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.

Oh huh. So it’s a lot like working as a software engineer, then?

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

#42
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.

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.

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

#44
post #29
post #18

Earlier quoted context omitted.

I'm not sure it's that apt... maybe it is, so long as you grant that architrctural study can help you design and build better houses. Sure, you can get the knowledge in other ways, and sure, some of the houses built by people who haven't studied architecture are great too. Some aren't though, and their builders could have benefitted from a bit of theory ahead of time. It's almost more like the relationship between ma…

>For those saying you've never been helped by your CS degree, [...] You've seriously never bothered thinking about, say, algorithmic complexity? There are lots of successful working programmers that will never need to deal with "algorithmic complexity" because "programming" encompasses a very wide spectrum of skills. I attempted to explain a rough categorization of 2 groups: https://news.ycombinator.com/item?id=12079…

> "...let's say a 30-year veteran of COBOL..."

That would be around the era of the Intel 80486 processor. All of us cared a hell of a lot about both algorithmic and data structure efficiency back then since computers were so feeble compared to today's systems; people who didn't couldn't produce programs that functioned properly.

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

#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.

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

#46
post #29

Earlier quoted context omitted.

>For those saying you've never been helped by your CS degree, [...] You've seriously never bothered thinking about, say, algorithmic complexity? There are lots of successful working programmers that will never need to deal with "algorithmic complexity" because "programming" encompasses a very wide spectrum of skills. I attempted to explain a rough categorization of 2 groups: https://news.ycombinator.com/item?id=12079…

> " ...let's say a 30-year veteran of COBOL... " That would be around the era of the Intel 80486 processor. All of us cared a hell of a lot about both algorithmic and data structure efficiency back then since computers were so feeble compared to today's systems; people who didn't couldn't produce programs that functioned properly.

>the era of the Intel 80486 processor. All of us cared a hell of a lot about both algorithmic and data structure efficiency back then since computers were so feeble compared to today's systems;

In the ancient 1990s, A COBOL programmer writing "green screen" terminal apps to hit a database on an IBM 360 mainframe doesn't deploy to 80486 desktop pcs.

Even today, if you type "COBOL programmer" into monster.com to search for jobs, most of the results will be programming work for mainframe environments instead of targeting consumer computers like iOS/Android/Windows/macOS/etc.

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

#47
I’ll be honest. CS doesn’t teach you how to program (anybody can learn that). CS teaches you how to think critically and analyze problems.

Also CS is just very difficult, especially with all of the theoretical courses. At a certain point, it becomes a test of your resolve as a person vs your ability to program.

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

#48
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.

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

#49
post #20

One possible theory that's not mentioned in the article is that CS has probably become less approachable for those who don't enter college already somewhat versed in at least the basics. Something that is pretty much not true at all for any other STEM major. I don't do a lot of programming myself, but I took an intro Algorithms in Python MOOC from a top school a while back. I think it's fair to say that, had I no app…

It's also less approachable for those that do know more than the current class being taught. I had been privately and self taught, going to a CS degree and learning the professor's dry and mangled way of teaching client-server architecture was like derailing a train I had been building for years and trying to drag it all the way back to the start.

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

#50
I graduated in CS. The education helped me in two ways:

1. Getting an internship and then a job at a large enterprise company right after graduating.

2. About 5 years in professional software development, I was starting to be included in architecture and system design discussion meetings with key decision makers on large projects. Where my non-cs colleagues with the same skill level could not keep up with the conversation.

During the time in the between, what helped the most was having the discipline to follow through on finishing small projects that would fill the gap in areas of software development that I didn't understand at the time.

I can see why most would be programmers would not want to study CS as it won't immediately help them become better programmers. In the long term, I feel that its worth it to have a grounded education in the industry that you work in. After a recent trip to the Bay Area, it doesn't feel that many new grads are about that dev life. The sentiment is get that 4-year, 1-year cliff and FIRE(https://en.wikipedia.org/wiki/FIRE_movement)

Post reply on HN