Snap (Snapchat)
11 min read

Don't Rewrite Your App, Unless You Have To - Snap Engineering

Read Full Article

Summary

The article discusses the Snapchat Engineering team's experience in rewriting their Android app to enhance performance and reduce bugs. It outlines the challenges faced due to the app's complexity and the decision-making process that led to the rewrite. The team focused on creating a modular architecture that allowed for faster loading times and better resource management. Key strategies included setting ground rules for development, maintaining a narrow scope to avoid scope creep, and adopting a Minimum Viable Product (MVP) mentality to ensure quality throughout the development process.

Key Learnings

  • 1Rewriting an app can be a more efficient solution than incremental refactoring when faced with significant performance issues.
  • 2Establishing clear ground rules and focusing on performance can help teams avoid common pitfalls during a rewrite.
  • 3Adopting an MVP strategy allows teams to identify and address performance regressions early in the development process.
  • 4Maintaining a modular architecture facilitates ongoing improvements and refactoring without the need for complete rewrites.
  • 5Effective project management and communication are crucial to keep teams aligned and focused during lengthy development cycles.

Who Should Read This

Senior Mobile Developers with experience in app performance optimization and those facing challenges in scaling complex mobile applications.

Test Your Knowledge

?

What specific performance issues prompted the Snapchat team to consider a complete rewrite of their Android app?

?

How did the team ensure that the rewrite did not introduce new bugs or regressions?

?

What strategies did the team implement to maintain focus and avoid scope creep during the rewrite?

?

In what ways did the MVP mentality influence the development and testing of the new app?

?

What lessons were learned regarding the modular architecture of the app, and how does it support future development?

Topics

Read Full Article at Snap (Snapchat)