post-thumb

Elevating Young Developers: Best practices and feedback for seasoned developers in onboarding and skill development

Introduction

After many years working as a developer, you are now probably fluent in TDD, BDD, design and coding. Your technical watch help you ensure your skills are at the edge. Everything is hunky-dory.

However, after a short meeting with your manager, comes a thing you did not expect: you have to mentor and oversee fresh developers.

What approach should you embrace to ensure their best progress? There are unfortunately no real established method for that purpose. Should you consider all the developers are ready to work from the beginning of their journey in your team or the other way around?

It is not science-fiction. As lead or experienced developers, we are often called upon to provide technical guidance to new talents. All along the years, we had to face such a challenge many times. We then led in various mentoring and coaching initiatives for fresh developers. You will therefore in this article find some of the best practices we have put in place, as well as the pitfalls we have encountered.

Before

The journey begins before the arrival of the fresh developers.

First thing is to think about the logistic, because there’s nothing worse for a first day than no laptop and no place to sit. Even if there will be some administrative tasks for any newcomer. It is important to make it easier and getting everything ready before his arrival: laptop, account creation, badges, desk, chairs etc…

If you were involved in the recruitment process, you already met him/her during an interview, and already know your new colleague.

If not, you need to stay open-minded and keep realistic expectations. A good way to achieve this is to think ahead what kind of work you expect :

  • Work alone on a side-project, or join your team as soon as possible in order to help your team tackle its workload?
  • Will he/she joins your team for a short term, or is it for a long term objective?
  • What kind of deliverables can you expect ? For an intern, what do he/she needs to deliver at the end of the internship?

Thinking about this will help you to set realistic expectations regarding your new colleague, and will set the path for a successful onboarding.

First day

first day If the first stone of the pathway is preparation beforehand, the second one is the first day/week of work.

A first day is made of stress and energy, and it is important to lower the stress and not kill the energy. Your new colleague need to ingest lots of information, but you should avoid to overwhelm him/her with tons of documentation pages about your process and your business. This on-boarding process is handled in my team via a mix of recorded sessions, documentation and business presentations with different people, in order to get the basics about our ecosystem.

IMHO , this is definitely better than the hundreds of (printed… this was a long time ago) pages we had to read in our early career. You also need to be available to show the ropes to your new colleague: introduce him/her properly to your team, then show the tools and explain what will happen in the coming weeks. Introduction to your team will foster a good integration, and the newcomer will be more comfortable asking for help to team-members.

The path to become productive?

productivity

The first weeks will be the most important as they will shape the progression of your padawans. First of all, we recommend to assign “concrete” objectives.

Here are some examples :

  • Build a web application to help OPs in their daily job
  • Design and build tooling for our Keycloak instances
  • Build reports and integrate them in our applications
  • Create first bug fixes on our platform to look around it.

You can assign them first, but it doesn’t mean you can be the one assigning them first. The more the junior interacts with the team, the better his/her skills will be growing.

They must be aligned with the skills either the current or the (shortly) expected ones. In addition, you must follow those (i.e., the skills) on a regular basis. Don’t hesitate to regularly increase the difficulty of these objectives!

Before, you must consider how the young developer is confident with the current tasks you assigned. Try to make them gradually more complex. Otherwise, both of you would be frustrated.

Furthermore, if you supervise a trainee, it could be nice to formalise and follow up his/her skills and their progression. Why? Simply because after a while, it will be really supporting to outlook all the efforts and their development. For a graduated young developer, it may be less formal, but it is necessary to ensure his/her skills are fully aligned with his/her (and yours!) expectations.

By the way, don’t hesitate to consider the whole landscape of your IT organisation. Working and understand the ins and outs of monitoring, support, Q&A or Ops would help him/her coding better.

We moreover suggest to have dedicated time slots. During these, you will first share your thoughts and get insights about the difficulties and prevent a blocking problem. You can either just do a short meeting or arrange a long peer programming session. These will be really insightful for both of you. The fresh developers will then learn a lot of watching the seasoned developer coding, analysing errors and finding solutions. As in other domains, you must consider we learn more (and faster) imitating and observing each other.

Although it is complicated and time-consuming to arrange such time slots during the first weeks, you will get benefits after few weeks/months. The young developer will learn quicker than a traditional theoretical approach and be therefore autonomous faster.

Common pitfalls and how to avoid them

Your availability

You will first face off with your organisation and specifically your availability. On the one hand, you are indeed in charge of mentoring young developers but, on the other hand, you are first in charge of coding and bringing new features live!

Beyond letting newcomers stuck for a while, it may cause a lack of motivation for both of you!

How to face to such a challenge?

First, try to sanctuarise regular and dedicated time slots.
For instance, you can have a short daily meetings and a 1H weekly meeting. You can of course adapt this pace over the time.

Being alone managing youngsters

You can also share the responsibility of managing newcomers! Although you are the “official” mentor, the other members of the team can also help and mentor young developers for specific purpose. Imagine you are a backend developer, and you can delegate the mentoring of front end development to someone else.

In this way, your padawan will get more insights and experience new way of working.

Having no clue about what aspiring developers are learning at school?

This particular point is when you mentor trainees or sandwich course students . It is really important to manage their skills and know what they are currently learning and how it could be helpful for your organisation. To do that, I recommend listing and regularly reviewing their skills. You can simply use a spreadsheet for that. In addition, it will be really insightful and motivating to your trainees to see their progression.

skills matrix

Reading this chapter, you probably think it would be time-consuming to do such an inventory. Nevertheless, it will be really helpful to have such a material to help your mentored developers for smartly choosing which technology or practice is worth digging into it.

What about at Worldline?

The newcomers journey at Worldline is dependent of the country and the team you will join: some countries are organized in chapters with unified ressources, some teams have very specific guidelines, and most of the teams are in between: a mix of resources between the country, the department and the team.

Those resources could be training, recorded sessions or even workshops. The challenges of on-boarding also reflect our company : many different businesses, many divisions in different countries, and going through the aftermath of several years of a M&A strategy.

As a stepping stone for fresh developers, Alexandre TOURET and Philippe VINCENT are building resources to promote code quality, based on two pillars:

  • Clean code is the most important skill to learn for fresh developers : Alexandre is compiling valuable resources on the topic to use as reference for them.
  • Hands-on is the best way to integrate such knowledge: Philippe created a code-quality workshop, where people are implementing features in pair-programming, refactoring and fixing the many code quality issues of the codebase.

Wrap up

It is crucial to understand the importance of properly preparing for the onboarding of fresh developers. The time and effort invested in this preparation are essential for a successful and seamless onboarding process.

The IT crowd is constantly renewing itself! The return of investment of such an initiative will be very fast.

To conclude, as Benjamin Franklin said: Tell me and I forget, teach me and I may remember, involve me and I learn”.