Hacker News new | past | comments | ask | show | jobs | submit login

> If you want to make really interesting exciting things that have never existed before, if you want to make a tiny little difference in the industry and change the world just a little bit, then you do need that degree. If you want to make the tools and libraries that the lower-level people use, you do need that degree.

I wonder if the author considers Node.js to be really interesting and exciting and never existed before. Ryan Dahl doesn't have a CS degree (but does have a mathematics degree).

Another (pretty cliché) example: Bill Gates never finished his degree and went on to create many great, exciting and interesting things.




I think exceptional genius combined with exceptional work ethic can overcome any shortage of credentials or education, period. But for the great majority of folks, a formal CS education will give you a great advantage over a bootcamp graduate, or even a self-taught hacker. The thing is, if you're smart enough and contrarian enough, you're not going to listen to anyone's advice on this topic anyways...so those of you who do care what other people think, I think it's best to get a CS degree. Boot camp just doesn't cover enough bases. It's important to learn fundamentals. The fundamentals change much less often than languages or frameworks or platforms.


> I wonder if the author considers Node.js to be really interesting and exciting and never existed before.

Node.js was neither new nor interesting, and certainly was never "exciting" (note that this is coming from someone who now does a lot of node.js development).

To start with, it is highly relevant to note that node.js ignored fundamental things that were learned in CS going back to at least the 80s involving the duality of events and threads, leading to an entire generation of people who actually believed that callback hell was somehow a good thing to encourage :/.

The big thing, though, is that it definitely wasn't hard to do, and it certainly wasn't the first project to do it :/. I mean, my own personal website was built using a JavaScript on the server framework I threw together in a weekend using Rhino and Jetty years earlier, and I had myself gotten the idea from people who really know what they were doing: the people working on Apache Cocoon.

In Cocoon, they not only had correctly handled the callback hell problem, they had generalized it so far you could write programs on the server that made "requests to the browser" in the form of rendering a page that were expressed as function calls that would return when the user clicked links and submitted forms, inverting the normal flow of control to make it easier to build complex interactions.

So yeah: they had all of this stuff working almost a full decade before node.js existed at all, much less finally was able to use async/wait to manage callbacks. When they ran into evented hell, they didn't sit around for years building shitty workarounds: they implemented continuations for Rhino and contributed it back so they could do it correctly.

The real thing to realize is that sometimes, shitty things can have more impact than great things, and things that are none of interesting, exciting, or new can have a greater impact than things that were all three of those things if they have better community management or business acumen behind them.

However, we should call a spade a spade, and not pretend that those people are as good with software as someone who has spent years studying foundations, in the same way that the world's greatest software developer shouldn't pretend to be a great business or marketing person because they threw together a good enough website using a template and made some sales of their product on some app store.


I'd imagine not, I wouldn't either. Node is just a few basic apis on top of Javascript. The real magic is in V8, which was created by engineers with advanced degrees and deep understanding of language-theoretic and compiler concepts.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: