Engineering mentorship at Asana

Asana Engineering TeamEngineering Team
1 septembre 2015
6 min de lecture
facebookx-twitterlinkedin
Engineering mentorship at Asana

One of my favorite things about working at Asana is how much we invest in teaching each and every individual at the company. It starts on your very first day as a new hire and continues through your whole career, changing to fit your needs as you learn and mature. Even our co-founders place tremendous value on internal and external coaching to better understand themselves and how they contribute to our ultimate mission.

In this post, I’ll talk specifically about what kind of mentorship a new engineer can expect to receive at Asana. Starting a new job can be pretty anxiety-inducing; like the angle and velocity of a rocketship, it can feel like the first few weeks in a new role will significantly shape the trajectory of your whole career. Thankfully, Asana gives you lots of co-pilots to help you steer.

We have many different kinds of mentors at Asana. In your first few weeks on the job, you’ll go through an onboarding process under the watchful tutelage of an onboarding mentor, rapidly soaking up information from across the engineering organization. As you transition into your role, be it as an intern or a full-time member of the team, one of your manager’s core responsibilities is to help you achieve your desired career trajectory. You’ll also be able to tap into a robust and active living peer mentorship system that caters to a wide range of topics. And finally, one of Asana’s most unique perks: you’ll have access to a wide array of formal, external coaches.

Onboarding Mentors

As engineers, we know that building a system that won’t need constant maintenance in the future is better than just getting something shoddy out the door; for things that last, an initial investment is repaid many times over.

One of the greatest factors in success is never being blocked, especially in your first few weeks, where lack of context and information can stymie you at unexpected turns. Your onboarding mentor will be your personal unblocker. This person is always an engineer on your team, and always has a desk next to yours, so communication is as simple as turning your head.

In general, there are two kinds of knowledge your mentor will help you acquire:

One kind is raw domain knowledge. No matter how extensive your documentation, there is knowledge that will always live inside other engineers’ heads. Your mentor will help a lot with this, through pair coding and teaching.

The second, more useful kind, is how to discover other domain knowledge. Your mentor will show you the tools we use, where documentation lives, how to read it, and introduce you to subject matter experts. As you get more practice doing this, you’ll rely less and less on others’ help.

Two years ago, my own mentor, constantly acted as though he had no idea what the answer to any problem was, and would show me how he would find out. There would be a simple bug, and he would ask me how I would approach it. Whenever there was a part of my approach that I got stuck on, or was not effective, he would tell me about a resource I didn’t know existed, and show me how to use it. This is a common pattern.

At Asana, we’re all believers in that old adage about teaching people how to fish. As engineers, we know that building a system that won’t need constant maintenance in the future is better than just getting something shoddy out the door; for things that last, an initial investment is repaid many times over. The same principle applies to our new fellow engineers, who will soon be building services we depend on, or features we build on top of.

Our onboarding process is flexible, too. My software engineering education wasn’t extremely formal, yet I was the onboarding mentor for a new hire with little experience in this area. Initially, it was a struggle for both of us because my teaching style didn’t match up with their learning style. So we decided to switch mentors to somebody who was better equipped to teach software engineering patterns, and things worked out very well.

Ultimately, the role of the onboarding mentor is done when you know how to unblock yourself, but their role as a mentor in your career growth will continue long past this point.

Managers

Managers are best at helping you discover where you want to be and how to get there. Very high up on a manager’s list of responsibilities is to “serve as [a] mentor; help individuals develop and achieve their personal and career goals”. Notice that this is not phrased as, “get the most work out of each individual” or “keep individual as productive as possible.” Instead, many of our 1:1s focus on identifying what direction to push ourselves in, and how best to do it.

This isn’t just lip-service – a manager core incentive is helping people achieve personal growth. Making an individual co-worker more productive, multiplied over the net amount of time they work at a company, is one of the most leveraged things anybody can do for the company.

Our co-founder wrote a lengthy perspective on how we approach management at Asana; this passage highlights the very real benefits of our philosophy:

…Josh Smith, [joined] us as a developer straight out of college, after first doing an internship. He already was great at some things related to his role, but will admit he was lacking in many others. Josh said that his manager, Jack, pushed him to test his boundaries in these areas specifically, “at a speed where I was constantly challenged, but not overwhelmed.” This ensured he grew quickly. After just a little less than a year as a full time developer, Josh has gained enough institutional knowledge and experience to become a program lead and begin playing the mentor role himself.

However, as good engineers know, having a single point of failure for any system, including non-technical ones like personal growth, is not ideal. So we have lots of other avenues for you to learn from your teammates.

Peer Mentorship

The most concrete benefit is knowing who you can talk to when you’re blocked.

The whole team is invested in ramping you up, especially in your first few weeks.

We have a series of short onboarding talks, given by other engineers, that introduce a major concept (e.g. our data model, testing, security), accompanied by a text form of the information. Some people learn better by hearing information, and some learn better by reading, so we try to provide both. We space these out over a period of time, so you get a chance to practice what you learn in between absorbing the information. But the most concrete benefit is knowing who you can talk to when you’re blocked.

Aside from just technical knowledge, there are lots of skills to pick up, and your teammates are a talented bunch. We keep an ongoing project in Asana where people offer and request peer mentorship on a wide array of topics. Some current examples include interviewing, agile methodology, communication, and leadership. Often, these are very cross-functional; in fact, even in the course of writing this blog post (my first one!), I’ve learned a lot from my teammates who work much more with content.

Even though there are no formal incentives for coaching, it turns out people are very excited about doing this. Most of us enjoy sharing our skills, and everybody is interested in building strong connections outside of our immediate team. We default to making these mentorship relationships public, and it’s a very gratifying feeling seeing others “heart” that you’re learning, say, product development from our lead PM.

Engineering mentorship at Asana (Image 1)

Some of our current peer mentorship offerings

Formal Coaching

One of our coolest (in my opinion) perks is formal, external coaching from a range of impressive and experienced teachers. Life coaching, executive skills, interpersonal relationships, communications…it’s a cornucopia of coaching. A cornucoachpia. Coachnucopia. Learnucopia. I need a portmanteau coach (“portmentor”).I’ve experienced a lot of growth by working with one of our coaches, Annelène Decaux. She initially helped me with communication and career planning, and then moved into better emotional self-awareness. This has definitely helped with my work at Asana. For example, I’ve learned to recognize when I believe something because of emotional attachment to a project instead of genuine technical and product needs. But it’s also made a significant impact on my life outside of work as well. Ultimately, this is one of the most liberating and refreshing tenets of how we view work at Asana. We really believe that a team that is happy, healthy, and has a good work-life balance, will lead to building an effective, thoughtful product. Mentorship plays an integral role in building such a team. Since each person comes in with different skills and different goals, we use whatever blend of teachers and methods is most effective to keep each person growing. This ties into our deeply-ingrained attitude of self-improvement, which I consider to be core to a great culture. People are continuously looking for ways that they can do better. Even when things go wrong, without blaming others or themselves, they grow collectively and foster an environment of consistent improvement. Let us know how mentors have helped shape your career, at any stage, in the comments. Finally, we’re always looking for people to bring their skills, expertise, and personality to our team. Explore current job openings at Asana.