Onboarding junior devs onto a project is a little more challenging than onboarding a more experienced developer. Not only does this dev have to familiarize themself with the tech stack and the architecture, but they also have to learn the team’s culture, communication, and how to be productive on their new team. This process can unnecessarily exacerbate imposter syndrome.
The past 11 months of working as a new software developer have taught me empathy and how to accelerate the onboarding of new inexperienced team members. Throughout my work, I’ve seen some of the mistakes I made when I first started working as a developer. These mistakes contributed to my imposter syndrome.
Imposter syndrome can hit hard at this point, but senior developers can ease the pain. However, experienced developers might have some trouble relating to the struggles of being a new developer because they are far removed from that experience.
Have a growth mindset.
Let’s start with something that can fundamentally help you have more patience with new devs: having a growth mindset. A growth mindset is the idea that “intelligence” isn’t fixed. This means you believe that you can learn anything if you set your mind to it.
It’s important to have this quality in our field because programming has a high learning curve. If you give up easily because you think you aren’t capable of doing something, then this isn’t the field for you. Being a software developer means being a lifelong learner. And there’s evidence that, in the learning process, solving more problems means solving the next adjacent problem will be easier.
Having this knowledge about learning is critical for understanding how new team members may onboard onto a project. Expect stupid questions. Be kind, because making mistakes is part of the learning process. Your new devs are going to have to learn the tech stack. Showing signs of disappointment or defeat might add to their imposter syndrome, so manage your expectations.
Know that education is not created equally.
Not everyone took an intro to databases class. Not everyone had parents who could pay for private lessons or summer school. Take that into account when judging someone’s relative knowledge about a subject.
Lots of K-12 schools don’t have the funding to give any introductory programming or computer classes. Your new dev may be a non-traditional student who is self-taught. Whatever the reason, don’t assume that your junior coworker knows how to use git or knows how to set up a ci/cd pipeline.
The point is that they were hired because they showed they were capable of learning these things. Don’t express surprise when someone doesn’t know something. If you do, it may make them less likely to ask you questions in the future. Instead, focus on pointing them to great ways to learn faster. Have them implement a feature and then pair with them a bit to make sure they’re not stuck. As they hone their skills, they will gain more confidence. Help them get to where you want them to be.
Incorporate structure.
New devs benefit a lot from structure because they don’t have a frame of reference for what being a developer is like. For example, if your team has a mix of pair programming and solo work, the junior dev won’t exactly know how much pairing is good for them and may underestimate how much they need. Implementing structured daily check-ins or having them pair at the beginning of each of their first few stories can help them form an idea of what collaboration on a software team should look like.
You can also host optional “Office Hours,” a block of time in which they can ask you questions. There will be a bit of an adjustment period before they find the perfect balance. This structure tells them that you expect them to need help, and they’ll know when and how to get it. The new dev may not be initially comfortable with an ad hoc way of asking questions, so make sure you’re paying attention to this.
Set up regular feedback sessions.
It’s important to give your new dev feedback on how they’re doing. Again, they’ve likely never worked as a full-time developer, so it might not be obvious to them how well they’re doing. They will not improve if they don’t know what’s wrong. It’s important to be honest because, if you lie or sugarcoat, they can probably tell and you will lose their trust. They’ll be forever stuck wondering how they’re doing because they can’t trust you when you say, “You’re doing fine.”
Focus on the stuff they have control over. Be confident in the feedback you give. Don’t backtrack or change your mind. You want the junior dev to take your advice seriously, so be sure you’re certain about your feedback.
This is also a great opportunity to ask for feedback on how you can help make their transition easier. Maybe they haven’t found a good opportunity to tell you, so it’s important to make the space for it.
Give them leadership opportunities.
One thing a past team I worked on did to ensure everyone gained some leadership skills is to rotate hosting responsibilities for ceremonies. Rotating responsibilities may be something you want to experiment with to make sure your devs gain some confidence in communication. This will especially help your new devs.
Only having one person hosting ceremonies is stunting growth for your other devs. Hosting ceremonies is also a great way to practice presenting skills so that your new devs are better prepared for client demos.
When I joined a team that developed the practice of rotating ceremony hosts, I realized how much I was missing out on developing leadership skills on past teams. Not everyone will want to do this, but it’s good to at least talk about it. Give everyone an equal opportunity for growth.
Get to know your dev.
Ever been in a situation where you needed to tell a coworker something difficult but avoided it because you didn’t know how to approach them about it? This is a sign that you need to get to know them better.
If you want to help your dev, you need to build trust. This isn’t going to happen unless you two get to know each other. Ask them how their day is, ask them what their aspirations are, and ask them about their passions.
Be human. If you treat them like a coding monkey, they will act like one. Building trust and honesty will help the team overcome small obstacles quicker because we don’t beat around the bush waiting for them to resolve themselves.
Why should you care?
You might be asking yourself why it’s your responsibility to help your junior devs overcome imposter syndrome. If a new dev, overcomes imposter syndrome, it will reduce the number of mistakes they make on your team. Why? Their confidence will ensure they reach out for help to hone their skills and fix problems before they become serious. It will ease the onboarding experience so that your new devs can become more effective faster. Being thoughtful about how we help them overcome imposter syndrome can make a big difference in their growth and work satisfaction. And this will show in the quality of your product.