I saw a job posting on an online job board. I emailed the hiring manager with my cover letter and resume. About 2 weeks later I received an email from a staff member to set up a phone screening.
The phone screen lasted about 15 minuets. He asked very general questions-- what is the highest degree I have attained to date; what was my last job title and technical questions regarding what programming languages do I know. Once the interview was over, he said I should hear back via email if I am invited for an in-person. I honestly, did not think I did well on the interview and crossed off advancing to the next stage.
About 2-3 weeks later I received an email inviting me for an in-person interview. I went in for the in-person and was interviewed my whom will eventually be my co-workers. They described the job in more detailed and asked how will I fit into this position. They asked about my previous academic training and work experience. I was asked some technical questions regarding SQL server. I was honest and told them that I was not familiar with that programming language but was willing to learn. The in-person lasted about 30 minuets. I left and wasn't sure as to how I did.
Within an hour, I received an email asking if I can come in the following week for a 2nd in-person interview with the hiring managers. This interview as a little more fun. The hiring manager is a physician so he understood some of the work I have done to date. The interview lasted about 30 minuets. Again, I was asked the general questions-- what is your highest degree; where have you worked; share details regarding your master's thesis. I left unsure.
About 1 hour later, I received an email with an informal offer. To tentatively start within a month. They just needed to verify my references and process HR paperwork.