Live data from Hacker News

Why do so few people major in computer science?

danwang.co

171–180 of 627 posts

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

#171
post #73

I did a year a computer science before switching majors. Computer science doesn't teach students how to be software developers. It's an academic study of computing, which is important but not for the majority of development jobs.

Germany loves its degrees.

If you want to be self-employed and save money on taxes, you need to show that you have skills that are rather sophisticated and having a degree is basically a certificate for that requirement.

Also most companies think, if someone can get a technical degree at least they aren't complete morons.

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

#172

Earlier quoted context omitted.

They certainly have risen in tech, the T part of STEM.

NYC and SF are small islands compared to the rest of the country. Salaries are flat for everyone else.

> NYC and SF are small islands compared to the rest of the country.

"Salary" is the wrong metric to consider. The "interesting" metric is "salary minus cost of living". And this is stagnating even in NYC and SF, since the costs of living are rising.

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

#173

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. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises.

I would say that this basically screams "badly taught programming". Missing semicolon does not take down work, it just needs to be put back in and ide should help you.

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

I mean it seriously, programming is easier then math. I am telling that as someone who always liked math.

"And that's just what you consider code. If you put in the wrong compiler flags, it breaks. If you can't link because something needed rebuilding, it breaks. Want to avoid it? Learn how make works. Huge number of options, which you won't understand, because you're a novice."

This is not something novice should be dealing with.

"Oh and learn git, too. And Linux. Just so you can hand in the homework."

As I told, badly taught programming that takes in people who know nothing and then proceed as if they already learned stuff in the past.

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

#174

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. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises

>In fact, every exercise in CS has this problem. You add a new thing (eg inheritance), and it breaks. But not only that, it might be broken because of a banal little syntax problem.

That can be said for math as well, switch a + for a - at any point and the whole solution crumbles down, or use the wrong method of resolution and you are in for a world of pain.

>Oh and learn git, too. And Linux. Just so you can hand in the homework.

Again, comparing that to math, learn all the different notations used just to understand what the problem asks of you.

Point being that any scientific course require a part of self study to get what you are doing. Although I can certainly agree that the way CS is taught now interwines many basic things that should be on their own course and could do with some reorganization, even though it's hard for universities to keep up with the way most of current day tech advances.

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

#175

Earlier quoted context omitted.

True, you can make it as difficult as you want. But generally, math, physics, and engineering programs are much harder.

This probably just reinforces his point - engineering undergrad is basically just applied math and physics, whereas the real meat of the major is usually reserved for whatever faculty you're in. Instead of having just 'Engineering', we have Civil, Electrical, Aerospace, etc. We should probably think of Computer Science in the same way. Instead of just vanilla CS, we could split a CS BA/BS into just as many specific c…

Trouble is, any good practicing programmer should know about all that and more (e.g. networking and UX). Of course people will have specialties, but they should have decent knowledge across the board.

But they don't have to learn it all in school. The way for CS to cut itself down to a manageable size is to concentrate on the traditional "hard core". Compilers, operating systems, plus some newer (i.e. from-the-1970s) stuff like networks, distributed systems and concurrency.

As always, people will cry that they never (ha!) do such stuff in their real jobs. But the more day-to-day stuff can be learned on the job. The stuff I listed is where university-style learning can offer a real advantage.

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

#176
post #52

Earlier quoted context omitted.

I have a CS degree from a small liberal arts school. I've only had to do a handful of interviews, but they've always been extremely mellow (my last one took place on a chairlift) and I've been practically begged to take each job. Then again, I'm in Wyoming, not Silicon Valley so that may have something to do with it.

I think it's very much based on supply. In Michigan with 10 years experience, I don't usually have trouble landing work. In some cases, they're practically begging people not to relocate away for the much higher wages. But when I've applied to positions in Seattle, even lower-end ones, I've always been rejected. Across a dozen companies in coastal markets, everyone seems looking for any reason or excuse, no matter ho…

>In some cases, they're practically begging people not to relocate away for the much higher wages.

This sounds like a funny line, because the best form of begging would include money.

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

#177

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…

I think you are significantly under appreciating the difficulty and need for precision in many other fields, like mathematics and physics. For example, compare "missing a semicolon" to "missing a minus sign" in physics or making precision errors in chemistry.

Alright, so both the hard sciences and CS have less traffic than say business, but then physical science has been growing and CS has not, and so we've solved nothing.

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

#178
post #162

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…

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.

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

#179

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…

Being a software engineer is often about the merging of the discipline of CS and the art of programming. I think most software engineers are strong in one and get by in varying degrees in the other. The few that are strong in both end up being the "very good" programmers we all know or have heard about. For some, that semicolon is a nagging reminder of their mistakes. For others, it's a small detail they zoom past as they get on with the laying down of code.

I find those strong in programming may be prolific in what they write, but often have to rewrite portions as they encounter problems with their design. A more probe and prod sort of solution to the problem, where you feel your way through. I often do this. On the other hand, I have known people that take quite a bit more time up-front to think about problem areas, and end up programming generally what they thought in the beginning (with some delays as they stop to reexamine problems as they come up, but generally before too much time has been wasted on an incorrect solution). I strive for this.

Being able to do both at roughly the same time, so you come up with a good model that you quickly get implemented, is what I think makes a good programmer. I think a great programmer is someone that does that but also sees interesting new paths that others often miss, leading to more elegant solutions more often.

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

#180

Earlier quoted context omitted.

NYC and SF are small islands compared to the rest of the country. Salaries are flat for everyone else.

> 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.
Post reply on HN