Live data from Hacker News

Why do so few people major in computer science?

danwang.co

141–150 of 627 posts

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

#141
post #118

Earlier quoted context omitted.

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

Depends what you mean by hard. I went into computer science and I got the highest grades in statistics at a university which is in the top 10 worldwide for statistics. In fact, I got perfect on the final where the average was a fail. I did "OK" in comp sci (deans list, but no special placement other than that.) Stats/calc/algorithms weren't hard, I needed practice. I did every question in every textbook and followed…

What you see with statistics/calculus is extremely superficial compared to the realm of higher mathematics. Exceling in that is a poor indicator of ability to succeed in any proof-based mathematics coursework.

As someone who had significant exposure to the world of mathematics for a working professional (4 years in an excellent PhD program) and who codes for a living, I find that what I did in grad school was multiple levels harder than what I do now, or what I get exposed to in the inane CS-focused interviews of some companies. The abstraction level is seldom, if ever, matched.

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

#142

I majored in computer science, and I don't feel like I've learned anything. Every time there was an opportunity to learn something cool (mathematical theory behind cryptography, assembly language, details of a processor, the cache, or a communication protocol) or useful, it was glanced over as 'technical details'. Instead, I was introduced to many, many small topics (programming, graphics, databases, algorithms, user…

> Every time there was an opportunity to learn something cool ... it was glanced over as 'technical details'.

That's interesting. The most common complaint in my program from students was that we weren't actually learning how to program. Actually learning how to use a language was considered (for the most part) a "technical detail", and the course was very heavy on algorithm analysis, theory of computation, math, how operating systems function on a theory level, writing a keyboard interrupt handler for a small embedded OS to support backspace (^H) and erase to beginning of line (^U), using threads with locks, etc.

> Computer science is just not very hard, while physics, math, and engineering is.

I think that depends quite a bit on the school you go to. I think the CS program at my school was quite hard compared to the math program. My school was by no means top-tier, and I was very self conscious of that for a while. Then I met a good friend that had a degree from Berkeley's CS program, and over the years I've come to the conclusion that the main difference between his CS program and the one I went through was the quality of the teachers, and I think it was actually a fairly small difference. Much more important seemed to be what you wanted out of the program, and what piqued your interested and caused you to follow it deeper (and good teachers could help quite a bit at this point, as they might have deeper knowledge of specific subjects that could help you).

My point is that I do not believe that CS is necessarily much easier than those programs from what variable experience I have with them, but CS is fairly wide in what it touches, so unless you decide to dive in deeper on a subject, you are likely going to be getting theory plus a survey of what's available. That said, if your school focused more on that actual art of programming than the theory, than might lead to different (but not necessarily worse) outcomes. People go to college for different reasons, and a good many in my class that were complaining about not getting much experience actually programming were looking for college to train them for a programming position immediately after college. That wasn't necessarily what I was there for, but that doesn't mean that a college putting a bit more of that in their program is doing the wrong thing, they're just responding to market realities (i.e. what their students want).

> mathematical theory behind cryptography

In our algorithm analysis class, we had to write a paper on some known algorithm examining its function and complexity. Being security conscious and having an interest in cryptography, I chose Diffie-Hellman key exchange. A lot of the benefit of college is making your own opportunities.

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

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

Depends on your school.

Mine required students to pick at least 1 concentration (1 included software engineering which taught things like software testing)

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

#145

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.

Bootstrap!

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

#146
I work with electrical engineers, mechanical engineers, and mathematicians, and computer science students, all who program pretty darn well.

The programming is incidental to solving real world problems. If your job is to crank out code which envelops someone else's design solution, it doesn't really matter what courses you took in undergrad, as an undergrad education of any kind is just a very broad introduction to many things, in the hope that one will "stick" for employment.

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

#147

Slight note about Dan Wang picking 2005: That was the peak of CS degrees awarded because it's 4/5 years after the height of the dot-com bubble. So the upward bump in the mid-2000's is somewhat explainable as an anomaly. I think his point 1 is underrated. CS degrees are flat because aptitude is flat. You can compare CS degrees to other degrees over time at nsf.gov: https://www.nsf.gov/statistics/2016/nsb20161/#/report…

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

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

This is true IFF we assume that gpa accurately reflects qualification to work in industry.

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

#148

I majored in computer science, and I don't feel like I've learned anything. Every time there was an opportunity to learn something cool (mathematical theory behind cryptography, assembly language, details of a processor, the cache, or a communication protocol) or useful, it was glanced over as 'technical details'. Instead, I was introduced to many, many small topics (programming, graphics, databases, algorithms, user…

I majored in EE, even though I expected to someday take a software job because I really enjoy programming. I figured I could continue teaching myself programming in parallel.

As a self-taught programmer, I think you're downplaying how much you can learn in a CS program. I don't pretend to know as much as a CS major. I haven't spent time learning compilers or DB internals, and probably haven't studied CS algorithms enough to pass an interview at Google or Facebook.

Regarding the CS curriculum, an undergrad EE curriculum is similarly shallow: it's a sampling of many different subtopics that often are only loosely related (E&M, DSP, circuits, control theory, devices, etc.). Undergrads won't be experts in any one of those fields.

Since I graduated (grad school) in EE, I've told myself each year that I'll jump from my EE job to a programming job, since I enjoy programming more. But it's getting harder and harder to justify. Will I be leaving a senior EE position for an entry-level software position? Does that make sense at 30? Why am I the oldest person in the office when I interview at a startup? Why is the interviewer fixating on compilers and database internals?

If I were to do it over, I'd get a degree in CS because that's the most direct route to the job, and education continues on the job. Everything else was a diversion. And you're seeing the grass as greener on the other side of the fence regarding engineering/physics curriculum. Learning how to solve physics problems doesn't make you smarter or a better programmer.

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

#149

I majored in computer science, and I don't feel like I've learned anything. Every time there was an opportunity to learn something cool (mathematical theory behind cryptography, assembly language, details of a processor, the cache, or a communication protocol) or useful, it was glanced over as 'technical details'. Instead, I was introduced to many, many small topics (programming, graphics, databases, algorithms, user…

> Every time there was an opportunity to learn something cool ... it was glanced over as 'technical details'. That's interesting. The most common complaint in my program from students was that we weren't actually learning how to program. Actually learning how to use a language was considered (for the most part) a "technical detail", and the course was very heavy on algorithm analysis, theory of computation, math, how…

> The most common complaint in my program from students was that we weren't actually learning how to program

Exactly this. While working for a Fortune 50 engineering conglomerate, a colleague participated in a Career Day at the local university. He interviewed ~50 or so students, a mix of undergrads and graduates. He claimed that of these he found about two of them who might be able to do Fizz-Buzz. That's crazy!

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

#150
I am a self taught web developer, I started a bachelor in IT with a CS major mid 2014 assuming the title would increase job opportunities.

Late 2014 I landed a part-time job in web development, that role then moved to full-time and I transitioned out of the Bachelor program as I was learning more valuable work-related skills at my job or in my spare time.

Since then I've advertised to employers that I'm part way through a bachelor, willing to complete if they believe it's necessary but otherwise not interested. I'm now earning just above the average cited in the article and have no intentions of returning to school.

I know of a few classmates that are in the same boat, they got a part-time job, transitioned to full-time and quit schooling.

In my opinion, the fact I was studying was critical in landing the first job but useless afterwards once I could prove my ability and worth. I doubt people who only completed a degree could compete at technical interviews against people with a self taught background.

Post reply on HN