This is the most laborious interview process I have ever done. There has been some uproar on the internet regarding this interview approach. The reason I keep doing it was that I assume I will get an opportunity on working on interesting challenges and projects from the big-name Canonical. I also assume Canonical is an engineering-oriented company that will offer a reasonable package for good engineers.
The first step of the interview was a written interview tell me about yourself style essay with multiple pointers on questions that we should cover. I was naively doing that because I was still expecting can get good interesting work if I can join the company. Time spent: at least 3 hours.
The second part is some kind of psychological test. It is the first time in my experience I am doing this for the recruitment process. But I was not fully against the idea. Time spent: 1 hour.
After that finally, I spoke with a real human for my first interview. It was just small talk get to know each other interview style. It was a good conversation. Time spent: 30 minutes.
Next, I attended another call with another senior engineer to test my Golang skills. It was nice to interview. The interviewer is friendly and really informative. Time spent: 1 hour.
After that, I attended another call with another engineer to test my automation and DevOps experience. The guy is the best. He is even more friendly than the first interviewer. He discusses many things around DevOps and automation. Time spent: 1 hour.
After finishing that call, I naively thought I reached the end of the interview process. An HR call is scheduled which will share the logistic and benefits of working at Canonical. But after I email again, actually I still need to attend 3-4 more interviews. It is actually crazy to go through 7 interviews for a job. On top of that, I get a take-home assignment of implementing some applications which need to support some concurrency. No deadline but they expect me to finish in 2-4 hours.
I was spending almost 8 hours on the take-home. I shouldn't, but I am just excited and want to make sure I deliver close to the production quality of code. Once I finish then I submit the take-home task. Time spent: 8 hours.
The HR call was good, the HR person is really nice. I found out in this HR call that I will be hired as a contractor because Canonical has no registered company in my country. I am expecting this from the beginning and no surprise. Next HR is asking about my expected package given the contracting role. I was giving a range which is the range on another offer (which is a non-contractor role) that I have. The HR looks taken aback. In that call, HR also tells, that a stock option is discretionary. Time spent: 45 minutes.
After the HR conversation, I got to know that the employee benefit is minimal as a contractor. I feel that the role might not fit me. I am currently working full time, with full benefit. So I see no strong reason why I should sacrifice my current job pay and benefit to join Canonical. Hence I will probably not going to proceed. However, I am still wondering how much base pay that at least they want to negotiate.
Two days later, I got an email from the hiring manager telling me that they decide not to proceed with my candidacy. I found this totally weird because, before the HR call, they said I will still attend 3-4 other calls. I am under the impression they doing so because they are not willing to match the pay range I mentioned. It is a blessing in disguise because at least I don't need to waste 3-4 more interview time just to get an offer that is not competitive.
In total, I spent at least 15 hours in this process. The important lesson I gain is regardless of how enthusiastic I am about a company, it is better not to over-commit to the recruitment process. I will avoid this kind of laborious recruitment process in the future. I also should have clarified the salary requirement from the beginning.