I had a friend in their office in Sofia, Bulgaria and I was encouraged to send my CV.
First interview was a rather easy algorithmic task. If you know the basics of computer algorithms, you should be able to solve it quickly. Yet, you need to focus and think for a while in order not to take on a wrong path. During the interview they encouraged me to have a discussion rather just thinking silently on the problem. We discussed several solutions, complexities etc. Then we proceeded on with implementation details – I had to write some code on paper. I was able to spot some deficiencies of the implementation, which even the interviewer had not caught.
Second interview, the man was late by more than 15 minutes and was definitely in a hurry.
I had to work out a JSON representation of a previously described data structure in a concrete domain (obviously taken out of the context of the real problem they were dealing with). We discussed several solutions and then we proceeded with real implementation on one of them. I was given a computer and IDE, which I had not used before. Therefore, I struggled a bit with the shortcuts and the computer itself. Nevertheless, as what I was requested to implement was almost straightforward I did it quickly. Then it turned out that we could not proceed further because the sample project he had prepared could not be build due to differences in the setup in their Sofia office (he said he works in San Francisco). So the interview finished prematurely, we did not go through the implementation part. After that, he asked me if I had any questions, but as he was obviously in a hurry, I asked only one question and then I quitted.
Third interview, after some discussion on my previous experience and problems, I had met and solved in my career before, I was asked to create sample architecture of some problems from their real life. Again, we discussed several options and the discussion was interrupted several times by the interviewer with some supporting questions, which I answered.
After each interview, I got quite positive feedback. Which is why it was a surprise when I got called and told “you did not get enough points because you passed the second interview too slowly”.
If you are going to use the factor “speed” in an interview you should made this explicit to your candidates. When I asked what people’s profile you were looking for they said, “We need good engineers who can think”. And this was what I tried to show in all the interviews. Furthermore, when you use the factor “speed” to measure and compare your candidates, you should put them under the same conditions. The decision should not be influenced if the interviewer has something urgent to take care of or other subjective factors.
It was the first time in my career when the speed had such critical meaning, on the contrary, people even encourage you to think on your own and then come up with a solution, some even give you a home work before the actual interview.