140 karma · joined December 9, 2014
The written interview serves multiple purposes.
First, it is a response to a massive flow of applications. We can more fully and fairly assess those who show they are willing to do some work to be part of our company.
Second, it helps address bias. The written interview is not a resume, which a hiring manager would read through bias like "I recognise that university" and "I like that country". The written interview is anonymous work, which can be assessed more objectively. We get it assessed, twice, anonymously, in the common case. For my roles, more than 100 people at the company help me with this, and I'm grateful to them for the work they do.
Third, it helps us focus our resources. We have very light resume screening requirements - be a plausible candidate from somewhere in the world - but we spend a LOT of time on the written interview, and interviews. So for those candidates who show they care, they have insights, and they are quick on the uptake, we can spend a lot more time on them.
Fourth, it helps avoid repetition. We can share a written interview with interviewers later in the process, and they get a lot of context on the candidate very quickly. They don't always read it before meeting the candidate, but they can and they should.
If you really care about security and reliability across multiple Linux distros, then containerised software distribution is particularly challenging. But it's a fun technical challenge, and we have an amazing team that's dedicated to getting it right.
Our goal is very secure, very reliable, very seamless software distribution across any Linux, and as far as I am concerned it's great that there are multiple teams working to figure out that hard problem. How lucky for you that we're not all just stuck with one option!
That of course will vary based on role, experience and location. We have hired people from 50+ countries which is remarkable for a company of 800. We tend not to hire in the most expensive locations because we get fantastic talent who live in less polluted, congested and occasionally self-important environments.
We do pay competitively; we have hired people out of FAANGs, and we constantly benchmark pay against our market data around the world. True remote work is worth an extra 20%, and quality of colleagues and focus is priceless. We also rigorously assess pay raises for gender equity.
* Who was the person coming up with the interview questions?
That would be me, mostly. I generally would have reviewed them, though occasionally some slip by.
Some of the role-specific questions would be from the hiring lead on the role, who is usually a senior person in that part of the business who has been through an onboarding process run by our global head of HR and me, and who handles applications for multiple jobs. These hiring leads are less susceptible to bias, and more experienced, than first-level managers, and it frees the first-level managers to focus on their teams and get good at being managers.
* What is that person's psychological profile?
If you are asking about my psychometric profile, I scored 94 on the test we use. If you really mean psychological profile, I don't know. I've been called all sorts of things over the years, but not by professionals ;)
* What is that person's biggest achievement since high school?
That would depend on what one values.
As a student I helped a small newspaper in Cape Town be one of the first in the world to be online. Started a company, Thawte, that helped lots of businesses outside the US get certificates for secure trading. Sold that well, and then trained to join a flight crew on Soyuz to the ISS. Ran several experiments in space, including the first stem cell experiments, which helped shape stem cell therapy research here on earth. Started a foundation which has funded tens of social change leaders working in health, digital, civil society and environmental areas. Started Ubuntu to democratise access to open source, made some mistakes but stuck with it to help Canonical survive and now thrive. Learned not to yell at people, learned to hire, hired hundreds of people. I also have helped start some botanical gardens because I like them, and am active in helping a small country chart a course for themselves that has made a measurable difference to the lives of that population. What, I wonder, do you value?
* Who are the people working in the team?
They are generally outstanding technically and socially, from all over the world, with a strong sense of shared mission to help open source be easier and cheaper to consume, personally and professionally, for companies and individuals.
* What are those people's psychological profile?
They vary greatly, it's useful to shape teams that complement one another.
* What're their education levels?
Generally but not exclusively they have undergraduate and graduate degrees.
* What're their work experience?
That varies widely, we hire both new graduates and people who could happily retire but like what we do and how we do it.
* What're their biggest achievement since high school?
If you can get a place in the company, you could ask them yourself.
I personally screened 40,000 resumes last year, and hired 100+ people into the company. It has been very exciting to see how we are lifting our confidence and aspirations as a result.
It makes for more interesting meetings, more interesting ideas, more interesting software. I love what I do, and I choose to set things up to maximise the chance that the people around me are equally excited about what impact we could have in the world.
Life is short, the way I want to use it is to help people who contribute to open source - all open source - have the biggest possible impact from their generosity. By making open source easy and cheap to consume and rely on in production, I think we amplify the contributions of others, and I feel very good about that. We also try to innovate on pieces of the landscape, and those are fun too.
But you may be confusing the first step of our hiring process - the written interview - with the whole of the process.
If someone does well on the written interview, which is usually twice-assessed and done so on an anonymous basis, they get additional screening tests and interviews to assess professionalism and experience and competence, which helps us place them in the best part of the company for them. It also helps them learn about us and how we work to make sure that they are making the right choice for the next segment of their career.
In the past I think we over-prioritised passion-for-Linux relative to competence, and we paid a price for that. So now I'm pretty focused on looking for both, and ensuring discipline in the offers we make across the whole company.
We had 110,000 applications to Canonical last year, which is a lot to process for a company of 800. We offer a very high-quality remote-first employment experience, with international travel twice a year for up to two weeks so teams can plan, bond and play. That's attractive to a lot of people.
Candidates these days apply for between 5 and 75 roles in a batch, and I'm pretty focused on selecting for people who genuinely care about open source and the role we can play in making it a level playing field with high quality developer and production experiences.
About 30% of the people who are moved to written interview submit them, so it does serve to separate out those who understand our mission and are excited about it, from those who just clicked on our link along with 50 others.
The written interview also helps reduce culture and gender bias in our hiring.
Given that we hire globally we know that the people reading the candidate resume may not have context on the resume norms and expectations in the culture and place that the candidate comes from. We ask them to move any plausible candidate to written interview, and then we generally have the written interview reviewed twice by two separate people, in an anonymized fashion so the reviewer can only assess what's there, with no bias from resume.
LXD uses various mechanisms to map the uid-in-container to a uid-on-host. So root-in-container is not root on host. There are a lot of details to work through to make that work neatly, and there is still kernel work being done to map this nicely into the filesystem, but it works, and it's the default, and the FAQ recommends strongly not to grant real-root to your containers, for a good reason.
LXD is more like KVM in that gives you "guests" that feel like a full OS. You can run existing apps in there in exactly the same way you would run them in a VM.
So these are two counterparts in the container continuum, and it's useful to understand them both so you use the right thing at the right time.