Live data from Hacker News

Why do so few people major in computer science?

danwang.co

371–380 of 627 posts

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

#371
post #204

Earlier quoted context omitted.

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.

>Do you actually need millions for a software consultancy? Yeah, I'd need millions to be convinced to do something I absolutely don't want to be doing.

[deleted]

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

#373
post #196
post #173

Earlier quoted context omitted.

> 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, a…

> 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. The point is that the incidental complexity is there, and that it's something that has to be dealt with, to even begin to get to the fundamental part of the problem. That you have to be using the right IDE (and learn how to use it, and learn to recog…

That is the thing, you should not deal with that when you are just seeing for cycle for the first time. You should not be anywhere near compiler flags. The IDE is something you should start with. Text editor + compiler is the harder way. The first class should start with opening IDE and writing something really simple.

Like someone mentioned logo or the old basics - if kids start in that environment they pick it up quite easy. They pick up concepts (wtf variables, yes does not matter how they are named, conditions, for cycle, functions) and there is instant gratification and little complexity. Just playing those games with little robot and arrows that "programs" it or simple scripting language in some game already makes much difference.

Then you can move on compiler and java or C - because basics are out of the way and it is the time to deal with what you call incidental complexity. Basically, one concept at a time. It is a bit as like teaching quadratic equations to people who were never taught normal ones nor much arithmetic.

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

#374
post #323

Earlier quoted context omitted.

Maybe. But I am sure I had put in a thousand hours programing my C64 by the time I had finished 8th grade. And I doubt I'm alone.

Ack. I misread "hundreds to thousands" as "hundreds of thousands." My mistake! Hundreds to thousands is def reasonable.

And wrote it too? Haha

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

#375
post #304

Earlier quoted context omitted.

> The number of grads for difficult degrees and the quality of grads seems to be another story. This is why I never believed the "There is no STEM shortage" stories. They were mostly based on the assumption that all STEM grads were qualified to work in STEM. That's not true in any field where you can complete a degree with a C or D average. I find it unfortunate that some of the larger software companies filter out a…

At the risk of sounding foolish, but isn't it easy for a company to filter out applicants in technical fields, simply by asking technical questions?

But that takes the engineers you already have and puts them in interviews instead of engineering.

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

#376
post #306

Earlier quoted context omitted.

Do you use Gmail spam filtering? Google search? Windows? OS X? TCP/IP? I can assure you that software you've came to value and rely on was written by "computer scientists". So yes, your comment does sound like trolling. That or you're just completely misinformed.

In fact, I am an unusual case and I do not consciously choose to use those Google, Microsoft or Apple offerings, nor do I value and rely on the ones I occasionally come in contact with. In many cases I view those are necessary evils, not high quality stuff. I use TCP/IP but I did not choose it. There were many competing protocols. It just became the default. I am not going to argue about this but many of the folks wh…

>In fact, I am an unusual case and I do not consciously choose to use those Google, Microsoft or Apple offerings, nor do I value and rely on the ones I occasionally come in contact with.

So I assume you use linux or BSD? I can assure you both of those were created primarily by computer scientists.

>I use TCP/IP but I did not choose it. There were many competing protocols. It just became the default.

Who do you think designs these competing protocols?

>many of the folks who wrote the software that I actively seek out and value had degrees in Electrical Engineering, Mathematics, and/or Physics. I might use different software than most users.

And yet this software you seek out runs on an operating system designed by computer scientists, compiles with compilers designed by computer scientists, and is distributed via protocols designed by computer scientists.

> But to me it means, at least, CS is not a prerequisite.

Who said CS was a prerequisite for anything? Most of the venerable algorithms we study in computer science weren't designed by CS majors because CS wasn't a major when the algorithms' designers were in college.

>I am just referring to the practice of writing software. I would question anyone who argued one must have a CS degree to write great software.

Of course great software can be written by someone without a CS degree. John Carmack doesn't have a CS degree. Donald Knuth doesn't have a CS degree. John Backus, Grace Hopper, John von Neumann, Alan Kay, and most of the other CS luminaries didn't have CS degrees. I have literally never met anyone who would argue that a CS degree is necessary to write great software.

You've changed your argument from "I have never used any software written by a 'computer scientist' that I came to value and rely on", and "I do not believe that a computer science degree is of any significance in terms of the ability to write good software" to "there exists great software written by people without CS degrees."

You've moved from a arguing an absurd and utterly false point, to constructing a straw man.

To your earlier point: "computer science degree is of any significance in terms of the ability to write good software".

In pursuing a CS degree you will engage in in depth study of the algorithms and data structures necessary to create complicated software. In order for someone who didn't major in CS to create complicated software, they must either study these algorithms and data structures on their own, or use a library written by someone else who has.

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

#377
Just like with Maths, I think that to effectively learn programming, you have to believe that you're good at it... Unfortunately, it has become harder for people to convince themselves of this because the tooling required to build simple software is much more complex than it used to be.

I think that new developers are exposed to more complexity earlier on and so they are more likely to get overwhelmed. It's not quite the slow-paced discovery process that it used to be. New developers have more visibility of the road ahead... And it's a damn long road.

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

#378

Earlier quoted context omitted.

Given the gender skew amongst high-school programmers, this is almost equivalent to saying "women should not be starting a CS degree". It also further entrenches the advantages of people who come from affluent backgrounds. Given the success of some short coding bootcamps, it isn't inconceivable that novices could be brought up to speed within the first semester. We don't expect law students to have been amateur lawye…

> It also further entrenches the advantages of people who come from affluent backgrounds. If you can afford a video game console, you can afford a raspberry pi (or equivalent.) > We don't expect law students to have been amateur lawyers in high school No, but we expect math majors to have done some math before they get to college. I don't disagree with you that most people can be brought up to speed in less than a ye…

Math majors are expected to know high school math. You can literally know exactly that and succeed. If you wish to get ahead of competition, you know exactly what to do and exactly what is measured. CS does not have such clarity of expectations. I knew basics, because of journals my father bought. Since I knew basics, the teacher shown me some competitions - from then on I just went with the flow. Had my father not bought those journals or had my teacher not shown me competitions, I would not study cs or had much harder time.

If you are a boy, video game console is something that is bought for you often times whether you really want it or not. Raspberry pi is likely not and you don't know it exists. And even if you know it exists, you need computer to upload code to it and then you could have just use that computer to code. I know that it is easy to code when you know where to look, but the biggest hurdle is that many kids dont know where to look. Instead, they are told there is something magical and hard about it.

I remember being told that it is hard or that I cant compete because I am (presumably) just learning and other kids "already know a lot". It was bs, but that is where it is for many kids.

Seriously, I knew straight A students who were more hardworking then me and had good grades in math (meaning no dummies memorizing stuff) were under impression I have some special brain because I can program. All the myths around cs tend reinforce such nonsense.

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

#379
post #214
post #208

Earlier quoted context omitted.

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.

Well, I wouldn't say salaries "suck" outside of well-known tech centers like SF/Bay Area and NYC. They aren't great, though. Even in the Bay Area, at least, the salaries of engineers still pale in comparison to the salaries of managers and executives.

> Even in the Bay Area, at least, the salaries of engineers still pale in comparison to the salaries of managers and executives.

Depends on where you work. If you work at an actual technology company that "gets it", they'll have parallel management and individual contributor tracks where you can make as much as a director-level person as an IC, or more.

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

#380
post #373
post #196

Earlier quoted context omitted.

> 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. The point is that the incidental complexity is there, and that it's something that has to be dealt with, to even begin to get to the fundamental part of the problem. That you have to be using the right IDE (and learn how to use it, and learn to recog…

That is the thing, you should not deal with that when you are just seeing for cycle for the first time. You should not be anywhere near compiler flags. The IDE is something you should start with. Text editor + compiler is the harder way. The first class should start with opening IDE and writing something really simple. Like someone mentioned logo or the old basics - if kids start in that environment they pick it up q…

Logo is great and all, but we're not talking about beginning programming for kids, we're talking about CS degrees.

At some point between Logo and bachelor's degree, you run face-first into that complexity, which is the "wall" the commenter atop this thread was referring to.

Post reply on HN