3 ms·
The thing about doing a PhD in CS today is that from reading about all the famous people who did PhDs in the US in the 60s, 70s, and 80s, it seems they were muc
by sedachv 16y ago
The thing about doing a PhD in CS today is that from reading about all the famous people who did PhDs in the US in the 60s, 70s, and 80s, it seems they were much better off. ARPA/DARPA funding was plentiful, industrial research labs were at their peak, commercial firms seem to have been hungry for consulting. I forgot where I read it, but someone was writing about how their PhD advisor wanted his students to spend half their time consulting at commercial firms outside the university.
I don't have any first-hand knowledge of this, maybe it is just the opinion of the successful and/or lucky people who had a good time and wrote about it, I would love for people to confirm or deny this perception. But the contrast with people I know who are/were doing their PhDs today is night and day.
"Starving grad student" is an accurate stereotype. I really can't see myself spending 5 years earning barely $30k a year, busting my ass TAing undergrads, dealing with publishing deadlines and BS from the supervisor and university (you'd be surprised at the amount of people who end up with asshole supervisors!), practically begging for grants. I don't know any PhD candidates who regularly do consulting, or anyone who has a comfortable annual income. And the stress is crazy. I don't know why anyone would do this to themselves.
To add insult to injury, I know I'm making the same or more money than many people my age (or a year or two older, I'm 25) straight out of CS PhD programs.
If I want to hack on interesting R&D projects, I can do that as Free Software in my spare time (which I do). The contrast is I have actual users instead of papers to submit. If I had to write an interesting system for a dissertation, I'm practically guaranteed that no one will use it because everyone knows that software that comes out of academia is shit.
So, what's the point?
- tincholio 16y agoIf you think doing a PhD in CS is about writing software, you don't know what you're talking about, dude. You started your post with a coherent argument, but the ending was completely WTF material.
- sedachv 16y agoIf I wanted to do more math, I'd go to grad school for mathematics (one of my undergrad degrees is in math). I don't want to beg Sun for grant money to develop new ways to make Java less shitty (you would be amazed at the number of papers that have been written about this topic), since they don't want to invest the money in setting up a real R&D lab with real-world salaries. I'm not interested in type theory, complexity, encryption, or formal verification. Are there any other areas of CS research where I can get away with not writing any software as a grad student?
- tincholio 16y agoThere are plenty! But that's besides the point. You most likely will end up writing some software as part as a PhD in CS, but that's not the objective. Most of the time, the software will be proof-of-concept stuff to validate some of the research you've done. Or to assess the performance of a new algorithm, or whatever. Your comparison of equating R&D to hacking on some open-source project is really apples to oranges. In any case, a PhD in CS is, 99.9999% of the time, not about hacking, at all.
- sedachv 16y agoIf a grad student writes a software prototype and no one uses it, does it make a sound? The fact that "99.9999% of the time" is spent doing other things is the problem. If you're doing applied math like type theory and make an advancement, that's research. If you're doing anything else, that's the Development part of R&D. Computer science doesn't exist in a vacuum. Unlike math, you can't come up with some new algorithm without first having a problem that that algorithm is intended to solve (again, this doesn't apply to complexity-related research because that is applied math). So we can't claim CS arises a priori (unless it's just applied math like type theory), so then you have to claim that what your CS research is doing is empirical. Good luck with that. Because, you know, Java is a naturally occurring system. Let's take two concrete examples of projects I hack on: http://common-lisp.net/project/eager-future/ http://common-lisp.net/project/eager-future/ http://common-lisp.net/project/parenscript/ http://common-lisp.net/project/parenscript/ Both of these topics (using futures for parallelism, and language X to JavaScript compilation) have had and continue to have a lot of academic research devoted to them. These two systems I contribute to happen to have interesting and original properties that I've arrived at in a process that can only be described as hacking. I'm convinced that I never would have been able to have these hacking breakthroughs without the freedom and time to reflect that I have outside of grad school. It doesn't matter how supportive your advisor is, there is still the question of grants and publishing deadlines. And I know a thing or two about working the university system to create a supportive environment for myself - as a math undergrad, I had my own cubicle in and run of the AI lab, had support from a number of CS professors, one of whom had a spot reserved in the CS MSc program for me (I obviously didn't go). I spent a lot of time around grad students at the AI and other CS labs, so I got to know what grad student life looked like. But aside from all that, the best thing about working on these systems on my own has been the fact that people actually use them. The feedback has been invaluable for giving me new ideas and inspiring the innovative hacks.