The entire process took about 1 month from initial contact to the time when I received my decision. The phone interview was very casual, then there was a series of online tests (4), and finally an onsite interview. The onsite interview was a great way to get a feeling for the company because they probably had me interact with at least 7 or 8 different employees. I felt like the main purpose of the onsite interview was mainly to estimate my interpersonal and communication skills. Finally, at the end of the day they did have me take an additional programming test, which not having much experience with programming I was nervous, and I mostly just wrote a pseudo code, inserting lots of comments, however it must of been good enough because I got the job!