Async Engineering Mentorship
Master the art of onboarding and mentoring Engineers asynchronously
By Pedro Santos
Async Engineering Mentorship
Asynchronous work is becoming mainstream, but that doesn’t mean it’s becoming easier. As beneficial as is – and oh boy it is! –, it also comes with a few challenges which, worry not, are manageable and may even strengthen your overall process
When it comes to onboarding and mentoring new Engineers at Doist, we’ve been iterating on our processes over the years, making them as helpful and successful as possible.
Below, you’ll find best practices and habits that helped us improve the success of our onboarding for new Engineers joining our team.
Bonus: most tips are applicable to other fields.
It starts before their first day!
Start thinking about your new team member’s onboarding from the moment you send them your offer.
The process should be thorough and tailored to their role, their profile, your team and, ultimately, your company.
This is important so that, when your new team member joins you, they have a solid and throughout support system behind them.
Assign a dedicated mentor
Having a dedicated mentor to a newcomer means they have a stable person to reach out to, helping build a solid and personal connection in a (mostly) virtual environment from day one.
Ideally, this person should be someone other than the team lead.
The team lead will have a different role in the person’s lifetime at the company and will have plenty of time to build a relationship together.
Having a different person helps widen the newcomer’s relationships and, as a nice side effect, empowers the mentor with a different role that provides more opportunities to grow in different skills like people management, work allocation, planning, and similar.
Draft a plan
Start by drafting a clear and intentional plan.
When working asynchronously, leaving things to chance or being too vague with expectations leaves others feeling blocked or lost, requiring more feedback loops than necessary to find information and reflect on our progress.
If you’re welcoming someone new to the team, this is especially bad.
Instead, to help them succeed at their onboarding, draft a plan that’s tailored to their role and that includes all the information they need to succeed.
Set clear expectations
Most interactions are text-based when working asynchronously. That makes it harder to convey emotions, or to “read the room”.
If your newcomer doesn’t know what the expectations are, they’ll be in for a very stressful period which, compounded with the insecurity of starting a new job and trying to find their place in a new organization, makes it harder for them to succeed.
If they know what they’re expected to achieve and what success looks like in each part of their onboarding process, it’ll be much easier to do the right thing and, ultimately, enjoy their (hopefully!) dream job to the fullest.
Provide feedback early and frequently
Ok, you’ve drafted a spectacular plan and your mentee knows what’s expected of them. Kudos!
Now, it’s also on your plate to be proactive and provide feedback frequently and clearly. Whether it’s during 1:1s or asynchronously, do it and consider adapting your original plan based on what you observe and the feedback you receive.
If your mentee is rocking it and feeling the current plan is not ambitious enough for them, don’t be afraid to tweak it.
Or, on the other hand, if your mentee is struggling and needs to tone it down a bit, analyze it with them, by reflecting on what went wrong: were your expectations appropriate? Did the person have the right context and tools to excel? Are they going through a rough period and need to take it slower?
Analyzing and adapting as needed is essential!
Onboard gradually
Don’t bombard your new team member with information on their first day. They’ll feel overwhelmed and most likely won’t absorb all the information they need.
Instead, pace yourself. Expose them gradually and with a logical sequence to different parts of your organization, codebase(s), processes and team rituals.
For example, when you hand out their first coding task, don’t ask for something that requires code review, handling translations, getting design assets, or that affects multiple components/modules in your codebase.
Start small, with a task that’s small and contained. That way, your new team member can check out the repo, get it up and running, perform the change they’re supposed to do, learn your approach to version management, and go through the usual peer review. Phew, that’s already a ton for someone who’s just getting started!
After they nail this, ask for something that requires interacting with design, or that requires translations, or some other new process, to expose them to a little additional workflow.
They’ll be comfortable with your routines and codebases in no time, and you didn’t even have to rush it!
Promote autonomy from the start
Working asynchronously can be lonely and you’re never 100% sure when your colleagues will be available to help you.
Not everyone is used to or comfortable with this aspect, so draft your onboarding process in a way that helps newcomers embrace this instead of fighting against it.
A few tips based on on how we do this at Doist:
- Enforce that it’s more than ok to explore the surroundings of your current task. They’re not wasting that time, they’re investing it!
- Mention what’s useful to explore when they’re working on a given task: e.g., if you’re making a change on Todoist’s quick add, take your time to look around how input is validated, what edge cases we handle, how’s the interaction with the server, etc.
- Hold ourselves accountable to honoring a 24-hour turnaround time, as well as fully disconnecting during time off.
- Reassure that over-questioning and over-communicating is better than under-doing it.
- Make it explicit that they’re welcome to suggest ways to fill the gaps or a better way to do things.
Async-first, not async-only
You’re working asynchronously most of the time, not all the time.
Schedule regular 1:1s both with the mentor and with the team lead, and encourage the person to schedule 1:1s with other people in the team for getting to know them.
If you can, consider mentorship trips. On these, the company sponsors travel and in-person time between the mentor and the mentee, allowing them to strengthen their relationship.
But don’t make it just about work 8h/day. Consider doing local activities, inviting team members that may live nearby, or simply spending time together.
Wrapping up, to successfully mentor engineers asynchronously, make sure to:
- Prepare ahead of time.
- Ensure they have all the resources they need to thrive - including time and a dedicated mentor!
- Do it gradually, and continuously adapt the plan to their progress.
We incorporate all suggestions above very deeply at Doist, which, compounded with building newbie friendly codebases , facilitates and streamlines our onboarding and mentoring processes.
Besides a higher-than-average employee retention rate at 88%, we’ve noticed a significant uptick in success and satisfaction with our onboarding process, with newcomers feeling thoroughly supported, and yet, treated as adults.
We hope these hard-earned lessons help you improve your processes and your newcomer’s success and satisfaction as well. Give them a try, and let me know how it goes!
🚀