Overview
The article discusses the engineering behind LinkedIn's Reactions feature, detailing the complexities of transforming the simple 'like' button into a more expressive set of reactions. It highlights the collaborative effort required across multiple teams and the architectural considerations that informed the design and implementation of this feature.
What You'll Learn
1
How to design a scalable reactions data model for social media applications
2
Why cross-team collaboration is essential in large engineering projects
3
How to manage legacy data during a feature migration
Key Questions Answered
What are the components of LinkedIn's reactions data model?
The reactions data model consists of three components: an actor (who created the reaction), an object (what entity was reacted to), and a verb (which reaction was selected). This structure allows for flexibility in supporting various types of actors and entities in the future.
How does LinkedIn handle the migration of legacy 'likes' to the new reactions feature?
LinkedIn migrated existing 'likes' to a new database designed for reactions, allowing 'likes' to be treated as a type of reaction. This migration was crucial for maintaining user experience while transitioning to the new feature.
What challenges did LinkedIn face in building the reactions platform?
The development of the reactions platform involved challenges such as managing high traffic spikes from popular posts, ensuring consistent user experience across different contexts, and establishing a collaborative framework among 27 development teams.
Key Statistics & Figures
Number of development teams involved in 'likes'
27
These teams collaborated to build the reactions feature, highlighting the complexity of the project.
Key Actionable Insights
1Establish a clear data model before implementing new features to ensure scalability and flexibility.A well-defined data model can help accommodate future changes and support various use cases, as seen in the reactions data model that allows for different actor types and reaction verbs.
2Foster cross-team collaboration by anchoring discussions around user experience.By focusing on the member experience, teams can better align their efforts, ensuring that changes benefit users and maintain consistency across the platform.
3Implement caching strategies to handle high traffic during feature migrations.Introducing a caching layer improved read throughput for popular posts during the migration of 'likes' to the new reactions database, enhancing user experience.
Common Pitfalls
1
Failing to standardize UI components can lead to inconsistent user experiences.
When teams create their own versions of UI elements like the 'like' button, it can confuse users and increase technical debt. Standardizing components ensures a cohesive experience across the platform.