What Is Your Favorite Question To Ask When Interviewing Potential Bioinformaticians?
7
35
Entering edit mode
14.5 years ago

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?

subjective • 22k views
ADD COMMENT
2
Entering edit mode

Can you be more specific ? Are you looking at Masters' or PhD candidate ?

ADD REPLY
0
Entering edit mode

Possibly neither in this case, it's going to be an entry-level type of position.

ADD REPLY
0
Entering edit mode

I would like to consider following points to selecting Bioinformatician:

  1. Basic bioinformatics tools: sequence alignment, BLAST, PSI-BLAST, FASTA, Multiple Sequence Alignment (MSA), etc And knowledge about bioinformatics related web-portals: NCBI, PDB, EMBL-EBI, ExPASy, etc..
  2. Basic Unix/Linux command (awk, sed, bash command highly recommended).
  3. knows about programming skills, Perl, R basic requirement.
  4. Basic statistical knowledge (correlation, Coefficient of variation, Standard deviation, t-test, data distribution etc..)
  5. should be aware with RNAseq, ChiPseq, microarray, DNA-methylation data analysis protocol.
  6. familiar with: TCGA, GEO, NCI, CCLE, ArrayExpress, COSMIC, 1000genome etc..
  7. handling R, Bioconductor related packages, and data visulization related tools.
ADD REPLY
17
Entering edit mode
14.5 years ago
Andrew Su 4.9k

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...

ADD COMMENT
1
Entering edit mode

Pair programming + code review looks like an interesting approach to assess the programming skills. How about the bio-part or generic bioinformatics algo and related stuffs ?

ADD REPLY
0
Entering edit mode

I like this idea a lot, thanks.

ADD REPLY
12
Entering edit mode
14.5 years ago
Will 4.6k

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"

ADD COMMENT
7
Entering edit mode

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.

ADD REPLY
6
Entering edit mode

hrm, i dont think BLAST uses suffix trees? if it does, that's news to me. i'd say it finds a seed by exact match of the requested word size and then does extension by heuristic (gap extension/ penalty) from there.

ADD REPLY
4
Entering edit mode

I guess they can finish their PhD even before start working in the lab too. Or maybe they don't even need a PhD after all, especially after the interview.

ADD REPLY
2
Entering edit mode

your interviews are very difficult!! :-)

ADD REPLY
2
Entering edit mode

LOL I don't know whether to pity or envy all the interviewees who tried in vain to explain to you how BLAST actually works. Maybe you should read up on dot plots.

ADD REPLY
2
Entering edit mode

Asking someone how to write something with functionality similar to BLAST would be a good question. But asking how the existing BLAST works is like asking a programmer how the C compiler works.

ADD REPLY
2
Entering edit mode

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? :-)

ADD REPLY
2
Entering edit mode

Wow. I'm a 4th year Ph.D. student studying bioinformatics and I'd find your interviews scary.

ADD REPLY
1
Entering edit mode

@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.

ADD REPLY
0
Entering edit mode

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.

ADD REPLY
0
Entering edit mode

Why both Matlab and Python ? Your lab already have a legacy code base in Matlab ? The bio* aspects are missing. To design something novel (say algorithm or method), candidate should be aware of the problems in protein folding domain and their biological significance.

ADD REPLY
0
Entering edit mode

Yep, no suffix trees in Blast (or any other program derived from it).

ADD REPLY
0
Entering edit mode

FizzBuzz, on the other hand is basic enough that anyone with basic CS skills should be able to solve it - kudos on that one.

ADD REPLY
0
Entering edit mode

I'm definitely going to do FizzBuzz. I kind of like the idea of "summarize this paper".

ADD REPLY
0
Entering edit mode

@Paulo. Its been my understanding that suffix trees are used in the local implementation to find the exact matches in the large database quickly. Thats how its described in the methods from their first paper. I ask plenty of questions to prompt the answers I'm looking for.

ADD REPLY
0
Entering edit mode

Yep, you are correct. It's a variant of a suffix tree, I checked the original paper. I deleted my comment.

ADD REPLY
0
Entering edit mode

@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!

ADD REPLY
5
Entering edit mode
14.5 years ago
  1. In the following C code, can you implement the function char* strdup(const char* );

    char* s=strdup("hello");
    free(s);
    
  2. How does BLAST roughly work ?

ADD COMMENT
6
Entering edit mode

It's better to choose someone who can code very well in some language, than somebody who knows your language. A proficient programmer can learn almost any language in a few days.

ADD REPLY
4
Entering edit mode

knowing C is not a prerequisite, I think, for a bioinformatician. I would always use pseudocode or let the candidate use the language of his/her choice.

maybe the BLAST one is better...

ADD REPLY
4
Entering edit mode

@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.

ADD REPLY
4
Entering edit mode

Hiring people who don't know how to code, for positions where you need code written is fraught with danger. And a degree and PhD in CS doesn't equate to 'being able to write code' - have witnessed this first hand.

ADD REPLY
2
Entering edit mode

I now ask this question because I remember we hired someone who said "C ? yes I know C!". In fact, he just knew 'printf' and became a 'drag'. Many times I asked this simple question: I was frequently very surprised by a poor answer.

ADD REPLY
1
Entering edit mode

@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.

ADD REPLY
5
Entering edit mode
14.5 years ago
User 59 13k

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.

ADD COMMENT
3
Entering edit mode

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.

ADD REPLY
1
Entering edit mode

Giovanni, that is a sad comment on how some institutions treat their students.. however I would like to think an exceptional student will make the best of whatever opportunity they have been given.

ADD REPLY
1
Entering edit mode

I would want to see code by a candidate for any position. It shows me how clearly they think.

ADD REPLY
0
Entering edit mode

For PhD students, looking at the last project they completed will be a good idea.

ADD REPLY
0
Entering edit mode

Completely agree with you. For PhD students, looking at the last project they completed will be a good idea.

ADD REPLY
4
Entering edit mode
14.5 years ago
Phil Goetz ▴ 150

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.

ADD COMMENT
4
Entering edit mode
8.5 years ago
5heikki 11k

Emacs or Vim?

Tabs or spaces?

Get either of these wrong, and you're out ;)

ADD COMMENT
3
Entering edit mode
8.5 years ago
H.Hasani ▴ 990

As a Bioinformaticians, I've been once asked on a phone-call to answer quickly & in less than a minute questions regarding

  • linux commands (which we all use in our daily work),
  • differences between file formats in bioinformatics world
  • how or what is a statistical test (e.g. t-test)
  • favourite sequence mapper & why
  • kind of distribution your data would normally take after making certain analysis
ADD COMMENT
1
Entering edit mode

I would like to consider following points to selecting Bioinformatician:

  1. Basic bioinformatics tools: sequence alignment, BLAST, PSI-BLAST, FASTA, Multiple Sequence Alignment (MSA), etc And knowledge about bioinformatics related web-portals: NCBI, PDB, EMBL-EBI, ExPASy, etc..
  2. Basic Unix/Linux command (awk, sed, bash command highly recommended).
  3. knows about programming skills, Perl, R basic requirement.
  4. Basic statistical knowledge (correlation, Coefficient of variation, Standard deviation, t-test, data distribution etc..)
  5. should be aware with RNAseq, ChiPseq, microarray, DNA-methylation data analysis protocol.
  6. familiar with: TCGA, GEO, NCI, CCLE, ArrayExpress, COSMIC, 1000genome etc..
  7. handling R, Bioconductor related packages, and data visulization related tools.
ADD REPLY
0
Entering edit mode

I find these a lot more relevant than many other questions posted here.

ADD REPLY

Login before adding your answer.

Traffic: 1253 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6