care_and_feed



care_and_feed

0 0


care_and_feed


On Github dorton / care_and_feed

The Care and Feeding of a Jr. Dev

Jesse Wolgamott & Brian Dorton

ChaiOne STEEP May 20, 2016

Outline

The Metaphor Jr vs Mid vs Sr Expectations of a Jr. dev The Value of Mentoring What does mentoring look like? Hiring Process

Metaphor

Orgs like to only hire expert level developers

But experts are already paid well, working in conditions that are good, and are only looking for a change if the money is 30% more.

Either:

Pay the Dev Their Money$$$$$ Hack the system and grow your own Devs

Jr vs Mid vs Sr

Sr Devs

  • Can Solve Problems
  • Can make technical decisions
  • Knows when something is good enough
  • Knows when something is overkill
  • Knows what they know, and what they don't

Mid Dev

  • Can Solve Problems
  • Is usually told the tech stack to use
  • Knows when something is good enough
  • Needs to be told when something is overkill
  • Knows what they know, but not what they don't

Jr Dev

  • Can Solve Problems
  • Needs to be told what tech and libraries to use
  • Needs to be told when something is good enough
  • Needs to be told when something is overkill
  • Insecure about what they know

Expectations of a Jr. dev

When first getting started, orgs either:

Believe JRs should be experts Believe JRs are interns

In reality:

  • JR devs can solve problems using software.
  • JR Devs need code reviews
  • JR Devs need pairing to see how you do it
  • JR Devs need to feel cared after

JR Devs need a mentor

CONs:

Mentors are your existing experts Your experts are then less billable You spend money growing JR devs, and then they leave

Julia Claven

If you don't want the juniors you're investing in to leave when they get better, treat them from day one like you would after year one! 👌 - Aimee Knight

brandon hays

Every great developer you know got there by solving problems they were unqualified to solve until they actually did it. - Patrick McKenzie

Effective Mentoring

Pair programming Internership model Internal tooling/projects

Hiring Process

If we speak in terms of hiring piano players: you're hiring the Chopins, Bachs, Liszts, and getting them to play Mary Had A Little Lamb. - Ryan Bigg

Generally Accepted Principle: "Tech Hiring is Broken"

Instead, maybe we:

  • Unless you are paying them to write algorithms, you're probably paying them to create and maintain software.

  • Give candidate piece of code, ask them to review it.

  • What do they like about it?
  • What would they do different?
  • What could they optimize?
  • Have a conversation about modeling data. Describe a problem, and ask them what tables / models they would use.
  • Talk to them about their previous experiences; most JR devs had a career before software. This is an asset

Tips from What We've Seen at TIY

  • Hire for aptitude, trajectory, and culture, not for technical skill level or prior experience. If that is what you want, you're not hiring a junior developer.
  • Junior developers do not need a sink-or-swim mentality, to be treated like children, or excluded from the team.
  • Just because you can do something in half the time, doesn't mean its what you should be working on a senior developer.
  • No junior should be in charge of upgrading your system to a new major system, overhauling a test suite, or re-architecting your database structure.
  • Encourage (i.e. require) pairing with juniors a few times a week. Especially on unfamiliar parts of the system.
  • Junior developers need structure, honest expectations, and room to grow.

Thanks!