Cross-Platform Migration: Two Weeks In
Introduction
It’s been two weeks since our cross-platform migration journey. While I’ve gained significant insights, this initial phase has highlighted the inherent challenges of this complex undertaking.
The Chaos
The project is structured around two main groups: one focused on replacing a key feature screen with React Native, and another setting up foundational elements like CI/CD scripts and other utilities. Despite our common goal, the team currently feels a sense of chaos and disorganization. With numerous stakeholders involved from web development, design, and backend, there is a distinct lack of clarity on goals and plans. This dynamic has left the team feeling uncertain and divided.
Feature vs. Foundation Team Dynamics
The feature team, which includes both Android and iOS engineers, seems to collaborate more closely, likely due to their shared focus on the same screens. In contrast, the foundation team appears more distant, with each member focusing on their platform’s builds. This has led to duplicated efforts and friction, for example, with secrets management differing between platforms.
The Struggle
The team is working tirelessly, often late into the night. Newcomers face challenges with initial setups due to outdated documentation, which disrupts the flow for busy team members. A workshop with Codelab-style instructions proved beneficial, as it empowered sub-team leaders to effectively train their teammates.
Personal Reflections
These past two weeks have been intense. My work hours have extended as I balance my native responsibilities with my new React Native role. The stress is palpable, with longer meetings and persistent alignment challenges. I am grateful for the support from my manager and mentor.
On the leadership and learning front, I’ve found it challenging to drive alignment across multiple team heads with differing priorities. This experience has reinforced the importance of proactive leadership, and I have taken the initiative to lead conversations and bridge gaps between the two mobile organizations.
Learning about CI/CD and JS bundling was initially tough, but tools like Cursor LLM accelerated my understanding. I was initially gathering insights on the team’s experience on compile times and tool efficacy for native development.
Looking Ahead
Despite the challenges, this journey offers valuable lessons in collaboration and adaptation. In the next post, we will explore how we overcome these challenges.
Summary
The past two weeks have highlighted the complexities of cross-platform migration, from team dynamics to technical hurdles. While the road is challenging, the potential benefits make it a journey worth pursuing. Stay tuned for more insights as we continue this transformation.