It's a day like any other one. Focused on your work, you suddenly notice someone who has walked into the office and is standing confused. At this point, you realize that he's probably a new developer who's joining your team today.
As your role is to be his or her buddy, you decide to introduce all members and say a few words about the project, tools the team uses, and how you work. That's all. It's time to get back to work. There's no time for details or baby-sitting. With or without your help, sooner or later, a new employee will know the ropes and gain enough knowledge and skills to start working on their own.
If that's what you want, you can stop reading this article. You won't find anything interesting here.
What does a team expect?
You’ve stayed, I'm glad.
So, do we want to wait an unknown amount of time until a new person is self-reliant? Or do we want a new developer to have appropriate skills and knowledge as soon as possible?
How would you feel if you got hired to a team which does not care about you at all? No help, no support, you can only rely on yourself. It doesn't feel good, does it?
What do a new developer and we, as a team, want? Fast growth! Why? A new employee wants to be a skilled programmer who does a great job. It'll boost their self-esteem and make them feel great. It's simple, isn't it?
As a team, we want to have a member who, first of all, will be satisfied and then quickly become independent. Thanks to that, he or she will take ownership of all the things they do and start to bring significant value to the product.
What is a buddy role?
It's all in your hands. A newly hired person can fail, not develop themselves as they should've, or will not give value to a team or company. If that happens, in most cases, it's a team’s failure, not this person's one.
The team's main aim should be to support, mentor, and do anything, so a new employee achieves as much as possible in the shortest possible time.
Be prepared
Prepare everything required for the first day. You can create a checklist to ensure that you will provide a new employee with what's important. What's more, iterate through that checklist, commenting and improving it. Thanks to that, it'll be much easier to onboard new people in the future.
It is a good practice to keep everything in one place - tips connected with project setup, information about the team, and the product itself. Each time someone joins your time, you can just send a link, so they get acquainted with it and come back to that whenever he or she needs it.
Gradually pass knowledge and prioritize it
Analyze the project and decide what the most important thing is. If something is not crucial, put it off. Nobody can learn everything at once.
Collect some materials, i.e., books, articles, video courses. It'll speed up the learning process and guarantee that a new developer won't squander their time on unnecessary knowledge for now.
Set up a pair programming session. It's an excellent opportunity to show how you work on functionality that needs to be implemented. Don't forget it doesn't mean that you should write code for a new developer. Rather observe, seek things that can be improved, give tips, and steer towards a solution instead of giving it on a plate.
Be supportive
Clearly signal that a new employee can rely on you and ask you anything. It's quite normal that when a new developer joins a new project, they don't know many things. Explain that this is the role of the whole team to share the knowledge and be helpful. That's why he or she shouldn't be concerned about the questions and doubts which arise.
Do not treat even an inexperienced developer worse than other teammates. You are all equal and the new employee should be aware that their opinion is as important as others’.
Set goals and celebrate successes
As new employees, especially junior developers, improve their skills very quickly, set goals for each week, especially the first one. By planning small goals, you make sure that a new employee develops themselves in a right direction. What's more, achieving goals by a less experienced person is always encouraging. It gives a boost of energy and self-confidence.
Let the first commit on the first day be the very first goal!
What's more, they don't even have to achieve the goal set previously to be appreciated. If a new developer does something for the first time or succeeds in solving an issue, praise them for it in public. Remember, if they fail for any reason, try to pass the feedback during the one-on-one meeting or talk.
Let new teammates prove themselves
Although less experienced people should be supported from the beginning of their career, we shouldn't do everything for them. We learn the most if we solve problems that are difficult to us but to some extent. When we need to put some effort into finding the solution. Let them do what all the team does, keeping track and explaining what they do incorrectly and how they can improve. Let them know that they should take the ownership of what he or she does. Build the mindset of responsibility. They can rely on us, but don't let them treat us as a group of people who will always lead a new developer by the hand and get them off the hook.
Set up outing
If it's possible, set up an outing with the entire team and go out for dinner. It's always a great opportunity to get to know each other, lighten up, and show that you're easy-going guys on whom a new person can rely.
Be patient
Things that are obvious for you are not necessarily clear to a new developer. If you discuss something, try to explain everything with as many details as possible to make sure you're on the same page.
You don't need to know everything
You’ve been asked a question and you don't know the answer? No worries. Just point to someone who does.