I recently went through Canonical’s interview process for a Software Engineer position. Overall, be prepared to invest several hours across multiple months. Despite receiving strong feedback on most assessments—they mentioned my scores were higher than the majority of applicants—and passing all but the final interview, my candidate profile was suddenly removed (404 error). When I followed up, the hiring manager simply replied that I hadn’t passed the last interview.
In addition, Canonical required extensive proof of academic achievements in Math and Physics—going back as far as my middle and high school days over 20 years ago—which felt excessive and somewhat unusual for a senior-level position.
From day one, they also declined to share any salary range. Initially, they mentioned both direct hire and contractor options, which was important for me due to local tax implications. However, once I reached the HR stage, I was told contracting was not an option. This directly conflicted with what had been discussed earlier and led to confusion.
Here’s an overview of the steps involved:
Assessments
- Written interview
- Online technical assessment (multiple-choice questions + two coding challenges)
- IQ assessment
- Behavioral assessment
Early Stage Interviews
- Linux interview
- Cross-team manager interview
- Python interview
- HR interview
Late Stage Interview
- Director interview
These steps combined took a significant amount of time, and the final rejection felt abrupt. This has been my experience, but your mileage may vary. If you decide to proceed with Canonical, be prepared for a detailed and potentially lengthy process.