Friday, February 18, 2005

Computer Science Recruiting

I've already heard from several graduating students who have had few or no interviews scheduled and are really worried about finding a job next year. Don't panic yet.

CS recruiting is not a well coordinated affair running from January to June and often beyond. Each department determines their needs and resources and invites candidates for interviews, makes some of them offers and makes later interviews and offers as the first offers are turned down or as resources change, like a current faculty member decides to go somewhere else.

What does this mean? There is a small set of top candidates that get most of the interviews and initial offers. Some of these candidates can tie up offers for months because they are waiting for some other university to decide or they are simply indecisive and no one puts pressure on them to decide.

For students not in this top group they will get few or no early interviews and feel like they will never get a job. The market will shake itself out and dig deeper into the applicant pool. Departments that have theory as a secondary priority will realize they can't find good candidates in their top priority and start looking at theory candidates. In short the recruiting is game is just beginning.

Meanwhile broaden your search and look at places you may not have considered before. Work on your job talk even before you have anything scheduled and give a practice talk in your department. But mostly keep busy and get your mind off the job market. I found working hard on the thesis helps.


  1. Gee, Lance, I hope you're right, but I worry that perhaps you're overly optimistic. At my ripe old age of 35, I've already seen theory go from bust to boom, and now to what I think is going to be bust again. When I was a graduate student, there were a few years where nobody was getting a job when they graduated, and people were thrilled to get DIMACS post-docs. (OK, let me clarify -- sure, the very top people like Sanjeev Arora, David Karger, and Jon Kleinberg got jobs. And there were a few people who got jobs at research labs. But most people got post-docs, and they were happy when one worked out.) Then the boom happened, CS departments were growing faster than ever, everybody had tons of slots, and (even?) theorists had very little trouble getting good jobs as soon as they graduated.

    But look at the situation now. CS undergraduate enrollments are down roughly 30% across the board. Hiring is following suit. And let's face it, theory is still a low priority on most hiring lists. In my most alarming moments, I worry that it will be worse than before -- there seem to be fewer labs/lab jobs, and DIMACS isn't the strong post-doc giver that it once was.

    Hiring is unfortunately cyclical. If you stay in the game -- get a post-doc or a good lab job where you can publish -- I think things will work itself out down the line. And maybe Lance's optimism about the number of jobs out there is justified. But we may be in for some tougher times the next year or two...

  2. I think Lance is simplifying matters
    here. Although panicking doesn't
    help, it will be wise to think ahead
    about alternatives if the early
    signs of getting an interview or job
    are not looking that good. The
    bottom line is that, in most places,
    theory is not a high priority for
    hiring and there are a limited
    number of interview slots. The
    probability of getting an interview
    late in the season is quite low.
    International students have to worry
    also about visa issues so keep
    an eye out for postdoc positions
    wherever you can find them.

  3. I've heard several candidates comment that this year seems to be tougher than last. If your file is not particularly strong start looking into alternatives (industry, postdocs, lecturing positions). You should also broaden your search. I've seen positions advertised for Denmark, UK, Spain, Australia and Canada.

  4. I agree with what others have said, and it does seem that Lance is too optimistic. In my department (at a top 25 school), enrolment is way down, and theory is absolutely not a priority (and this after the theory group shrunk over the last 2 years). And, actually, who can blame them: given how hard it seems to be to get theory funding from NSF (or anywhere else) these days, theory faculty are simply unable to bring in the money that other faculty can.

    Not to be too negative, but you do have to be realistic in your job search and figure out what you will do if the job you want does not come through. To be honest, you may be better off getting a non-research job in industry/consulting than working as a lecturer or at a third- or fourth-tier department. (Of course, that represents my preference only. But just be aware that you are not going to have time to get much research done in those jobs anyway.)

  5. If you guys are having such a hard time finding jobs for young theorists, then maybe the problem is that there are enough people doing theory already and young people should do something else in computer science. It's not as if this opinion goes unvoiced in any department on any given year, but still, so many refuse to consider...

  6. I don't think is as bad (yet) as some seem to suggest.

    And it certainly is not the case that young theorists are finding it hard to get any jobs whatsoever---industry jobs are at least as readily available to theorists as to graduates from other areas. And a smaller fraction of theorists end up in industry jobs, compared to people in other areas. So using this to argue that "young people should do something else" is specious reasoning.

  7. Previously, Anonymous said...
    "...maybe the problem is that there are enough people doing theory already and young people should do something else in computer science."

    Sure, we should train people to do Web-page layout and design! There are tons of high-paying jobs in that area! Young people who do that will do great!

    Oh, wait, sorry, that was a flashback to 2000-2001. These days, you can't get a job in that area. People with that skill set are not doing so well now.

    There's nothing wrong with training people in theory. Indeed, generally I would argue that theory is the best kind of training -- someone who can solve a wide range of non-trivial problems can be quite valuable, over the long term and in a variety of work settings. Theory training is really just training people how to think (creatively) to solve hard problems. So I disagree with anonymous's idea that we're training too many theorists.

    Perhaps the problem anonymous is getting at is that there is something wrong with training lots of PhD students with the expectation that they'll get professorial positions at top universities. When the day comes when computer science hiring reaches equilbrium, I should be training one PhD student to replace me, but that's about it, right?

    I think perhaps we could do better job in setting students' expectations appropriately -- that was the point of my initial comment above, where I suggested Lance was too optimistic. And more generally theorists could probably do a better job recognizing that many of their PhD students will have to (and in fact can and should) get jobs in industry, in research labs or elsewhere. As a consequence, we should be making sure that our students have not only strong theory skills, but other good problem-solving skills, including programming and non-trivial knowledge of other areas of computer science.

  8. Michael Mitzenmacher said... "When the day comes when computer science hiring reaches equilbrium, I should be training one PhD student to replace me, but that's about it, right?"

    I'm not sure if you're kidding, but on the off chance that you're not, you should consider growth as a factor: both population growth, the growth of a department, and increased immigration to one area. The developing world will one day move from low-wage labor to being computer scientists themselves (along with all other jobs).

  9. If theory faculty want to help their students get jobs, they should do something about the grant situation, since universities hire and promote largely on basis of grants.

    The reason theory gets such a pittance is not because someone at the NSF made a conscious decision that computer science, unlike physics or any other science, doesn't need a theory. Rather, the reason is that by and large, CS theorists chose not to lobby, not to volunteer to NSF positions, not to explain what we do to the more general public, and indeed not to do anything except to try to tweak their proposals and submit them to more practical programs.

  10. Whether or not CS theorists volunteer at the NSF less often than their colleagues in other areas (do you have any data to back this up?), I can't believe that is the only reason for lack of funding. CS theory seems to get a lack of respect from within CS departments, much more so than in physics, chemistry, math, engineering, etc. departments.

  11. It wouldn't hurt to highlight theory accomplishments more prominently to the rest of the community, particularly in those areas of high relevance and great theoretical success, such as linear programming, network flows, sorting and searching, information retrieval and crypto.

    Also efforts such as LEDA highlight the direct impact theory can have in practice.

  12. Regarding MacNeil's comment above: I wasn't kidding. The things you describe (population growth, department growth, ability to train people who will take CS prof jobs in other countries) mean that we aren't currently in equilibrium. CS has been taking advantage of this for a long time, but we can't count on it forever.

    Perhaps population growth -- meaning there will ALWAYS be some increased need for professors -- suggests more than a 1-1 professor replacement ratio, but still, it can't be too much bigger than 1.