Best coding practices sharing is vital for an organization to keep source code consistent and avoid maintainability issues. Through many discussions with different companies on that topic, some of them concluded that new developers sometimes have a better knowledge of best practices than experienced developers.
Of course, here, we don’t talk about the business logic and the general knowledge that experienced developers in the company master more than newcomers.
Note that new and experienced developers refer to their level of seniority in a specific organization, not as developers in their carrier.
But why? Let’s see a concrete example
In some companies, best practices definition is an informal, unstructured process with no specific methodology or usage of tools. It’s also common that this concept does not even exist at all. While code reviews and pair programming are commonly adopted, there’s still plenty of companies where it’s not the case.
Now, imagine this context:
- A group of experienced developers is working for ten years on a project written in Java. There’s no code review nor pair programming sessions. They rarely discussed code quality concepts.
- Laura, a Lead Tech, was recruited five years ago and was dedicated to another project, also written in Java. Among her tasks, she has to define best practices and onboard new developers in the team.
- The two projects do not have human or technical interactions while sharing the same technical context.
- Laura regularly discusses with her team coding standards and code quality.
This can lead to a situation where a new developer joins Laura’s team and learns many best practices from Laura and other developers during the first months. Meanwhile, experienced developers remain at the same level and still lack knowledge on best practices.
A lack of structured process to share best practices
Each developer knows some best practices. But they are not shared when there are no code reviews, pair/mob programming sessions, or even Craft workshops. That’s how knowledge loss happens in companies.
Above, we came to a situation where knowledge sharing occurred during the onboarding of new developers because we had to do that; this is necessary (but still, not always happening). Except for these specific events, usually, very few sessions take place where people learn from each other.
This is an example of why new developers may better know best coding practices in their team and organization. Even in the absence of people like Laura, a newcomer is often a pretext to share knowledge, but this could clearly benefit other developers present in the team for years.
How to avoid such situations?
We’ve seen multiple teams that settled processes to define and share best practices among their members. However, when it comes to the cross-teams level, this is definitively more complex to organize. Communities of practices are a relevant solution and tend to appear more and more, supported by the increasing adoption of Spotify-like models with guilds and tribes.
The most important aspect is to foster interactions between developers in an organization to discuss regularly, debate, make decisions, challenge their points of view, etc.
On that topic, we invite you to discover Packmind: we built this platform to address these challenges.
Top comments (0)