logoalt Hacker News

zerobeesyesterday at 11:03 PM2 repliesview on HN

Computer science is a weird degree because it was meant to produce computer scientists. Theory of computability, graph theory, discrete math, formal logic, etc. But the world just doesn't need as many computer scientists as it needs people who know JavaScript.

Over time, many CS degrees shifted toward producing software engineers, and it sounds like this person's experience was closer to that. But the problem is that as an engineering discipline, software engineering is just profoundly underwhelming. There are basically no universally-respected design best practices, no governing bodies, no calculations of safety limits, no nothing. You grab left-pad from npm and run with that. Or, now, Codex does that for you.

So CS is weird because it's what you're supposed to get if you want a job at Google, but it's also not very useful. It's a very inefficient and expensive way of testing if you're "serious enough", can complete assignments on time, etc.


Replies

jimmaswellyesterday at 11:13 PM

My day job is relatively boring JavaScript components and SPA's, but even there I find things I learned in my Computer Science degree valuable. "Hey, this looks like a finite state machine.." "This could be a simple domain specific language, good thing I had to write compilers in college and I can easily make a simple lexer/parser.." "This other thing is easy to parse if I ingest it into a lexer-resembling state machine.." And I would think the value of understanding algorithmic complexity and so many other fundamental things is obvious, no matter what someone is doing. And you won't waste your time accidentally trying to solve the Halting problem, among other things. Obviously there's nothing a university can teach you that you couldn't theoretically learn somewhere else but I'm seriously not convinced that a Computer Science degree is useless or a poor signal even for someone doing run of the mill React apps.

show 2 replies
aleph_minus_oneyesterday at 11:19 PM

> But the problem is that as an engineering discipline, software engineering is just profoundly underwhelming. There are basically no universally-respected design best practices, no governing bodies, no calculations of safety limits, no nothing.

I somewhat disagree: there exist a lot of deep questions in software engineering, and there do exist some (very, very partial) answers.

The problem rather is that most people don't want to listen to and/or do deep literature research about the few answers that we do have, but rather want to aggressively push their private political agenda about how they want software to be built. With some literature research, it is often not too hard to disprove the "foundations" on which this political agenda is built. But this does not make you admired because you showed serious knowledge about software engineering, but rather near to an outlaw.

TLDR: the problem is not software engineering, the problem is organizational politics.

show 2 replies