At Asana Engineering, we take a systematic approach to allocating responsibilities, called the Fair Allocation of Internal Responsibility (FAIR) Process. I created this process after transferring ownership of Asana’s Engineering Intern Program to another person on the Engineering team. Since launching the FAIR Process, every new leadership role in Engineering has started being advertised through […]
At Asana Engineering, we take a systematic approach to allocating responsibilities, called the Fair Allocation of Internal Responsibility (FAIR) Process. I created this process after transferring ownership of Asana’s Engineering Intern Program to another person on the Engineering team. Since launching the FAIR Process, every new leadership role in Engineering has started being advertised through it, which has resulted in a lot of internal transfers, quadrupling the number of non-male Tech Leads we have for teams.
I wanted a process for transferring responsibilities that was fair, transparent, consistent, and built that process out for the intern lead role. We adopted the FAIR process across Asana Engineering in February 2020. Since then, we’ve transferred several dozen responsibilities, ranging from small (e.g. Mentor Experience Lead for the aforesaid intern program) to large (e.g. my current role: Platform Area Tech Lead).
We thought sharing the FAIR process would be helpful to people outside of Asana. Here are the considerations we had in designing the process, how we implemented it, and a handy template you can use to try it with your team.
At Asana, our responsibilities—from Head of Engineering to owner of API Logging—are captured as Areas of Responsibility. This system makes it clear that each area of the company should have a single owner who is responsible for the success of that area. This clarity is essential for making great decisions, fast, as well as helping folks grow in their roles by taking on additional or new responsibilities.
When I was thinking about handing off one of my important AoRs, the Engineering Intern Program Lead, I started thinking about the best way for us to transfer responsibilities in general. What requirements should a process that transfers responsibilities have?
I realized that the status quo would be to come up with a list of candidates, and then choose the most qualified person. This approach can work well, especially if I knew all the qualified candidates, and knew them well. But this approach has a risk of passing over qualified but less visible candidates. Perhaps I don’t know all the folks who would be qualified, or a name slips my mind.
Let’s say I do draw up a list of candidates. Without a clear decision-making framework, my choice could be biased, or not based on what would make them great in the role. This approach also makes it difficult for those not considered to know where opportunities come from.
Instead, I wanted a process for transferring responsibilities that was fair, transparent, consistent, and built that process out for the intern lead role. This turned into the FAIR Process, which we turned into a template for anyone to use. The core of this process is defining the requirements for the role, advertising it to all potentially qualified applicants, and then choosing the most qualified candidate.
I came up with three main requirements I wanted to follow in my process:
Looking at all these together, we can see that our status quo “ask some folks if they’re interested” solution falls a bit short. It’s not necessarily fair (as I might be missing candidates based on my knowledge of the org), transparent (since the criteria for evaluation are not clearly documented), or consistent (since everyone could implement it differently).
To try to improve how we allocated responsibility, I came up with the recursively named Fair Allocation of Internal Responsibility (FAIR) process. This took inspiration from how we recruit leads for our Employee Resource Groups, and how we interviewed external candidates for the role. See our FAIR Process Guide for more details for how to adopt this!
Let’s say that we were looking for someone to own our Public API, which covers the processes for reviewing changes to our API contract. Here’s how we execute on that using the FAIR process.
Done in an unbiased and thorough way, this approach results in a better process:
We’ve found that using the FAIR process consistently in Engineering has driven positive impact for both sides of hiring:
Together this helps the organization move faster, because we’re able to make sure the best person gets the job, and helps individuals grow faster, because they’re able to easily find and be considered for new roles. While Asana has always had great internal mobility, with the vast majority of our tech leads coming from internal applicants, having a process like FAIR helps ensure that this mobility scales as our organization does.
The transparency created by this process gives engineers a clearer idea of the opportunities for career advancement internally. It’s often difficult to be aware of the types of growth that are available, especially outside of one’s immediate area. Thanks to a consistent use of the FAIR Process, folks have a clear idea of the responsibilities that are opening, making it easy to trust that there is advancement available. It also helps guide how folks think about growing their career. Someone might not be ready for a tech lead role now, but they can look at the requirements and start growing so they’d be a great applicant in the future.
If you’d like to take advantage of the internal mobility at Asana, we’re hiring!
The post How Asana allocates engineering responsibilities transparently appeared first on The Asana Blog.