What questions tell you a person is (a) Smart and (b) Gets things Done?
What small bioinformatics-oriented functions would be good to ask someone to write out on a whiteboard?
How do you test communication abilities?
What questions tell you a person is (a) Smart and (b) Gets things Done?
What small bioinformatics-oriented functions would be good to ask someone to write out on a whiteboard?
How do you test communication abilities?
We've just recently started asking candidates to do a code review with the existing team/group members. It can be on any piece of code from their past -- I tell them to choose something that they're passionate about, and that demonstrates the skills that are relevant to our job posting. It works great. Covers everything from coding style to communication skills to documentation to programming ability. I highly recommend this approach...
I mostly deal with finding PhD students for my lab and here's my general procedure:
I ask the "How does BLAST work?" question ... And I make sure they actually answer with something involving suffix-trees. I also ask them to answer the "FizzBuzz" test. I ask these in an e-mail interview ... if they can't answer these (or they're clearly copy-pasted from Wikipedia) then I don't even bother inviting them in.
In a sit down interview: I'll test communication their skills by sending them a handful of papers before our sit-down interview. I'll then have them to give me a "back-of-the-envelope" explanation of any of the papers that I sent.
In the interview I'll point them to the Matlab contest on protein-folding here. I leave the office and ask them to think about another "back-of-the-envelope" algorithm for solving it. I then give them a weekend to come up with an algorithm that will beat ~half of the entries. I also require them to write the same algorithm in both Matlab and Python. There are hundreds of example submissions that they can look at for inspiration. This will tell me how well they can look at previous work and come up with something novel. It also tells me how well they deal with the temptation to copy.
Hope that helps,
Will
Since most people seem to think that this is a little "over-the-top". I'll add a few of my caveats. Out of the dozen or so people I've interviewed only 1 has ever completed the whole thing but I've hired everyone who could pass the FizzBuzz test and make a working Matlab and Python answer. I make my decision based on their enthusiasm and how well they TRY as opposed to just giving up and saying "Its tooo haaaaard"
At one point, I could describe the ins and outs of BLAST to you, but it's been 5 or 6 years. Since it's not an algorithm I use frequently, it's not something I've retained. OTOH, I can go on all day about the new class of short-read aligners (MAQ, BWA, Pash, et al). My point is that just because someone can't implement BLAST, doesn't mean they don't know bioinformatics.
The correct answer to the "how does BLAST work" questions is in most cases that it lets you provide a sequence database and query sequences, and calculates the alignments between them. Also something about the various output formats, the meaning of e-values and bitscores, HSPs, how and when to specify e-values and BLOSUM matrices, etc. In other words, how to use BLAST, not how to reimplement it (especially as most modern alignment tools have different requirements, and use quite different methods - re. suffix trees and bwt-compression). (Do I get the job? :-)
@Will: The concept of suffix tree seems not so relevant for the BLAST question (of course interesting for sequence search in general), so doesn't astonish me that nobody could answer this correctly. But shows how important it is to know the correct anwser yourself before trying to push somebody to give the answer you want to hear.
thanks ... I take that as a compliment ;). I'm hoping that after a few years people will see it as a "point-of-pride" that they survived my interview. I'm pretty ambitious and I run my lab at a very quick pace and this type of interview really helps to weed out people who don't have the 'desire/drive' to work under these conditions.
@Will: The concept of suffix tree seems not so relevant for the BLAST question (of course interesting for sequence search in general), so doesn't astonish me that nobody could answer this "correctly". But shows how important it is to know the correct anwser yourself before trying to force somebody to give the answer you want to hear. Or to put it differently: after such an interview, I wouldn't want to work for you any more!
In the following C code, can you implement the function char* strdup(const char* );
char* s=strdup("hello");
free(s);
How does BLAST roughly work ?
@Stefano. I disagree, in order to "fit-in" with a lab you need to use the language that is the lab-standard. If that's C
then its important to make sure they at least have a basic understanding. I've worked in labs where everyone uses their own favorite language; it becomes a real hassle to share work between different people.
@Will. The question was about selecting bioinformaticians. If you are head of a huge group that works with Lisp, you might ask proficiency with Lisp. In my experience picking up the syntax and the tricks of a language from experienced colleagues is easy compared to learn programming, best practice, commenting and writing usable and scalable code.
I think the best thing we've done recently is a review of code from a previous project. Admittedly we've mainly been interviewing for PhD positions recently, but casting an eye over the organisation of (for example) a final year project in terms of code, and how problems have been solved is quite a good mechanism.
I've interviewed more senior positions, and well, it's unlikely you would set people like that code tests, the publication record is more of a key..
For communication, just leave them with the rest of your team for a while. As long as you're going to get proper unbiased opinions back, trust some other people to make a call on the things it's harder to assess in a formal interview.
if you are interviewing a phd student, their last project will be what they have done for the master. While in some universities these projects are taken seriously, in some places the projects for master students are very crappy, and they are not really followed properly and usually are abandoned to theirselves to carry out a research that is not really useful. So I won't look too much at the quality of the work done on the master's project, it depends too much on the university and in the opportunities one has had.
I ask people to show me something related to the area that they work in, that they did, not for work, and not as part of any class.
Any decent programmer will have dozens of large programs that they wrote on their own time, neither for class nor for work. Any decent writer will have lots of manuscripts they wrote for practice or fun. Anyone who is absorbed by what they do will sometimes do something like it in their free time.
Emacs or Vim?
Tabs or spaces?
Get either of these wrong, and you're out ;)
As a Bioinformaticians, I've been once asked on a phone-call to answer quickly & in less than a minute questions regarding
I would like to consider following points to selecting Bioinformatician:
Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Can you be more specific ? Are you looking at Masters' or PhD candidate ?
Possibly neither in this case, it's going to be an entry-level type of position.
I would like to consider following points to selecting Bioinformatician: