After contacting them to ask more about the job via email, I was asked to come to their offices for an initial chat. This was pretty straightforward and more of a "get to know each other" chat with their talent manager. All very professional, relaxed and friendly.
Next you're invited for a technical challenge which gets sent to you via email. I've been told the tasks are rotated every few months. They provide you the assets and a few key requirements, and the rest is up to you to work it out.
The challenge I was assigned was pretty tricky, involving multi-threaded downloads and processing of data, some algorithm problem solving and finally drawing on the screen.
I enjoyed trying to work out the solution and ended up spending a bit more time than what they suggested on it but in the end what I did put forward was not good enough to progress to a technical interview.
The feedback they provided was punctual and succinct, but enough to pinpoint the few important things I got wrong. The main point to note is that the majority of the feedback was about actual implementation issues rather than opinion or preferred style, which is great because it gives you a clear indication of where things were not quite up to scratch.
It's never a good feeling when you are rejected during an interview process but despite the initial disappointment I was glad to have participated and will likely apply again in a few months as I get the impression there are some pretty smart people working there and it would be a great experience to be part of it.