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

Both these comments are dead on.

Never, EVER go to grad school the way I did - just noticing that your four years are up, and seeing where you have to apply next, so you can keep on proving how smart you are.

Going to grad school straight out of college is almost always a mistake in any field, and it is especially a mistake in CS. Spend a couple years as a working programmer first, ideally at a small company.

One, it may change your mind - this should be embraced, not feared. And two, if you do go to grad school, you will find you have much more perspective and depth than your fellow grad students.

Since there is no such thing as CS, every field is different. Some just decrement the "C". Others are perfectly healthy.

Without question the soundest field in CS is graphics. I wish to God I had gone into graphics. Digital image synthesis is actually applied math, of course, and any area of applied math that actually has a real application will serve you well.

Unfortunately, pseudoapplied math is very common and quite worthless. So be sure to look fairly deeply into any claims of applicability. A genuine applied field, such as graphics, will have a steady flow of innovations (and innovators) into actual industrial practice. If you don't see this, something, somewhere, is wrong. Trust the nose.

Also, when you apply, don't just select schools by reputation, as if you were applying to college. Pick the actual group you want to work with, and don't be shy about contacting professors.




I have to disagree with your assertion that the soundest field in CS is graphics. My field is algorithms (in particular, numerical and algebraic algorithms): I describe a problem, describe an algorithm, prove that the algorithm works, prove the algorithm's running time, implement the algorithm, and then write a paper saying "look, my algorithm is faster than that other guy's algorithm". What could possibly be sounder than experimental results backed up by rigorous mathematical proof?

As for picking a supervisor vs. picking a university -- I agree with this with one very small caveat. If you don't need any supervision -- by which I mean that you've done independent research before and have a good idea of what research you're going to be doing as a graduate student -- there's really no need to pick a supervisor. My supervisor, Richard Brent, is one of the greatest people in my field in the world; but this was entirely coincidental, and in my time in Oxford I probably saw him an average of once every three or four months. I could have been at the University of Timbuktu (if there is such a place?) and received adequate supervision; the greatest benefit Oxford provided to my research was to open doors for me -- it's amazing how many people pay attention to an email which starts "I am a doctoral student at Oxford University".

One final remark about supervisors: If you're planning on applying to do a doctorate and there's a particular professor whose research interests you, you should absolutely contact them; if you're planning on applying to do a master's, please don't. There are far too many wannabes with no research experience entering master's programs to have a personal dialogue about one's research with every one of them.


I just finished my PhD in CS at Georgia Tech, so I'll share my two cents on the topic. (My field was programming languages and compilers.)

I wouldn't characterize graphics as the "soundest" field. I might give that title to formal methods, where the bar for publication is often a machine-verifiable proof of correctness.

Of course, graphics is math-heavy, too. A lot of the good graphics folks I know started off as mathematical physicists.

For that matter, many sub-disciplines within CS are quite math-heavy. For my own dissertation, I developed static analyses of programs. To do so, I modeled the semantics of a programming language as a mathematical relation on machine states. I then defined new (finitely computable) relations---the analyses---and I proved these are sound simulations of the semantics relation. Plenty of math involved.

Theory folks do plenty of math on the complexity and correctness of algorithms.

Machine learning involves lots of probability and statistics.

Even the top-notch human-computer interaction people know statistics well.

I could go on. But, I think you could find a way to do some "real" math in any field within CS. (Though I've noticed each sub-discipline has its own self-aggrandizing definition of "real.")

As far as how much of the article resonated with my own experience, I would have to say not much. I had plenty of cordial debates with professors, but ultimately, we would arrive at either a theorem or a contradiction, and then the debate was ended. No feelings hurt. No ego assuaged. Just a truth uncovered.

The one part of the article that does ring true is the myopic vision of the world one receives in academia. Academia takes center stage as the noblest of all possible pursuits. The thrill of publication and peer recognition can be intoxicating, especially if you're the kind of person who is obsessed with publicly validating their own intelligence.

I'm now taking a year off from academia to work full-time for my two startups, but a part of me feels like I'm selling out by not going on to become a professor right away. My own advisor warned strenuously me to continue publishing, lest the "jealous priesthood" of academia reject my attempt to return. I know enough, though, to know that he's right. If I don't continue to publish, academia will cut me off, regardless of how might money I might make doing startups.

My parting advice to potential grad students in CS is: (1) choose a field that's growing rather than shrinking, and (2) find an advisor with whom you can develop a comfortable working relationship. After that, lots of hard work and a modicum of smarts can get you the rest of the way.


Both you and cperciva seem to be fundamentally theory people. IMO, you both completely missed what mencius meant when he wrote 'soundest.' When he says sound, he means that a field is worthwhile, both because it has problems that are interesting in a purely technical way and because solutions to them are in some way actually useful to non-CS humanity. When you say sound, you mean pedantically verifiable for the benefit of other theorists. Graphics is sound because not only does it have interesting math, it aids or entertains laymen; PL research isn't, because nobody except PL researchers cares.


Keep in mind the "jealous priesthood" is like the first open-source movement. The real problem is not making money but not publishing your code and improving what's out there. Stay connected and help translate research into technology.




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

Search: