Initially you have to send your CV and answer a few general questions, as to why you want the job and why you think you would be suitable. You also need to make sure that you stand out in a unique way, so it is best to think of an unusual job or experience that makes you different to other applicants.
Once you pass the initial application, you are then asked to answer 5 mock support tickets. Some were technical and others were common sense. It wasn't too hard but you should have a reasonable knowledge of GIT, or at least study it before you attempt to answer the tickets. The tickets took me about half a day to answer.
If you then pass this round, you are interviewed via Skype. This lasts about an hour and you are asked technical questions and how you have resolved issues in the past. You also go through the 5 mock support answers.
After this, there are supposedly another few interviews and then you are flown to San Francisco for a final interview.
Initially the process was interesting and fun. However, when it got to interview stage it seemed slightly disorganised as the person I was advised would be interviewing me turned out to be someone completely different. It has been a few months now since the interview and there has been no feedback either positive or negative, which is really disappointing - even though I have chased this up a number of times. I believe that once you get to interview stage, you should at least get a yes or no answer and not be left wondering.