Why tech leaders must advocate for Trunk-Based Development
In the second episode of Tech Lead Corner, I had the chance to welcome Dimitri Baeli, Staff Engineer at Backmarket (a French scale-up with 250+ engineers), and also the co-founder of Teck.Rocks, the #1 CTO’s community in France. In the previous episode, we focused on communication and transmission skills with Dorra Bartaguiz. In this episode, I’ve invited Dimitri to share his insights on what being a tech leader means to him. This post summarizes his 4 thoughts, with a focus on code delivery.
Evangelizing Trunk-based development (TBD)
Dimitri emphasized the importance of explaining the code lifecycle to non-technical stakeholders, highlighting trunk-based development as a cornerstone of their approach. Trunk-based development, a strategy where developers work in short branches frequently merged into the main branch, ensures a steady and sustainable pace of progress. Inversely, long-lived feature branches drive a codebase too far away from the main code. Dimitri thinks that mastering TBD is the “holy grail” for tech leaders since it supports the speed of code evolution.
Standing as the pilot of the codebase
A tech leader is likened to a pilot steering the team, ensuring the codebase evolves appropriately. Their essential role is not just overseeing code production but nurturing a codebase that is a collective work. The challenge of managing a large codebase, especially in companies scaling up like Back Market, is a test of leadership in maintaining code quality and delivery cadence. The tech leader’s capability to navigate through technical challenges, from simple code incidents to complex merge conflicts, underpins their effectiveness in maintaining a smooth delivery process.
Championing autonomy and prioritization
Dimitri advocates for a work process in which each task is independent and prioritized for its impact. He champions the Kanban method, promoting a flow where tasks are self-sufficient, reducing dependencies and facilitating a more streamlined delivery. A task should always be considered in the context of the main branch to minimize its reliance on other branches and their associated tasks, which can hinder progress due to unresolved dependencies.
Impacting beyond code
According to Dimitri, the tech leader’s role transcends code management. It involves a holistic understanding of the project lifecycle, from conceptualization to deployment, and the ability to communicate complex technical processes to non-technical team members. This broad perspective enables tech leaders to anticipate potential bottlenecks, streamline workflows, and foster a culture of collaboration and continuous improvement. Dimitri thinks that a tech leader’s ultimate responsibility is to ensure the code’s quality and the speed of its evolution. The true measure of a tech leader’s success is not just in the code that reaches production but in navigating the challenges and opportunities along the way, guiding their team toward excellence.
Along this conversation with Dimitri, we focused on how tech leaders must master the speed of the evolution of the code, but it also enhanced their multifaceted role in both technical and non-technical domains. I liked his vision about the Kanban and mono-task principles, which fosters the rhythm at which the codebase moves on.
Here is the link to listen to the full episode (in FR):