2 full hiring processes, 3 months, 8 interviews (1 hour each), ~20 hours of personal investment. Final result: a rejection email.
This one is quite personal. My intention isn't to blame the company or the people working at Canonical. I think it's important sometimes to be honest and show the world some insights into certain recruitment processes. First of all, I'll try to be as objective as possible in this article, even though I felt (and still feel) a lot of frustration because I invested so much time and energy into this.
Anyway, here's my experience with Canonical's recruitment process:
Fast-Track Microservices Hiring Process
Preliminary Steps (Pre-filtering)
At this stage, you'll have three main steps to complete: a written interview, a technical coding test, and a psychometric assessment. There are no video interviews yet. I think this stage is mostly about filtering out candidates and keeping only the most determined and persistent ones for what comes next.
[December 30, 2025] Written Interview
I received an email from a Head of Engineering asking me to complete the written interview. If you're not familiar with Canonical's process, the first step is to answer a long list of questions in writing. I personally had 42 questions to answer, which ended up being about 15 pages of writing. The questions cover several topics: your engineering experience, industry leadership experience, education, and more.
Here are a few examples of questions you might get:
- "Outline your thoughts on monolithic vs service-oriented vs microservice-based architecture. What are the important considerations for choosing the right approach among them?"
- "How did you rank in your final year of high school in mathematics? Were you a top student? On what basis would you say that?"
Oh yes... something you should know: if you're applying for an IT job and you didn't score at least 16/20 in mathematics (French grading system in my case), your chances of moving forward are slim. Your high school grades are actually a hiring criterion at Canonical, and you'd better not lie about it.
[January 8, 2026] Technical Test
I won't reveal the details of Canonical's technical test, but here's my only advice: be fast and stay focused. It's a mix of highly specific technical questions and several coding exercises, fairly standard LeetCode-style problems. The test lasts 1.5 hours. Have a coffee beforehand and get a good night's sleep, that's all I can tell you.
[January 13, 2026] Psychometric Assessment
I actually found this test quite fun. It's a Thomas GIA (General Intelligence Assessment) psychometric test. It measures your cognitive abilities across five areas: reasoning, perceptual speed, number speed and accuracy, word meaning, and spatial visualization. The test is timed and moves quickly. The goal is to assess how fast you can process different types of information. I'd recommend practicing beforehand on this site: https://gia.steciuk.dev/fr/test/
[January 19, 2026] Scheduling Interviews
Finally! Time to get serious. Yes, because everything before this was just the warm-up. On this day, I received an email from the Head of Engineering scheduling 4 one-hour interviews. At that moment, I felt a lot of pressure building up I had to perform well, this was the real deal. Here were the interviews:
- Software architecture and engineering skills
- Microservices deep-dive
- Linux system skills
- Talent Interview
But that's not all. I also received a lovely email from Mark Shuttleworth himself! To this day, I'm still a bit surprised by its content. It felt like a mix of "We take things seriously here and you have no room for error, or we'll come down hard on you" and "Don't come work for us if you can't handle the pressure and intense workload that Ubuntu requires."
I wanted to share one particular sentence from his email :
As a first impression, I've seen better. But okay, why not I told myself the reasons behind it were probably legitimate, even if it felt anything but reassuring at this stage of the recruitment process.
Before I go into the technical interviews and their content, I want to share a general feeling: every person I interviewed with was very kind and supportive. Even though they put you through one hour of challenge after another, I always felt good energy from my interviewers.
[January 28, 2026] Software Architecture and Engineering Skills
This was a really pleasant conversation. The interviewer asked me about my past experiences, how I had technically implemented certain things, what challenges I faced and how I solved them. It felt more like a discussion between engineers than an interrogation. The vibe was genuinely nice, and I left feeling good about how it went.
[January 28, 2026] Linux System Skills
This one was much more challenging. For a full hour, I was hit with a non-stop barrage of Linux questions, ranging from simple ones like "I get permission denied when trying to execute a script, how do I fix this?" to more complex ones like "What's the difference between a GNU license and an Apache license?" It was intense, but fair.
[January 30, 2026] Microservices Deep-Dive
This was the most challenging interview, but also the one I enjoyed the most. The questions were technical and precise, covering microservices concepts, API design, and code quality. For example, I was asked how I handle API versioning, what techniques I use for zero-downtime deployments (I talked a lot about canary deployments), and when I would choose Python over Go for a project. It felt like a real technical exchange.
[February 3, 2026] Talent Interview
Here, you have an interview with a psychologist from Canonical who presents you with different scenarios and asks how you would react. Questions might be about conflicts with colleagues, stress management, handling feedback, etc. The format follows the STAR method (Situation, Task, Action, Result) you're expected to give structured answers based on real past experiences.
During this interview, she also asked if I could provide proof of my high school mathematics grades and covid vaccine which are mandatory for travels. She then told me word for word that I was the "best option" for the Head of Engineering.
At that moment, I felt a huge wave of confidence and positivity. After all the effort I had put in, it felt really good to hear that.
[February 16, 2026] Hiring Lead Interview
This was supposed to be the final step an interview with the Head of Engineering who had been my main point of contact throughout the process. If you make it here, it means you've passed everything before. Congratulations!
During this interview, I felt a lot of stress and anxiety because the atmosphere was uncomfortable and high-pressure. From the very first minute, I was asked: "Why this role in microservices?" I stumbled a bit on that question because after hours of investment in this process, my nerves were starting to die really badly.
Nothing particularly challenging in this interview otherwise. We talked about paperwork, salary, and then he presented me with some projects. At the end, he said: "I think you'd be a great fit for the Launchpad Ubuntu team. Let me talk to my colleague about it."
Oh, cool! At that moment, I thought: great, I've actually made it through this recruitment process!
Well... not really. Because I then found myself having to restart the entire recruitment process from scratch for the Launchpad Ubuntu Engineer role. Yes, you read that correctly. With a sense of disillusionment, I had to go through more technical interviews all over again.
Launchpad Ubuntu Hiring Process (Round 2)
[February 19, 2026] Technical Deep-Dive Interview
Similar format to the Software Architecture interview. We discussed my experience, technical approaches, and how I handle complex systems. At the end, the interviewer told me I was "a super fit for the team."
More positive signals. More hope building up.
[February 25, 2026] Hiring Manager Interview
This was with an Engineering Manager who asked me behavioral and situational questions like:
- "If you're asked to drop everything you're working on and switch to a completely different task, how do you react?"
- "What do you think about mentorship?"
- "Twice a year we travel for sprints, and sometimes the CEO might ask you questions about what you're working on. Can you handle that kind of pressure?"
Throughout the interview, he was nodding along to my answers and saying things like "That's a great point you're raising because..." all the signals were positive. Yet that last question still set the tone. It felt less like an interview and more like a warning about the culture I'd be stepping into.
[March 11, 2026] Hiring Lead Interview
This was my final interview or so I thought. The interviewer was on his phone while talking to me. He asked me one technical question: "What's the difference between Python and Go?" And nothing else of substance. Since I had already discussed my availability and salary expectations with the previous Hiring Lead, he had no other questions.
At this point, I had been told I was the "best option," a "super fit," and asked about my availability and start date. Everything pointed to an offer coming.
[March 15, 2026 10:00 AM] Automatic Rejection Email
A lovely way to start my Sunday.
I stared at my phone, frozen. I didn't understand. What happened? Where did I go wrong?
I decided to reach out to the first Hiring Lead, who had been my main contact throughout the process and who had told me I was the "best option." I asked him for feedback on what went wrong.
His response? He told me the rejection was based on a feedback from the one who conducted the Technical Deep-Dive in the second hiring process, just a few weeks earlier. Apparently, I "tended to avoid going into high detail on technical topics" and she/he was "frustrated at not being able to adequately assess my technical ability."
Here's my issue with that: how am I supposed to go into technical details if she/he doesn't ask for them? During that interview, she/he asked me about my past experiences so I answered her/his questions. It's the interviewer's job to dig deeper if they want more details. I'm not a mind reader. If you want technical depth, ask technical follow-up questions. That's literally what interviewers are supposed to do.
And even if that feedback was valid, why wasn't it raised immediately? Why did the process continue through 2 more interviews after that, including a Hiring Manager who nodded along and told me my answers were "great points," and a Hiring Lead who asked about my availability and start date?
Throughout this entire process, I was told I was the "best option," a "super fit for the team," and asked when I could start. Every signal pointed to an offer coming. And then a rejection email on a Sunday morning, based on feedback from one person that apparently wasn't important enough to mention until the very end.
My Conclusion
The entire interview process felt like a game of Russian roulette a sort of "good luck, have fun" experience. Eight interviews means 8+ hours of personal time, and since I like to study and prepare thoroughly for every interview, imagine how much time I spent behind the scenes.
I don't regret it entirely because I try to see the positive side: I got a lot of practice, I learned a lot, and I grew from the experience. But that doesn't take away from the fact that this was, on a personal level, an incredibly frustrating experience.
I hope they can improve this in the future, because I felt emotionally devastated after receiving that automatic rejection email. I tend to put my heart into things, and this hurt deeply. This way of recruiting people leading them on with positive signals and then rejecting them via automated email feels like complete indifference.
I hope this article can help others. If you decide to go through this process, I strongly advise you to study and prepare thoroughly for each interview. Even though the people are kind and supportive, there's a very challenging atmosphere and a clear intention to push you to your limits.
The Hiring Roadmap
Written Interview
42 questions, ~15 pages
Technical Test
1.5 hours, LeetCode-style
Psychometric Assessment
Thomas GIA test
Interviews Scheduled
+ Mark Shuttleworth email
Software Architecture Interview
Linux System Skills Interview
Microservices Deep-Dive
Talent Interview
"You are the best option"
Hiring Lead Interview
"You'd be great for the Launchpad team"
Technical Deep-Dive Interview
"A super fit for the team"
Hiring Manager Interview
"That's a great point"
Hiring Lead Interview
On his phone during the call
Rejection Email
Sunday morning, 10:00 AM
Frequently Asked Questions
- How long does Canonical's hiring process take?
- In my case it took just under 3 months end to end, across roughly 8 interviews of 1 hour each, plus a written interview of ~15 pages, a 1.5-hour technical test, and a psychometric assessment. Total personal investment, including preparation, was around 20 hours.
- What is the Thomas GIA test used by Canonical?
- The Thomas GIA (General Intelligence Assessment) is a timed psychometric test that measures cognitive abilities across five areas: reasoning, perceptual speed, number speed and accuracy, word meaning, and spatial visualisation. It is short and fast-paced. You can practise on sites like gia.steciuk.dev.
- Does Canonical really check high school grades?
- Yes. Your high school grades, including mathematics, are part of the hiring criteria at Canonical. They can ask you to provide proof during the process, so do not invent your scores in the written interview.
- How many interviews does Canonical require for an engineering role?
- For an engineering role you can expect: a written interview, a technical test, a psychometric test, then 4 one-hour interviews (software architecture, technical deep-dive in the relevant domain, Linux skills, talent interview), plus a hiring lead interview. If the team changes mid-process, you may have to restart with a new round of technical interviews.
- Is the Canonical hiring process worth going through?
- It depends on what you want. The interviewers are kind and the technical bar is interesting. But the process is long, the pressure is high, and rejections can come by automated email after weeks of positive signals. If you go for it, prepare thoroughly for every stage and assume the outcome is not predictable from in-call feedback.