Live data from Hacker News

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

danwang.co

31–40 of 77 posts

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

#31
post #10
post #8

Earlier quoted context omitted.

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.

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.

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

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

This comparison is absolutely correct. I've been in the computer field for over 20 years with a CS degree, and never really needed it. Most businesses only care about making money. Unless your unique algorithmn costs less to implement and can make money right away, you are out of luck. Hell, all the stuff you learn at school about algorithms and faster ways of doing work, has been negated by hardware advances that ma…

> all the stuff you learn at school about algorithms and faster ways of doing work, has been negated by hardware advances that mask poor coding practices

Sometimes it isn’t, and we end up with Electron on the desktop :(

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

#33

Earlier quoted context omitted.

This comparison is absolutely correct. I've been in the computer field for over 20 years with a CS degree, and never really needed it. Most businesses only care about making money. Unless your unique algorithmn costs less to implement and can make money right away, you are out of luck. Hell, all the stuff you learn at school about algorithms and faster ways of doing work, has been negated by hardware advances that ma…

All business only care about making money. Well, that or getting acquired....

That’s just a roundabout way of making money.

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

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

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

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

I worked in a building designed by one of the great architects. The roof leaked.

I ran into a guy responsible for roof repair for company buildings on a flight. He said, "the greater the architect; the worse the roof leaks."

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

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

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

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

And, on the flip side, you don't need a goddamn degree to think about algorithmic complexity. It's pretty basic stuff at the level most developers ever get to care about it.

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

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

Seems like good preparation for the workforce.

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

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

Side story: this is even true for pentesting (disclaimer: not a pentester, I was helping a friend to break into the career). The most recognized certification (OSCP) is about killing CVE's and dodging rabbit holes, that's it.

What I did on hackthebox.eu recently was:

reverse engineering x64 assembly into C (silly, I should've used Ghidra instead). Then I started exploiting the heap by poisoning the t-cache, with that I could overwrite the GOT (getting an arbitrary read/write). Leak libc's base address bypassing ASLR, then using return to libc to exploit the thing (a ROP technique).

Most of these things I learned during my CS master and it's apparently overkill for something like OSCP. More importantly, not all skills overlap. Dodging rabbit holes is not something you learn well. Understanding how to reverse engineer a binary has not much merit when it comes to finding a CVE and using metasploit, or some script on Github. Dodging rabbit holes and being fast at finding the right CVE's and using them properly to exploit a target are skills in their own right.

Post reply on HN