DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Onboarding a Junior Developer to Your Team? Here's 12 Tips.

Practical advice on helping junior developers succeed, based on personal experience.

Carolyn Stransky user avatar by
Carolyn Stransky
·
Jun. 01, 20 · Opinion
Like (2)
Save
Tweet
Share
2.60K Views

Join the DZone community and get the full member experience.

Join For Free

A few weeks ago, my friend Nico König asked the Twittersphere about best practices when onboarding a new junior developer to your team. As someone who was recently a junior dev, I have a lot of opinions on this topic. So I decided to summarize them in this post (in no particular order).

Distinguish Between Opinions and Best Practices

When you're talking over concepts with your junior, deliberately point out whether the things you're saying are your personal views or proven best practices.

We work in such an opinion-heavy industry. So sometimes it can feel impossible to differentiate feelings from facts - especially if you're new to programming. One tangible way to help with this is to provide resources describing why something is best practice.

Dedicate Time Early on for Git Commands

On the very first day (or maybe second), walk through the Git commands that you use most frequently on the job with your junior. Nothing is too basic - particularly because many bootcamps or university programs don't teach Git. For example, the bootcamp I went to used Git for version control, but all of our tasks were done solo. So more collaborative Git workflows (like branching or pull requests) were new to me when I started my first developer job.

Ideally, you'd also take the time to explain what each command is doing. It took me nine months and one colleague sitting down with a pen and paper for me to finally figure out how a rebase works. Speaking of, teach them how to rebase properly!

Have Something for Them to Work on

Give your junior something to work on that is low pressure,   but still impactful. If you're stuck on what kind of work falls into this category, think either nice-to-haves (style improvements,  micro-interactions, bugs that aren't critical, etc.) or general improvements (refactoring, accessibility, performance, etc).

Be sure to have a dedicated backlog of tasks ready for them to choose from. For most junior developers, this will be their very first software job. So it's unrealistic to expect them to "take initiative"  and decide what they should work on without a curated task list.

Give Constructive Code Reviews

Code reviews are a major. At best, code reviews are constructive and serve as continuous learning opportunities. At worst, they can destroy trust and safety within a team.

As the reviewer, you should be pointing out things that are done well and if you have critiques, explaining why something is problematic rather than only saying ‘fix this’ or offering the solution.

Practice Pair Programming

Set regular, dedicated times for pairing (like literally put it in the calendar). I'd recommend at least twice per week. You can have a set of tasks that you work on together or switch between individual tasks.

When pairing, make sure you're alternating between who's driving and who's navigating. Depending on your junior and their learning style,  this could also be them observing you. I learn so much from watching and asking questions.

Pair on Things That Aren't Code

It feels weird at first, but I promise that it’s helpful. Show them your workflow, how you prioritize tasks or approach learning something new. One of the best non-coding pairing sessions I've had was a  colleague walking me through how he conducts a code review.

How you test your code? Dive into a new project? Manage your time? Plan a company-wide presentation? All of this is valuable.

Always Be Available for Questions

Make your junior a top priority. When they have questions, stop what you're doing and help them. If you don't know the answer, help them find it - whether that's searching through StackOverflow or introducing them to someone who knows that domain better.

Jess Mitchell also made an especially excellent point about tone: "Responding to questions without judgment goes a long way for juniors who are already overwhelmed with learning (e.g. "Great question! Let's take a look" vs "I'm surprised you don't already know that"). Even senior devs who mean well can fall into having a tone."

Get Them a Buddy or Mentor

This should be someone (not their direct manager) that will guide your junior through their onboarding. Your junior should also feel comfortable talking openly with this person and discussing any problems they might be having.

Ideally, your junior and their buddy will meet at least once per week during the first 6 months.

Learn Their Learning Style

Get familiar with your junior’s learning style and try to cater to the resources and materials you send them to that style. So if they like books, try to recommend books or writing articles instead of video courses. It's a small gesture, but it'll help them succeed and shows you care.

Respect Their Time

Set a good example by not sending emails at wild hours or pressing for tasks. Let them know what's expected from them in terms of working hours. An example of why this is important: In my first tech job, the lunch break didn't count as working time... but no one told me that even if I took a shorter lunch, I still couldn't leave earlier. Later, the fact that I left 30 minutes early every day was brought up as an argument not to keep me.

Provide Regular Feedback

Give regular feedback and updates about how they’re doing. If you're working in a country with a probation time, try to give weekly feedback during that time.

Your junior will likely assume they are doing worse than they are. But if there is something that needs to be fixed, be sure to tell them enough in advance that there's time to make a change.

Show Humility Yourself

Admit when you don’t know things and search for answers together.  Offer regular opportunities for them to give you feedback and maybe even in a variety of ways (sometimes face-to-face, sometimes written, etc).

Ultimately, their success is your success, so it's important to know how you're doing throughout this process as well.

Have thoughts or feelings about onboarding junior developers? Leave a comment and let's discuss it.

dev teams

Published at DZone with permission of Carolyn Stransky. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • A Guide To Successful DevOps in Web3
  • Easy Smart Contract Debugging With Truffle’s Console.log
  • Efficiently Computing Permissions at Scale: Our Engineering Approach
  • Playwright vs. Cypress: The King Is Dead, Long Live the King?

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: