Future-Proof Your Company by Effectively Scaling Engineering Teams

Jennifer Wadella

Jennifer Wadella

@likeOMGitsFEDAY

This talk may contain strong language, harsh truths, and serious passion.

Goals for This Talk

  • Survive the Senior Hire Frenzy
  • Learn to Quickly Spot Skill Gaps
  • Create a Growth Environment

(without overloading your few senior engineers)

🔥 Survive the Senior Hire Frenzy 🔥

Current Hiring Landscape

"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

Where are all the Senior Developers?

lemmings into framework lemmings into management lemmings into independent consulting and training

Senior Salaries May Not Get You Senior Talent

  • 3-4 years = senior
  • In reality, you can have 3-4 years of experience on your resume with writing very little code.
  • This will only get worse as frantic hiring continues
  • "Senior" means something different everywhere
  • Most applicants have built applications in a framework, but can't tell you much about how their code really works.

Years of Professional Work Experience

Years Coding

Stack overflow annual survey 2023

Daily Time Spent Searching for Answers/Solutions

Answer Search

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.

Stack overflow annual survey 2023

Entering the "senior hiring frenzy" may not yield the results you're hoping for.

Open the door for hiring more junior candidates. It may be the only way you survive.

👀 Spot Skill Gaps Quickly 👀

Fix Your Project Management

You cannot tell true productivity of engineers until good project management is in place.

Onboarding

Create an onboarding system.


  • Can they answer what the vision of the product is? Who the users are? Why certain technical decisions have been made?
  • How quickly should someone be able to set up their environment?
  • Do they know the process from getting assigned work to getting the code for the deployed?
  • How quickly should someone be able to submit their first PR?

Ability to Find Information within their Organization

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."

Stack overflow annual survey 2023

Frequency of Productivity Frictions

Productivity Friction

Stack overflow annual survey 2023

Create a Culture of Vulnerability

Promote & encourage asking questions in public

Don't shame questions, the quicker people ask questions when they are stuck, the quicker they can get the education they need.

Use PRs for More Than Just Merging Code

Make WIP PRs the Standard

Enforce a process of opening work-in-progress PRs as soon as work starts on an issue.

  • Encourage committing code at end of every day
  • Can spot code quality issues faster
  • Facilitate pair-programming more easily

Use PRs as Documentation

  • Bookmark PRs that showcases repeated issues + conversations
  • Copy PR quote into wikis for documentation around codesmells and best practices

Use PRs as Coaching Mechanisms

If a PR requires more than 5 comments, encourage jumping into pairing sessions to discuss issues.

Make Your PR Review Sessions a Positive Environment

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" 🙃

⚠️ ⚠️ ⚠️

Do NOT wait for a PR to
be submitted to start coaching

Because by then it's too late.

⚠️ ⚠️ ⚠️

🌦️ Create a Growth Environment 🌦️

Why Is A Growth Environment So Critical?

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.

Understand Team Member Limitations

Are you working with a few seasoned team members? Brand new team? Coming into an existing team?

Your Number One Priority Should Be Knowledge-Spreading

You must carve out time from feature delivery and deadlines for team members to focus on mentoring.

Create KPIs

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

Slack != Documentation

Set Up Mentoring Practices

Passive mentoring - activities like PR reviews, answering questions in Slack

Active mentoring - activities like leading knowledge sessions, offering pair programming.

See One, Do One, Teach One.

Learning Sessions

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

Solicit Feedback

Ask your team how you can help them scale up team members. Take their ideas and transform into policy.

Summary

  • The senior talent bidding war is brutal
  • Create systems to spot skill gaps
  • Prioritize facilitating growth & mentoring



This is Hard, Hard Work.






It requires dedication, vigilance, and continuous pushing.

Questions?

Slides available at:
ScalingEngineeringTeams.jenniferwadella.com

Jennifer Wadella contact info

Need help with Angular? Work with me! jennifer@bitovi.com

@likeOMGitsFEDAY #scalingEngineeringTeams