Juniors. Juniors Everywhere.

Who am I? 

Valerie Kraucunas

(cruh-soon-uss)

Administrative Assistant

Galvanize Web Development Immersive

Software Engineer

How did I get here? 

  • Teaching at Galvanize
  • I have been thinking about this talk since last Develop Denver
  • I have survived the "Junior Dev" job hunt and hiring process twice now
  • My first coding job didn't give me the mentorship I was explicit about wanting
  • I have heard horror stories from both juniors and seniors/employers about each other

I <3 My Mentors

Why I'm Talking About This

  • Galvanize
  • Turing
  • General Assembly
  • Skill Distillery
  • DaVinci Coders
  • DU Coding Bootcamp
  • CodeCraft School
  • Computer Science Grads
  • Self-taught Individuals

What can be done about the imbalance in the Denver dev pool?

Juniors! Since I knew you couldn't help yourselves, and you attended this talk, there will be tips for you down here.

Methods of Integrating Juniors

Luxury Model

Intel, Google, Slack, Paypal, Amazon

Attainable Steps

Not Intel, Google, Slack, Paypal, Amazon

Methods of Integrating Juniors

Luxury Model

  • Junior On-boarding Program
    • Potentially with designated coordinator
    • May include language education 
  • Dedicated Mentor
  • Milestones
  • Clear Path to Promotion
  • Professional Development Funds
  • Personal Development Funds

If a potential employer offers any form of this, it's an employment benefit. I encourage making more effort.

Methods of Integrating Juniors

Luxury Model

Valid Junior Dev Reactions

Valid Senior Dev/Hiring Manager Reactions

Methods of Integrating Juniors

Luxury Model

Smaller, Easier Steps

  • Hiring & On-boarding Processes
  • Team & Mentorship Strategies
  • Communication

Hiring & On-boarding

Determine how much experience is really needed for the position

Write a job posting that leaves the door open for junior candidates

Before you post a job

Sometimes job postings are really for seniors. If there is no "senior" or "lead" or "principal" on the title, apply.

Hiring & On-boarding

Asking questions in an interview that apply to the work that will be done instead of "gotcha" trivia questions

In the Interview

Pair programming during an interview in place of white boarding

If/when you're asked a question you don't know the answer to, tell them what you do know. If they don't supply the answer, ask for it.

Hiring & On-boarding

Root out what gets this person excited about the problems your company is solving, what gets them excited about coding, what gets them excited in general

In the Interview

Hiring based on passion, drive, and ability to learn and problem solve will result in happier juniors and seniors

Have your struggles and your successes ready in your mind. If you are a career changer, it's encouraged to use examples from past jobs too.

Hiring & On-boarding

Have the people they would be working with interview them!

In the Interview

Ask if this is the case during the interview.

Hiring & On-boarding

Ask them what equipment they prefer

On-boarding

Have documentation on your project(s), listing versions of runtimes

Have a set up script

At least have a list of the technologies and tools needed to do their job

Bonus: Have documentation for setting up machines, have the newest employee update it as they set up their machine

Bootcampers: if there is no guide for setting up your machine, go back to your bootcamp setup instructions. Suggest one of the approaches below.

Hiring & On-boarding

On-boarding

A new employee lunch or happy hour

Have an assisted process and specific ticket in mind for their first PR

New employee checklist or even a scavenger hunt

It is perhaps uncomfortable, but not weird to spend time introducing yourself to people on day one. And more than devs if that's an option.

Team & Mentorship Strategies

Put them on a team with engineers you trust!

You can learn from anyone. Sometimes you're learning what not to do. That is also valuable. But get out of that situation when you can.

Team & Mentorship Strategies

Let them know you are open to questions

be responsive to their questions!

Don't ask questions until you've at least thought through how you want to approach the problem.

Team & Mentorship Strategies

Mentor Level Ideas

Expose them to opportunities

Have them document a process as you execute it

Make them red, green, refactor on a ticket

If you have to iterate on a ticket, or get a "changes requested" on GitHub, don't freak out. Start asking yourself and seniors, "How can I make this better?"

Team & Mentorship Strategies

Give them choices

Talk as a team about what you're reading to keep current

Break down tickets thoughtfully to distribute work well across the team members and their skills

Team Level Ideas

Estimate tickets as a team, with the understanding that 3 means different things and time frames to different team members

Talk with your supervisor/mentor about what kinds of tickets you are most interested in pursuing. Ask seniors about their reading sources.

Team & Mentorship Strategies

Office hours

Refer them to someone who has the skills to help them

Team Level Ideas

If your recommended "go to" people aren't answering your questions in a timely manner, they aren't your "go to" people. Pivot.

Team & Mentorship Strategies

Or else...

Tech debt!

Communication

Communication

When they break something

Pair program to fix it

Give them instructions and support while they fix it

Explain to them how you fixed it

It is going to happen. The reactions of those around you will inform how long you'll likely last in this position.

Communication

Fielding Questions

When they are asking a question, listen to the whole question before formulating an answer

If they do not provide this information, ask,

"What have you tried?"

Provide as much context as you can, in an organized fashion. If you are drowning, tell them.

Communication

Figuring out best practices for you both

How do you want to be contacted for questions?

How do they learn?

Clear expectations on both sides

Ask the first question on day one. It will likely prevent some anxiety next week.

Communication

last but not least

FEEDBACK

Keep the feedback loop as small as possible

Keep it constructive and informative

Stop bad habits and grow good ones

If you don't feel you're getting the feedback you'd like, ask for it. Work with your seniors to figure out the best tone for that feedback.

Benefits of having Juniors around

  • New devs are a nearly blank canvas
  • Bootcamp grads typically bring new libraries and tools with them
  • Teaching is the best way to (re)learn/reinforce things you "just know"
  • Career-change juniors come with additional skills
  • Distribution of work
  • Encourages better communication across the whole team

Benefits of having Juniors around

If you grow your junior(s) right it goes from this

to this.

THE END

VALERIE KRAUCUNAS

Slack: @vkraucunas

valeriekraucunas@gmail.com

THANK YOU!

Juniors. Juniors Everywhere.

By Valerie Kraucunas

Juniors. Juniors Everywhere.

  • 747