Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

To be fair, I didn't take offense to "self-taught computer scientist". I took offense to "every self-taught computer scientist".

I'll be the first to admit that university is bullshit and mostly acts as a social signifier. Like I mentioned above, I'm credentialed, and I'll put that on my business cards but between you and me and the internet at large I mostly work as a software engineer.

There are even many problems with talking about "computer science" because for the most part it's treated like a branch of mathematics and its academic circle really hates dabbling in messy empirical data.

Yet, there's a degree of rigour in it. There's an actual underpinning behind a lot of this stuff.

So! Can you be a self taught computer scientist? Certainly! K&R and The Little Schemer just have almost nothing to do with it - even if they might make you into better programmers :).



There are even many problems with talking about "computer science" because for the most part it's treated like a branch of mathematics and its academic circle really hates dabbling in messy empirical data.

This gets repeated again and again on HN, but it's not true. I am a CS researcher, and I always have messy empirical data. Systems research almost always has tons of experimental results. A large chunk of our papers are dedicated to the experimental design and results.

I have made this point many times before:

http://news.ycombinator.com/item?id=968013

http://news.ycombinator.com/item?id=690798

http://news.ycombinator.com/item?id=1131606

One of these days I'm going to actually set up a blog, write this point up as an essay, and be able to point to it.

My own personal definition of computer science: everything concerned with computation, both in the abstract and in the implementation.


From what I can tell (based on HN and other forums), systems research is empirical testing of systems, while theoretical computer science is math heavy. The typical systems paper is "The design, implementation, and performance of a [application] system, using [technology]". While a theory paper is "Proof of the existence of a solution for [problem] in time [O(something)]".

These two branches do talk to each other, but not much.


In general you got it, but CS theorists do more than just algorithmic analysis. They also may be after some other desired, provably guaranteed effect with an algorithm, and they'll say in passing "By the way, this is a linear algorithm, so it's performance isnt an issue." This is true in scheduling, cryptography and probably many other areas. (It's early, sorry.)

You got systems research pretty much head-on, but I would stress the design and implementation part more. That is, CS systems research tends towards engineering, where we claim we made a better whatzit, and then we need to provide a suite of experiments to support our claim.


Please do! And link to the rest of your research :)!

I'm just talking from my own (very) limited personal experience, though, and the Greg Wilson video I linked to (albeit it's been two years since I last watched it).


You can find everything that I have currently published in a peer-reviewed place on my (old) webpage in my profile. I've done lots since graduating (lots), but we've hit a bunch of paper rejections (aarrrrggg), so they're not published yet. I was, however, involved in a paper that we've submitted to a journal, so it has not gone through peer-review yet, but we made a tech report so that others could cite it: http://researcher.ibm.com/files/us-hirzel/tr11-rc25215-opt-c...


That looks interesting! I saved it for later.




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

Search: