This talk may contain strong language, harsh truths, and serious passion.
(without overloading your few senior engineers)
"Just above 50% of engineers accepted job offers for those roles in the first quarter of 2021 — 171 of 320 offers — compared to a median above 65% in 2020. "
Facebook's hiring crisis: Engineers are turning down offers, internal docs show
Years of Professional Work Experience
Daily Time Spent Searching for Answers/Solutions
For a team of 50 developers, the amount of time spent searching for answers/solutions adds up to between 125-250 hours of time lost per week across the entire team.
Open the door for hiring more junior candidates. It may be the only way you survive.
You cannot tell true productivity of engineers until good project management is in place.
Create an onboarding system.
Ability to Find Information within their Organization
"Interactions with team members and managers aren't enough to help developers as more than half (53%) of developers agree or strongly agree that they are slowed down at work waiting on answers."
"In a new question this year, we asked if people feel like they have what they need to quickly understand and work on any area of their company's code. About half of developers say they have what they need, which means that the other half don't feel confident they have what they need to quickly understand and work on a new area."
Frequency of Productivity Frictions
Don't shame questions, the quicker people ask questions when they are stuck, the quicker they can get the education they need.
Enforce a process of opening work-in-progress PRs as soon as work starts on an issue.
If a PR requires more than 5 comments, encourage jumping into pairing sessions to discuss issues.
If you struggle to get people volunteering to share PRs for code reviews, you have created a culture problem. See "Create a Culture of Vulnerability" 🙃
Because by then it's too late.
It's easy to put project success in hands of one capable developer. There are short-term speed gains that can blind to long-term inability to maintain.
Are you working with a few seasoned team members? Brand new team? Coming into an existing team?
You must carve out time from feature delivery and deadlines for team members to focus on mentoring.
Team members should have motivation to prioritize mentoring/knowledge sharing alongside code-delivery. Praise collaboration and question answering.
Onboarding | Documentation | PR Review process | Team Style Guide
Passive mentoring - activities like PR reviews, answering questions in Slack
Active mentoring - activities like leading knowledge sessions, offering pair programming.
Schedule weekly learning sessions for knowledge-sharing, and make them mandatory.
🌱
Can start topic based (5-15 minutes), if people don't volunteer, assign research topics.
🌱
RxJS Operators ● Remix ● Vite ● Compound Component Patterns ● TypeScript Generics ● GraphQL
Ask your team how you can help them scale up team members. Take their ideas and transform into policy.
It requires dedication, vigilance, and continuous pushing.
Slides available at:
ScalingEngineeringTeams.jenniferwadella.com
Need help with ? Work with me! jennifer@bitovi.com