Live data from Hacker News

Why do so few people major in computer science?

danwang.co

201–210 of 627 posts

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

#201

Hmm. Perhaps because it tagtets a profession that just isn't that big, compared to dentists and doctors and accountants and lawyers. Almost every human needs one (each) of those folk. They don't generally need an algorithm expert.

It’s at least just as big, only less obvious.

While personally we might never need an algorithm expert, we’re using a lot of software each day. PCs, smartphones, stupid phones, cars, home appliance, they all run software which required many algorithm experts to make.

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

#202
That's a really interesting chart. I'm "lucky" enough to have gone to school around the time of the first dot-com crash and remember the surge of people into CS around that time -- most looking for the kinds of huge paychecks for little work that were becoming legendary during that time period. It was surprisingly hard to find and connect with peers that were authentically interested in technology, computing and similar subjects.

After the dot-com crashes, and 9-11, and lots of the ridiculous paychecks dried up, people left the major in droves. I remember my university in particular went from having to turn away students from the CS major to having major recruiting events for CS in the span of just a couple years, with huge swings in faculty count and facilities.

One thing that really came out of all this I think, was a better understanding by the public that CS != programming major, and companies were looking for programmers. It was then perfectly acceptable to take an easier major that focused on programming and get the same job as the CS student who had to endure a much more difficult course load. There was also an effect in industry as people who endured even harder majors found they could simply make more money as programmers and had the mental tools to get up to speed rather quickly.

I remember distinctly at my school at least, that students self-sorted majors by perceived difficulty in a way not too dissimilar and not too much out of agreement with the famous xkcd "Fields Arranged By Purity" https://imgs.xkcd.com/comics/purity.png

IIR the sorting went something like: any Liberal Art My school peers all sort of used major as a badge of rank in social functions even though it was kind of useless and stupid. But I think it also connects to this chart, by all accounts I've heard, there's a vast oversubscription of Biology majors and the way the market handles this is to introduce more hoops or very very low pay. In other words, it's virtually impossible to get a great job as a biologist without getting a PhD in the field. Chemistry is similar. But the same isn't true in CS on up.

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

#203

I think the market is just way over saturated. Hiring practices for developers point to just that. I mentioned in a different thread how simole it is for my travel-nurse of a sister to get a new job (her stints around the Bay Area paid ~100k and she only has 2 years of experience). Developers jump through hoop after hoop for employment, this wouldn't happen if they were in demand like a nurse. The market is just resp…

I don't know what market you're in, but it's definitely hard to find good people in Silicon Valley. Most of the time my company finds one, they have multiple offers. It's also difficult to believe in an oversaturation of developers when their salaries are at record highs -- that only happens when demand increases relative to supply. There is no union, and minimum wage is nowhere near what developers are paid, so supp…

I dunno, SV startups tend to measure programmers quality in a lot of superficial ways. There are many cultural fit, age and other random expectation that limit the pool. It is a bit like herd - you get to be in demand because you have the thing everyone wants now and a year later no one wants you because herd changed opinion. Your ability meanwhile did not changed.

If there would be actual shortage, companies would find a way to work with people who want to work from home (I know it is less effective and not for everything, but if you are really desperate you find a way) or part time or with people who are not quite cool at beer but will work. Companies being picky about things that are not strictly speaking ability suggest there is no shortage. It means companies are in position to be picky.

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

#204

Earlier quoted context omitted.

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.

Feel free to write me a check for the millions of seed money I'll need.

Do you actually need millions for a software consultancy? You're hiring people who wouldn't be employed elsewhere. You could pay them less and cut prices to your clients and everyone would come out better.

I mean you've spotted what you claim is a clear inefficiency. Your guys could be taking the jobs that Infosys and gang are taking.

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

#205
post #195

Dan nearly solves his own riddle with possible explanation No. 2: "You don’t need a CS degree to be a developer." He just doesn't spend long enough probing this issue. Majoring in computer science is like majoring in English with hopes of becoming a writer. Or majoring in economics with hopes of starting a business. You'll get all the theory. You'll mingle with all the lifers. But because you try to come into the gui…

I have to disagree; I routinely need to educate co-workers on how things like B-Trees works, what a sum type is and why it is useful, what the SRP means (and why it is useful), why testing matters, why abstraction matters, or even things like how to secure production servers.

To take the B-tree example: I've run across a number of people who I feel are more apt to blame "the database" for being slow; "it can't handle the load" being one of the excuses I've heard used as a "reason" to switch to an entirely newer database that "scales" better. The real reason that the DB isn't scaling is that the queries being run aren't properly indexed (i.e., there exists a B-Tree that has the column being queried, but that B-Tree nonetheless cannot effectively answer the query without reading millions of extraneous rows) and a fundamental understanding of how a B-Tree works is missing. (I find this most often arises on B-Tree indexes indexing multiple columns, e.g., for an index over (a, b), people mistakenly believe the index can effectively answer range queries on b without specifying a.)

To take the abstraction example: in a project I currently maintain, the codebase is incapable of doing anything other than being an HTTP server: the incoming JSON is handled at the lowest levels interacting with the storage systems, and those same storage layers generate the response JSON. (Though each is filtered and mangled a myriad of ways in between, but it's all dicts and lists, from top to bottom.)

> the opportunities for non-CS majors to pick up programming skills via electives or non-classroom projects are huge.

You're not wrong that these opportunities exist, but in my experience, while they do indeed teach people how to code software, they do not teach people how to engineer software. A math/physics major may only need their simulation to run on their input, but building stable server-side systems that won't wake you up in the middle of the night is a different thing altogether.

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

#206

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…

[deleted]

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

#207
post #44

One possible answer no one has mentioned so far is that there many smart, capable people who do NOT want to spend hours every day sitting at a desk, in front of a computer, focused on code, with limited human interaction... so they pursue majors in other fields.

That is bullshit myth, frankly. It is no different then any other white collar job - economist spend spend hours every day sitting at a desk, in front of a computer, focused on numbers. Moreover, many if not most positions require quite a lot of communication. Even more if you work in agile team - you have to be serious extrovert to be happy in that situation. Most coding only positions are junior positions - anything above that (plus few rare positions) and you are have to fight to have enough time at a desk.

If this is the reason people avoid this job, maybe we should stop lying to them about what the work actually is.

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

#208
post #180

Earlier quoted context omitted.

> NYC and SF are small islands compared to the rest of the country. Not in terms of tech jobs.

Yes, even in terms of tech jobs. Software just isn't as big a deal outside of these places.

I think the point is a huge number of tech jobs are within these locations. The SF bay area has something stupid like the top 3 cities when it comes to tech jobs. Throw out all the locations with the most jobs and surprise, salaries suck.

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

#209
post #183
post #161

Earlier quoted context omitted.

There are interesting jobs in Java, actually. Interesting for me means you have to think to complete task and that you have to often learn. Java was always getting bad reputation, but seriously, people who diss it the most are the ones who tend to produce the same small project over and over (but in cool languages).

I expect there are interesting Java jobs. However, a lot of companies who aren't particularly interested in technology tend to gravitate to Java or .Net because nobody ever got fired for writing a boring application on those platforms. That's not to say that there's anything wrong with Java. I just have trouble imagining an insurance company paying some Java developers to do basic research on fundamental computer sci…

Most boring applications are on the web - currently javascript. Insurance companies and banks need interesting algorithms and math sometimes (I had such position and liked it).

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

#210
Schools do a terrible job getting people excited about computer science and even worse software engineering. You start with C and Java and a bunch of arcane syntax and commands to print 'Hello World' when you could start by making simple games or apps and working backwards to introduce CS concepts mr miyagi style.

I started with Basic in elementary and PHP in middle/high school and by the time I got to college - young arrogant me was like, "what is this C/java noise and why do I need it when I can already do all this cool stuff with php!". I didn't really start appreciating CS and how it applies to software engineering until much later.

Post reply on HN