1 of 27

Successfully Onboarding a Junior Engineer in Three Steps

Emily Giurleo • RailsConf 2020.2 Couch Edition

2 of 27

The Players

You�Manager or mentor of new engineer

Your Team�Working closely with new engineer

Junior Engineer�New member of your team!

3 of 27

The Goals

Enable autonomy�Make the new engineer productive

Build confidence�Make the new engineer believe in themselves

Develop trust�Make the new engineer believe in you

4 of 27

The Steps

You

Your Team

Junior Engineer

Players

Enable autonomy

Build confidence

Develop trust

Goals

Steps

1. Set Expectations

2. Deliver Feedback

3. Assess Performance

5 of 27

Step I:

Set Expectations

6 of 27

Set your own expectations

  • Make a three-month road map
  • Re-read their resume. What will they have to learn?

7 of 27

Set your team’s expectations

  • Who is going to teach the new engineer what they need to know?
  • How much time should they spend doing that?

8 of 27

Set new hire’s expectations

  • Share your three month road map
  • Let them express ideas and preferences
  • Tell them who they should go to with questions

9 of 27

The Goals

Enable autonomy�Make the new engineer productive

Build confidence�Make the new engineer believe in themselves

Develop trust�Make the new engineer believe in you

10 of 27

Step 2:

Deliver Feedback

11 of 27

Normalize feedback on your team

  • This is its own talk 🙃
  • Warning signs:
    • Reacting defensively to feedback
    • Talking behind each other’s backs
    • Certain teammates are exempt from criticism

12 of 27

Give feedback to the junior engineer

  • How to give feedback
  • What to give feedback on
  • When to give feedback

13 of 27

How to give feedback

Example: Junior engineer pushes directly to master instead of creating a pull request.

  • Be specific: I noticed you pushed directly to master instead of creating a pull request.
  • Focus on impact: This prevents the rest of the team from being able to catch bugs in your code.

14 of 27

How to give feedback

  • Ask questions: Why did you do that?
  • Redefine expectations: In the future, I expect you to create a pull request for every change you make to the code.
  • Give them a chance to fix it: Walk me through the code you merged and make a pull request with changes.

15 of 27

How to give feedback

  • Be specific
  • Focus on impact
  • Ask questions
  • Redefine expectations
  • Give them a chance to fix it

16 of 27

What to give feedback on

  • Everything 🙀
  • Give positive feedback for technical work done well
  • Reward engineers for valuable non-technical work

17 of 27

When to give feedback

  • During regularly-scheduled 1-on-1’s
  • Also not during regularly-scheduled 1-on-1’s

“You’d never let the fact that you go to the dentist for a cleaning a couple times a year prevent you from brushing your teeth every day.”

-- Radical Candor by Kim Scott

18 of 27

Get feedback in return

  • Giving feedback will reveal holes in your process
  • Don’t. Get. Defensive.
  • Use this feedback to make onboarding better

19 of 27

The Goals

Enable autonomy�Make the new engineer productive

Build confidence�Make the new engineer believe in themselves

Develop trust�Make the new engineer believe in you

20 of 27

Step 3:

Assess Performance

21 of 27

Get on the same page

  • Make sure the team agrees on what constitutes good work performance
  • e.g. Agree on a list of criteria for promotion

22 of 27

Give a performance review

  • The contents of this review should not surprise you
  • If the junior engineer is performing well, reward them with a raise or promotion

23 of 27

Assess your own performance

  • If the new engineer’s performance review was a surprise to you, you probably did something wrong
  • Collect feedback from the new engineer and your team to improve the onboarding process

24 of 27

The Goals

Enable autonomy�Make the new engineer productive

Build confidence�Make the new engineer believe in themselves

Develop trust�Make the new engineer believe in you

25 of 27

Overview

You

Your Team

Junior Engineer

Players

Enable autonomy

Build confidence

Develop trust

Goals

Steps

1. Set Expectations

2. Deliver Feedback

3. Assess Performance

26 of 27

Why does this matter?

27 of 27

Successfully onboarding a junior engineer in three steps:

  1. Enable autonomy by setting expectations
  2. Build confidence by giving feedback
  3. Develop trust by rewarding good performance

@EmilyGiurleo • emilygiurleo.dev