I submitted my resume online and 2 weeks later I received an email to schedule a phone screen with a recruiter.
After the initial phone screen I received an email to schedule an interview with the hiring manager.
The interview with the hiring manager lasted an hour, with a brief introduction of the position that I was applying to, as well as questions regarding my programming experience.
After the interview I was asked to build an application in Python without using any proprietary software, and was given a week to submit.
One week after the submission I received an email to schedule for a technical interview and a behavioral interview.
The technical interview was conducted with a staff engineer and senior engineer. The interview lasted for an hour, with questions regarding the submitted assessment as well as some behavioral questions. I was also given 15 minutes to ask questions to the interviewers.
The behavioral interview was conducted with a senior director and an engineering lead. The interview lasted for 45 minutes, with questions regarding how I handle difficult situations and conflicts. I was also given 10 minutes to ask questions to interviewers.
Personally I felt like I had candid conversations with the interviewers at each stage instead of being grilled about my technical skills or previous experience.