Contents

Insights from Onboarding young developers and Mentoring Experiences

Recently, I had the opportunity to participate in JChateau and Devoxx France. At these two events, I organized and facilitated roundtables on how to onboard, mentor, and manage young developers to help them grow and improve over time.

For many years, I have been managing young developers, including trainees and developers with less than one year of experience. Additionally, I have been involved in various mentoring programs. For example, I have helped young students prepare for their first interviews and guided them to succeed.

Since last year, I have also been teaching at the University of Tours.

These experiences, especially early in my career, often left me feeling slightly frustrated or conflicted. Why? Because I had the impression of reinventing the wheel. I was certain that others had faced similar challenges and had developed smart solutions or patterns to address them.

This is why I have been sharing my experiences in this field through various channels:

I have noticed a high demand for discussions on this topic. Every time I speak about it, the subject resonates strongly with the audience.

For instance, at Devoxx France, I was thrilled to see more than 40 people attend my BOF (at 7 PM!) and share their experiences on this topic.

As a result, I will attempt to summarize all the conclusions, questions, and insights I encountered during these meaningful discussions.

I proposed this topic at JChateau. Although it was far beyond the usual technical topics, I managed to arrange a roundtable with four people on the second day.

Agenda

The discussions were truly insightful. The audience consisted of seasoned engineers, software architects, and one person involved in training young students.

We agreed that there is a significant gap between the way coding is taught at universities or engineering schools and how it is practiced in IT companies. The skills learned at school often don’t align with the requirements of a real-life production platform.

To some extent, it’s more important to learn how to learn through algorithms, mathematics, and analysis than to simply learn the latest trendy framework.
The pace of technological evolution is both overwhelming and fascinating.
Moreover, the learning curve for developers is incredibly steep nowadays. Beyond mastering a favorite programming language, one must also learn to use Docker, build tools, Bash, database tools/queries, cloud commands, and many others.
It’s nearly impossible to address all these skills comprehensively in school.

That’s why, when I’m looking for a new young engineer, I prioritize a well-prepared mind over specific technical skills.

We also shared a common observation:
It’s essential to teach the basics while onboarding young developers: logs, error management, tests, and so on.

The million-dollar question then arose: Who should take responsibility for this—universities/schools or our industry?

In conclusion, we leaned slightly toward the idea that our industry should share a common program to teach the fundamentals of development.
At this stage, I am unsure whether we should adopt a bottom-up or a top-down approach. I assume that some large IT companies already have onboarding and training programs for this purpose.
It would be fantastic if we could pool our efforts and, for example, create a dedicated open-source project with materials such as workshops, documentation, and more.

As I mentioned earlier in my introduction, I also had the opportunity to share my experiences in this field at Devoxx France.
During a BOF (Birds Of a Feather), I began by sharing my thoughts based on my experiences and the topics I had discussed in previous conferences. I did this to explain why I decided to share insights and feedback on this subject.

To engage the audience (40 people at 7 PM after a full day of the conference!), I chose to organize a lean coffee session.
The main goal was to have a discussion split into two distinct 15-minute time slots.
I then invited participants to write down any topics they wanted to address on post-it notes.
I was pleasantly surprised by the number of ideas and topics that emerged.
Gathering all of these could almost be described as a DDOS post-it attack!

Post-It Ideas

With the help of my colleagues and people I knew —Raphaël Semeteys, Yann-Thomas Le Moigne, David Pequegnot, and Loïc Le Meur — we categorized all the post-it notes and identified two main topics:

  • Methodology, documentation, and support
  • Soft skills

Here are the topics and ideas thrown during this free chat:

During this discussion, many points were raised. We emphasized the necessity of arranging labs and dojos where (not only) young developers could dive into best practices alongside seasoned developers. By the way, the “Pair programming” topic was highly requested during the Post-It brainstorming session. Using such a practice, you would both instill good practices and help developers grow their skills. Next, you could build on this and reuse it regularly.

Additionally, organizing internal tech conferences could also contribute to this effort.

Beyond these two topics, we highlighted the importance of fostering a tech culture within our organizations. Arranging workshops or tech conferences and drafting articles are excellent ways to promote good practices and improve all developers. Furthermore, we might consider creating workshops for either live pair-programming sessions or self-paced learning.

Similarly, we discussed the importance of documentation for everyone, especially young developers. You must teach them how to use it and ensure all your processes are as exhaustive as possible. This would help avoid misunderstandings.

Last but not least, we addressed one of the trickiest points: time management.

This is perhaps one of the most significant challenges to tackle.

How can we emphasize the importance of dedicating time to onboarding and managing young developers? Nowadays, it can be challenging, but in my view, it should be considered an investment. If you don’t invest time and resources, you won’t achieve a good return on investment.

Remember: “If you pay peanuts, you get monkeys.”

This was probably the most eagerly awaited topic.
We shared many of our good and bad experiences in managing young developers.
We then agreed on the necessity of being trained in management, even if we are not managers.
Knowing how to train others would also be a key topic.

I believe this could be crucial for optimizing the onboarding process and the learning path. It may also help avoid mistakes and establish the right approach.
We also identified two important soft skills: exemplarity and empathy.

Exemplarity could be the first step in promoting a safe environment where young developers can learn, fail, and find solutions without fear.
Empathy, in my view, is essential for adapting the workload or training to suit your new young colleague. It is critical to understand that, from their perspective, they are entering an entirely new world where everything feels completely different.

Through all the interactions I had during the recent conferences where I presented this topic, I noticed it is a common concern in our industry.
Many people highlighted the challenges of managing young developers.
Guiding them to reach the “plateau of productivity” is a long journey that requires a combination of technical and soft skills.

I strongly believe our industry needs to address this topic collectively.
Creating a shared learning path among IT companies that covers the fundamentals of development could be a significant first step.

For example, at Worldline, together with Philippe Vincent, we developed a quality code workshop.
We recognize that this is just the beginning and only one of the initial steps.

Perhaps we could combine our efforts on this topic. What do you think?