Initially contacted by headhunter. Did 2 phone interviews, one basic HR, another one with a very nice programmer, followed by a programming challenge to send in. Then I was asked for an on-site interview in Vancouver. The on-site was really tough, 6 interviews back to back with no break (even lunch is a conversation with your potential manager and one of the IT managers higher-up).