Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to Grow Your Own Juniors: A Guide to Mentoring in an Elixir Environment

How to Grow Your Own Juniors: A Guide to Mentoring in an Elixir Environment

Junior Elixir Developers Meks McClure and Nikki Kyllonen reflect on their first year and share tips for onboarding new Elixir developers at ElixirConf 2022.

Nikki Kyllonen

August 26, 2022
Tweet

Other Decks in Programming

Transcript

  1. 1. General workplace suggestions 2. Getting ready for Day 1

    Getting the environment set up for a junior to join. Photo by Markus Spiske on Unsplash
  2. • Synchronous ◦ Record pairing sessions • Asynchronous ◦ Short

    5-10 minute videos • Upload recordings to centralized location Knowledge Sharing Photo by Fredrik Ivansson on Unsplash
  3. • Culture of question-asking • Dedicated spaces for questions ◦

    #helping-hands ◦ #programming ◦ #everyone-makes-mistakes Safe Space for Questions Photo by Jeremy Bezanger on Unsplash
  4. • Primary point of contact • Set project expectations: ◦

    Lower availability ◦ Lower velocity Establish Your Mentors Photo by Emm & Enn on Unsplash
  5. The Slide Deck • Fundamental concepts • Live coding examples

    • Project-relevant topics Photo by Maddy Baker on Unsplash
  6. The Sandbox Project • Safe space to practice • Make

    it fun! Photo by Sandie Clarke on Unsplash
  7. The Sandbox Project Photo by Sandie Clarke on Unsplash NEEDS

    NICE-TO-HAVES • Project structure • Project testing practices* • PR approval process • Design tool • Team task tracking
  8. Onboarding your new hire. 1. The first week 2. Important

    concepts to cover Photo by Adrian Swancar on Unsplash
  9. The First Week DAY 1 DAY 2 DAYS 3-5 Setup

    Sandbox project Pairing |>
  10. • ~6 hour session • Set up dev env, tools

    and credentials • Slide presentation • Share resources Day 1 DAY 1 Setup
  11. • ~6 hour session • Junior drives • Record for

    easy review • Gauge understanding DAY 2 Sandbox project |> Day 2
  12. DAYS 3-5 • ~4 hours of pairing • Alternate who

    drives • Independent exploration Pairing Days 3-5
  13. Modules OOP vs Functional Programming [3, 2, 1].sort [1, 2,

    3] Enum.sort([3, 2, 1]) [1, 2, 3] RUB Y ELIXIR
  14. LiveView • New and rapidly changing • Teach using the

    project version Photo by Christopher Cassidy on Unsplash
  15. Testing Practices • General testing principles • Introduce your team’s

    testing strategy End-to-End Integration Tests Unit Tests Photo by Sander Mathlener on Unsplash
  16. Beware Information Overload • Prepare to repeat yourself • Repeated

    exposure is important Photo by Ripley Elisabeth Brown on Unsplash
  17. Topics that can be delayed • Pin operator .^. •

    Capture operator .&. • Tail recursion • .with.
  18. Onboard to Active Project • Small bug fixes • Components

    • Recreate or alter existing feature • Grow and manage existing feature Photo by Francesco Gallarotti on Unsplash
  19. What makes a code review helpful? • Link documentation •

    Be overly prescriptive • Make an async video of your review • Live review Photo by Alexx Cooper on Unsplash
  20. • Weekly junior/senior sync • Regular 1:1 check-ins ◦ Adjust

    support ◦ Performance feedback Mentorship Evolves with the Junior Photo by David Ballew on Unsplash
  21. • the growth of the individual. • your team. •

    your company. • the Elixir community. Your Juniors are an Investment in… Photo by Sergey Shmidt on Unsplash