loading...
Cover image for How to Support the Junior Dev on Your Team

How to Support the Junior Dev on Your Team

thecaitcode profile image Caitlyn Greffly ・4 min read

With fresh new devs popping out of CS programs, bootcamps, and self-taught paths every day, chances are you are going to end up working with one. Maybe you're dreading it because you fear lots of hand-holding in your future, or maybe you're stoked because you get a chance to pass on your well-earned wisdom. Either way, there they are, and it's in everyone's best interest that they succeed.

Office Space quote: If you could treat each other kindly, that'd be great

I have been lucky to be extremely well supported at my first dev job, but I know that's not always the case. If you're looking for some ideas for how best to do the same for your new junior, you're in the right place.

Know It's Not Easy

No matter what kind of education they are coming from, they are walking into a completely new environment with more real consequences for the code they write. They are likely feeling overwhelmed, confused by the codebase, intimidated by the expertise around them, and pressured to succeed. There's a lot going on and this transition is not easy, so try to treat them with compassion.

Check on Them

They probably have questions. Likely hundreds. They might be afraid to ask them, or to ask too many and take up your time. They will greatly appreciate you taking the time to ask how they are doing and if they have anything you could help them understand.

Host Office Hours

You're very busy and important, so it might slip your mind to go and check in on the juniors. So get them to come to you by putting office hours up on your calendar! This is a great practice especially if you are a senior dev or have a title like DevOps, SRE, Product, or something similar that I for one was completely confused by at first. You will probably get non-junior visitors as well and you'll see how valuable your time can be to your coworkers.

Learn Together

Whether you've been a developer for 2 months or 20 years, one of the great things about this field is there is always something new to learn. If you know there's something you'd like to learn, a Udemy course you'd like to take, or just a topic you need to brush up on, invite them to join you. Being new can often feel like everyone knows everything and you know nothing, so seeing that more senior developers are learning too is a huge relief.

Ask Questions

This is something junior developer hear ALL THE TIME. If you don't know, ask. We will continue to do so, but sometimes it can be intimidating to be the only one asking questions. If you are a more senior dev, asking a question in a meeting not only gives you the answer (hopefully), but builds a welcoming environment for everyone to feel comfortable doing the same.

Be Supportive of Their Efforts

They might write some code that you see and think to yourself "My goodness what hot garbage is this?!", but know that they likely spent hours or days struggling to find a way to make it work, and they're proud of that feat. You will of course have time to (see below) give feedback to help them improve the work, but show them that you see how much effort they put in. Personally, I know some of the easy tickets that take me 3 days to complete could likely be done in an afternoon by a senior dev, but I appreciate that the team makes me feel that I add value. It makes me want to work harder to contribute more next time.

Give Constructive Feedback

Of course it's important to be supportive, but that should go hand in hand with helping them improve. With every code review, you have a great opportunity to give constructive feedback. This will not only help their code be better next time, but you lay groundwork for the standards and expectations that are specific to the company. Feedback is necessary for their growth, just try to make sure it doesn't come from a place of frustration, impatience, or superiority.

Pair

There are going to be tasks that are way over your junior's head to the point where they might not even know where to start. Instead of letting them attempt and fail and get stuck and frustrated and doubt themselves, this can be a great opportunity to pair and let them watch your thought process. You can even put them in a position to drive while you point them in the right direction, which depending on their learning style may help them understand even better. Ask what they're comfortable with.

Have a Book Club

Personal experience - this was one of my favorite things that I was invited to do in my first few weeks as a junior dev. Someone suggested a few of us, ranging in experience, read Clean Code together and meet every week for coffee to chat over the most recent chapter. Not only was it a great way to discuss best practices for our code, but it gave me some allies at the company right off the bat. It's also nice to walk away from staring at your screen for a bit sometimes.

Be Patient

We know we might have learned how to do this in school, or you might have told us once before where the answer was but there is A LOT sloshing around in our brains right now. I have it on good authority that even more senior devs have to google the same thing multiple times, so try to be patient with us as we learn what you may consider to be the basics. Remember, you were a junior once too.

Anchorman four guys jumping and high-fiving saying "Teamwork!"

Discussion

pic
Editor guide
Collapse
chrisblakely01 profile image
Chris Blakely

Hey great article! Thanks for sharing your experiences - I'm working as a senior and have had a few juniors on my teams and it's great to to get an insight like this.

One thing that works for me was to generally bond with them - Day 1, go out for a team lunch, get to know them, have a laugh etc. I tend to find they are more inclined to ask questions, speak up etc when they are really comfortable in the team. So building a supportive environment is a must.

Thanks again for the article, hope your job is going well Caitlyn!

Collapse
thecaitcode profile image
Caitlyn Greffly Author

I totally agree. That was super important for me, but for some reason I didn’t include that because I was wondering if more introverted people would feel the same. Now that I think about it, it’s probably a good practice regardless.

Thanks for the input! 🙌

Collapse
vorahsa profile image
Jaakko Kangasharju

This is great advice! One point in there that I'd like to lift up to be more explicit: Get to know the juniors as individuals. Different people learn differently, respond differently to the same teaching or mentoring. Don't adopt a cookie-cutter approach where you repeat what worked for someone else, but adapt your mentoring to each individual.

Collapse
thecaitcode profile image
Caitlyn Greffly Author

💯 agree! Good point

Collapse
cjtaylor1990 profile image
Corbin Taylor

I really love these posts that you put together. I'm going to be going into my first dev position at AWS after I graduate this Summer from my non-CS PhD program and I can only hope there's support for newbies like myself.

Collapse
thecaitcode profile image
Caitlyn Greffly Author

I will hope for you too!

Collapse
cjtaylor1990 profile image
Corbin Taylor

So, how is being a professional developer treating you anyways? Based on your posts, you seem to be doing very well thus far. Always happy when I hear this type of success story =)

Thread Thread
thecaitcode profile image
Caitlyn Greffly Author

It has been treating me quite well! The code is often confusing and mind boggling but I feel supported by my coworkers and community so that’s all I can ask :)

Collapse
lnlittleone profile image
lnlittleone

Thanks for sharing this great article. I'm actually a junior dev and I totally agree on your advices .
I've been through rough team where I was completely alone and now I'm surrounded by several senior dev who takes time to help me and explain what's wrong in my code when I'm struggling.Their patience and advices are real boosters to improve myself and get better as a front-end dev.
These kind of team is a must for juniors :) .

Collapse
thecaitcode profile image
Caitlyn Greffly Author

That’s great to hear! I’m glad you’re in a better situation now

Collapse
jdforsythe profile image
Jeremy Forsythe

Great article. One thing I try to keep in mind with Juniors is career development. I want to expose them to as many diverse learning opportunities as possible while they're working for me for the benefit of them as an individual. I try to make sure they learn about things they might not be personally responsible for, like architecture, DevOps, infrastructure, etc. Not only does it make them more well rounded developers but it boosts their skills for their next position.

Let's face it, most of them won't retire working for you. Giving them this type of exposure not only benefits them while they work for (or with) you but also prepares them for success in the rest of their career.

It's the old adage - "what if we train them and they leave? What if we don't and they stay?"

Collapse
gabiduarte profile image
Gabrielle Duarte

Caitlyn, these are some great tips!! One thing that you put it very nicely was to ask questions. I feel like we assume that someone new to the job would have all the questions and our job would be to answer them. However, even the way we ask questions can help junior devs ask more and ask better, with more assertiveness.

Collapse
murrayvarey profile image
MurrayVarey

This is a really useful post for me, as I'm currently trying to improve my mentoring/supporting skills. It's great to read from someone who's recently gone through it from the other perspective.

Pair

I've found this to be particularly helpful. (No surprise, I guess.) There are a couple of different versions of this: pairing on their work, and pairing on my work.

When pairing on their work, I try to take a backseat and try to coach them through it. I have to resist the urge to just take over -- with mixed results, it has to be said.

When pairing on my work, we're equals. Thoughts/suggestions/ideas are always welcome, and often handy. Just recently, I was looking at a particularly hairy intermittent bug with a new dev. He quickly found a much more reliable way to recreate the problem. In doing so, the problem practically solved itself. It was a fantastic moment for both of us -- he took a lot of confidence from it ... and got to see me toil and struggle.

Have a Book Club

I love this suggestion. I've recommended a few books, but the idea of a discussion group takes it to the next level. I might start doing this.

Thanks for the article, Caitlyn!

Collapse
leighshammer profile image
Leigh Barnes

Great article!

One thing I have found is to refrain from doing a keyboard takeover, yes it can be tough to not just crank out the solution to their question. Let them ask the questions and explain the process as outlined above.

Allow a safe space to fail, and a safe space for those fails to become key learnings.

I love the passion new devs add to my team and we are always trying to bring on new entrys to the industry. Focus on sustainable addition where team members can support them efficiently. We have found a 3 experienced devs to one new dev seems to allow enough support to help them get going with enough support.

Collapse
segdeha profile image
Andrew Hedges

This is amazing! Thanks so much for sharing your experiences in real time, Caitlyn!

Collapse
thecaitcode profile image
Caitlyn Greffly Author

Of course! Its fun and I want to see more juniors have a positive experience in their first job.

Collapse
sebbdk profile image
Sebastian Vargr

Started as a team lead for 3 Juniors and an intermediate earlier this year.

The feedback i have gotten so far seem to be that Pair programming and retrospectives (with games) seem to have been the biggest impact on their learning.


We would do mobbing on a simple task for new concepts and then i would get them to do pair programming on the subject, with some early feedback from me so they knew their were working in the right direction.

It worked so well it rubbed off on the other teams. :)

Fun fact, even among seniors, sharing ideas by asking people to read articles, watch videos etc. has never really worked for me when as a way of knowledge sharing.

Collapse
hanaechahid profile image
Chahid hanae

Hi Caitlyn,

Thank you so much for this post and sharing your personal experiences, I really enjoyed while reading those amazing words, as a software engineer junior I'm totally agree with you.

Thank you again

Collapse
pachicodes profile image
Pachi (she/her/ela)

Great post!!!
Hope lots is seniors get to read it and try to apply!!!

Collapse
mikolaj_kubera profile image
Mikolaj Kubera

Great read. Thanks :)

Collapse
peacefullatom profile image
Yuriy Markov

A very deep and thoughtful article. I hope that it will help to alter the mindset of mature developers about newcomers. Thank you! 👍

Collapse
karthickash profile image
Karthick Srinivasan

One of the best articles I read today. Thanks for writing it. Makes me feel better about myself as a junior dev. Will definitely keep this in mind and use it once I feel like a senior developer.

Collapse
brownio profile image
Antonio Djigo

Don't forget to congratulate the developer for how that person is improving and how much that person has learned!

Support your local junior dev ✨

Collapse
stephencweiss profile image
Stephen Charles Weiss

Love the book club idea! Thank you Caitlyn!

Collapse
thunderfury1208 profile image
Gilbert Martinez

Some of our code is heavily criticized as spaghetti code or some devs say we code outdated code. That stuff gets to me at times