Distributed Mobile Team Collaboration: Code/Design Reviews, Architecture Discussions, and Continuous Practice
Key point
Mobile engineers from Tokyo and HCMC strengthened collaboration through joint reviews and design exercises at FIXIT.
Details
In November 2025, mobile engineers from the Tokyo and Ho Chi Minh City (HCMC) development centers gathered for a 3-day FIXIT workshop to jointly review code quality, architecture, and review culture. The Tokyo team shared architecture and practical principles, while LINE Vietnam engineers drew on their own project experience to actively question assumptions and premises, elevating the discussion.
The goal of the event was not simple training, but creating a common ground where different offices could collaborate on the same standards. Participants gave high overall satisfaction ratings, and most importantly, the event produced discussion, mutual understanding, and relationships that would continue afterward.
On Day 1, self-introductions were followed by a Spot the Bug game. A core issue common to both the Kotlin and Swift code samples was that when deleting an element during iteration, failing to adjust the loop index could cause the element following the deleted item to be skipped. The suggested solution was to use functional APIs like filter instead of manual loops, and this naturally led to a discussion of defensive programming and patterns that recur across languages.
On the morning of Day 2, there was a code review presentation covering conceptual circular dependencies, followed by an introduction to the architecture framework for system design in LINE's mobile apps. HCMC engineers persistently asked "how does this apply in our situation," citing their own project cases, and as a result it became clearer that circular dependencies can hide in unexpected places, such as naming or conceptual coupling.
In the afternoon, platform-specific hands-on sessions were held.
- Android: A Jetpack Compose workshop covered the LINE app's custom theme, LINE Design System (LDS) semantic colors and pressed states, component usage, edge-to-edge support, handling variants like the Brown theme, and screenshot testing.
- iOS: Through hands-on code review and design document review, the session covered small PRs, YAGNI, using GitHub shortcuts, how to check the full code context in the IDE, and the point that refactoring documents should describe both the current state and the step-by-step target state.
In the evening, the group reconvened to discuss the system design of an actual feature, covering the data layer, component structure, information ownership, and establishing policies for handling ambiguous requirements, before continuing to connect over a Vietnamese dinner.
On Day 3, building on the prior discussions, mixed teams wrote actual design documents. 4 mixed teams — split into 2 Android teams and 2 iOS teams — analyzed problems and technical debt in the current code under guidance from Tokyo members, derived solutions, wrote design documents, and completed internal team reviews. The directions chosen were:
- Migrating the UI to Jetpack Compose to improve maintainability
- Applying architecture patterns that improve testability
- Strengthening separation of responsibilities for a structure that's easier to change
- Modularization with team scalability in mind
This process showed that hands-on, collaborative learning is far more powerful than one-off presentations. Despite working apart, the teams faced surprisingly similar problems, and the same mistakes recurred across Android and iOS, Kotlin and Swift alike. It also became clear that architecture cannot be conveyed through documents alone — it is only properly shared through questions, pushback, and contextual explanation.
Most importantly, the outcome was trust. The relationships built through in-person conversations and team dinners became a foundation that would deepen the intensity of subsequent remote collaboration, and following the workshop, weekly live code review sessions and follow-up discussions on design documents became a regular practice. In fact, one LINE Vietnam engineer went on to join discussions on the global architecture framework after the workshop, showing how this exchange could expand across LINE's native app development going forward.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.