Live data from Hacker News

The limited value of a computer science education

nathanmarz.com

1–10 of 163 posts

Re: The limited value of a computer science education

#2
"I hope to see the industry improve in this respect, but in the meantime I'm happy to exploit this imbalance as a competitive advantage."

I wonder how much of requiring a computer science degree is simply because the people hiring have computer science degrees. Seems like a self perpetuating insiders club.

Re: The limited value of a computer science education

#3
Ater working with Storm and reading Nathan Marz's Master thesis, I got to say, he really is one hella of a developer. He was also very responsive on the questions I asked him on Storm's forum. I take Nathan's advice at its face value cause he is the most well-rounded computer scientist you can ever find.

Re: The limited value of a computer science education

#4
post #2

"I hope to see the industry improve in this respect, but in the meantime I'm happy to exploit this imbalance as a competitive advantage." I wonder how much of requiring a computer science degree is simply because the people hiring have computer science degrees. Seems like a self perpetuating insiders club.

I never thought of that, but seems very possible

Re: The limited value of a computer science education

#6
This topic comes up regularly. Yes, a CS education is not enough. You also need to learn programming. You also need to build systems and learn to think about how to build others even more. But for me it has been very useful almost daily and it can make the difference between being on solid ground vs. being out of your depth and sometimes not even knowing it.

Re: The limited value of a computer science education

#7
I did 5 years of heavy CS. Never graduated.

The most important things I got were: state machines, appreciation for high level math.

Oh and an intuitive understanding of modeling and translating fuzzy things into easily modelable things. That part is super important.

And an intuitive understanding of how tiny spec changes turn problems from computationally unsolvable to trivial.

But what have the Romans ever done for us?

Re: The limited value of a computer science education

#8
I may have been lucky, but I don't recognize this statement when I think of my own CS curriculum:

The vast majority of what a programmer does, forming good abstractions and avoiding complexity, is almost completely untouched by computer science curriculums.

That's the majority of what my CS degree covered, in several different programming paradigms. Even the idea that there are "programming paradigms" is something I learned at university, from a great course called Comparative Programming Languages. Granted, it's one thing to study it and another thing to gain years of experience doing it, but it was certainly a big focus. I took a whole course on design and structure of OO programs, which mainly at the time focused on C++, but also covered some alternative OO models and what pros/cons various people have claimed for this style of abstraction. And another one on design and structure of functional programs, which in the case of the one I took was mainly from the ML family perspective. These had some more "theoretical" content as well, especially the functional-programming one had quite a bit on type systems, but the overarching goal of the courses was abstraction and structuring (and even the type-theory stuff was introduced as a means to the end of useful programming abstractions).

When I read these kinds of summaries of computer-science degrees, I get the impression people went to some kind of program that was 100% algorithms courses, proving big-O running times and termination properties and that kind of thing. I thought I went to a pretty theoretical one (vs. one with more of a software-engineering bent), but it was maybe 20-25% algorithms. Where are people going where they are taking nothing but Algorithms 101 through Algorithms 1601 for four years?

I do agree that the standard tech company interview process seems to mainly test the algorithms part of the CS curriculum for some reason. I think tech interviewers love big-O notation tests more than actual CS academics do.

Re: The limited value of a computer science education

#9
>I highly doubt most programmers need to know how to do formal proofs of algorithms, determine asymptotic complexity of algorithms, or even know that much about data structures.

Indeed, but I believe that having a solid foundation in theory is important. People have spent a lot of time coming up with ways to reason about common problems, and you don't need to reinvent the wheel.

Additionally, while many programmers can get by with skimping on theory, your mathematical knowledge tends to limit problems you can tackle. While you might be able to get away with making some CRUD application without applying any complicated math, you will have a hard time trying to write code to localize your robot with SLAM. Knowing theory only opens more doors to more interesting problems.

Re: The limited value of a computer science education

#10
"Whether someone can or cannot solve some cute algorithm problem in a high-pressure situation tells you nothing about that person's ability to write solid, clean, well-structured programs in normal working conditions."

It sure tells SOMETHING.Ofcourse there are better ways to evaluate a person as a programmer but I hate it when people claim something without basis.

Post reply on HN