Went through a recruiter. It was a lengthy process but it was overall a pleasant experience. The company kept us all in the loop about next steps. It consisted of a phone screening, phone interview, then on-site interview with HR and developers who were remotely watching me perform a coding demo.