It was an average process. It started with the hiring manager (1st stage), followed by a 3-problem code test (2nd stage), followed by 3 more interviews with 2 different groups within the firmware group (3rd stage). The coding test was average in difficulty as well which included a question that most firmware/embedded engineers should know how to solve. Other two were on string parsing and finding an optimal solution for complexity. I thought it was rigorous and fair.