O que fazer e o que não fazer na orientação de desenvolvedores juniores

The Dos and Don'ts of Junior Developer Orientation

Starting out as a software developer can be difficult, as experts our job is to create a welcoming environment that makes our juniors fall in love with our field.

Imagem em destaque

Software development is not an easy field. It's fantastic, intriguing, engaging, and at times overwhelming and demanding. Dipping our toes into the field is enough to make us feel anxious and, at times, lost. And landing your first gig is both exciting and panic-inducing.

In addition to knowing how to code, every developer needs to know the basics of project management, have communication skills to present information assertively, as well as understand what is asked of them, and have the resilience to work under pressure.

It's a shame that so many young talents with incredible ideas leave the field, disappointed with their first experience. In some cases, it is to be expected that the idea of ​​what software development is is not aligned with the reality of the business.

But in other cases, it's because they were unlucky, bad managers and a lack of guidance can harm even the most optimistic talents, keeping them away from this wonderful world where creativity meets problem solving.

What not to do in mentoring

Don't leave them alone

Just because someone did a great job in a coding interview doesn't mean they're capable of tackling a project on their own. The question is: how much time do we dedicate to training and helping a junior developer?

Enough time, obviously, but what does that mean? it depends on the developer, some juniors take advantage of the opportunity to be independent and only need help when they are stuck. Others require more supervision and constant examinations.

The problem arises when the supervisor assumes everything is going well because the junior isn't asking questions. While this may be the case, it could also be that the developer is afraid of being reprimanded for asking too many questions or doesn't know if they can ask.

Ask them how they are, ask if they are struggling with anything, and let them know that it's okay to seek help and that you are there to provide any support they may need.

Don't be a helicopter

Frustration is a very powerful emotion, a little frustration can motivate people to keep going. Anyone who has ever lost a game and said “just one more time” can attest to that. On the other hand, too much frustration is harmful; it can lead to paralysis, stress and total abandonment.

Some mentors feel the need to supervise everything, even solving problems themselves, in the hope that the junior will learn indirectly. And that's great. Feeling supported is important for anyone who is just starting out.

But the challenge is important because it helps the junior developer to think outside the box, to question himself and look for answers, skills that will help him along the way.

It took me a while to understand that it's important to resist the urge to help people immediately. Sometimes you have to let things happen, even if it means waiting a little longer.

As long as the junior is motivated, looking for answers, and trying new solutions, you can either leave him alone or provide quick feedback. On the other hand, when you see them frustrated, lost, or stuck, that's when you should definitely help.

Don't give the answer

Questions are learning opportunities, whether to acquire new knowledge or to develop problem-solving skills. Some questions, like “what is the function of X or Y?” are simple. You learn something or remember something.

Other questions like “I’m not sure which algorithm would be best” are great opportunities to help our junior developer grow. Instead of giving a direct answer, take a few minutes to explore their thought process by asking the right questions.

What do you want to achieve? Why are you doing it like this? What alternatives did you consider? Use these questions to facilitate metacognition (thinking about thinking). As the junior developer elaborates on answers, they review their thought process, which in turn promotes alternative thinking.

In other words, sometimes they already know the answer, but due to inexperience or anxiety they get stuck. The more you engage them with these types of questions, the more you help them develop cognitive skills that will help them find answers. Some of you may already do something similar called the rubber dodge method.

What to do in mentoring

Teach them the basics

It goes without saying that every successful workplace develops a culture with certain rules and traditions. Identify them, write them down, and relate them to the junior developer.

For example, different teams may have different opinions on how to comment code. A traditional team has very different dynamics than a DevOps team. You may use a certain slang that may confuse outsiders. The more you focus on teaching them these idiosyncrasies, the faster they will be able to work with the group.

Of support

In addition to technical knowledge, mentors are there to provide emotional support and guidance to junior developers. You're not a therapist or coach, but you've probably felt frustrated, stressed, and worried, and that's enough to understand how a new developer might be feeling.

Nothing can prepare you for your first job in software development. No matter how much you read about deadlines, it's nothing compared to actually having to meet one. Some experiences you have to live firsthand.

I've seen over-eager young developers working all day and burning like a candle lit with a flamethrower. I've seen developers become isolated and bitter due to a lack of communication. I've seen people let stress get the better of them and explode at the slightest problem.

Emotional intelligence is extremely important in this type of environment and we can help others develop the skills needed to deal with the demands of our work.

Listen to them

It can be easy to dismiss a junior developer's opinion because they lack experience or because they don't see the bigger picture. But honestly, you might be missing some very important insights.

Remember that juniors are coming into a project from scratch with very little real experience. This means they didn't learn good practices, but it also means they didn't acquire bad practices either.

They might just be able to see something that we, as people within the project, can't see. Or maybe not, but instead of shutting down the idea, explore with them why it's not viable.

Whatever the case, you are teaching them that it is safe to express their opinions and that they have value as a team member. They're not just here to be code monkeys, their opinions and insights matter.

Why Hire Junior Developers

Not only are junior developers cost-efficient, but they are also people with great growth potential. For long-term projects, this means you can watch them grow alongside you, specializing in the areas most needed for your processes.

Junior developers who grow alongside your project are very loyal and committed to both the final product and your business.

Source: BairesDev

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.