Rotating Engineers at Zalando
Rotating engineers to establish cross-functional knowledge sharing, encourage cross team collaboration, and bring greater product awareness.
For the past year, our group of Engineering Leads worked to improve collaboration and cross functional communication across teams. This was the result of team retrospectives and employee surveys indicating required improvement in these areas. One initiative which we took to address these issues was to implement role rotation amongst engineers. The goal of this developer rotation was to establish cross-functional knowledge sharing, encourage cross team collaboration within the department, and bring greater product awareness.
Preparation In order to prepare for the rotation, engineers we first required to answer a few questions: which teams are involved, who can rotate, for how long and how we can ensure business continuity. For our first implementation of team rotation, we limited it to 5 teams in the Developer Productivity department and those at the lead level and above were excluded. Next, we put forth an open sign-up form to gauge interest in those looking to take part in the rotation where 20% of the engineers signed up. Given this interest, we concluded that with proper preparation, a two-week rotation could be done without impacting deliverables. This preparation included ensuring each team has proper onboarding documentation for new team members requiring teams to brush up their documentation, another added benefit. Additionally, teams were asked to prepare a good first issue for the new team members. As in the open source world, many projects help new joiners with issues labeled good first issue or similar. And last, each new team member was paired with a mentor who could answer questions and provide context. We called those mentors buddies. This setup allowed those who wanted mentoring experience a way to practice their skills in guiding, managing and coaching.
Rotation In December 2018 we started the first two-week engineering rotation. Those taking part moved desks to their new teams. Buddies were paired up with rotating engineers to get their environment setup. They said hello in team stand ups and were involved in other team meetings like team retrospectives, team lunches and department stand ups. Buddies helped rotators to start with good first issues and paired with them along the way. Some of the rotators also got to see different Engineering Lead styles in 1 on 1 meetings. Other rotators participated in answering support questions.
Feedback / What we learnt A follow up retrospective revealed strong positive feedback. The Rotation was perceived as a valuable experience to understand better what other teams do. Also it was a learning experience about other teams’ products. Rotations also helped in exchanging ideas about different process workflows and problem solving approaches of Developer Productivity teams.
Their fresh view without history brought a different perspective to the teams which was beneficial. A great example of what I would like to call a success here was a deployment visualization that spanned backend and frontend components was driven by rotating engineers. The users’ feedback was very positive for the feature, so it was rolled out to all clusters soon after. This demonstrated rotating engineers were able to have end user impact.
What we learned from the rotation retrospective and final survey was the need to reconsider the timing next time. December contains a holiday season at the end of the month. That influenced some rotations. First issues should be shaped in a way that rotating engineers are able to finish the tasks within the rotation time frame. Another point mentioned was rotations - not only for engineers - should be performed regularly.
Conclusion In retrospective, the initiative of rotating engineers was a success. Throughout the rotation period in Developer Productivity, we were able to sharpen the awareness of the teams across their processes, workflows, tasks and methods. Both buddies and rotating engineers shared their experiences and knowledge with their original teams. It also highlighted improvement areas for team processes and tasks such as offboarding, integration testing and access roles. The success of the initiative was further indicated by the request for future, regularly conducted, rotation opportunities. Our goal is to continue with regular rotations and to expand beyond the engineering role to management and supporting functions.