Why LinkedIn’s Massive Front‑End Rewrite Stalled: Lessons from a Former Engineer
Former LinkedIn senior engineer Chris Krycho reveals how organizational constraints, technical debt, and conflicting migration strategies made modernizing a 2‑million‑line front‑end codebase a multi‑year challenge, offering key insights for large‑scale software refactoring.
Former LinkedIn senior engineer Chris Krycho discusses the complexities of modernizing a massive legacy codebase, highlighting conflicts over best‑practice approaches that contributed to his departure.
During his nearly five‑year tenure (Jan 2019‑Oct 2023), Krycho oversaw a front‑end of about 2 million lines of code with a 17‑minute build time and a large back‑end API ecosystem.
He describes the initial migration from Ember.js to JavaScript classes, the constraints of a company policy limiting team process time to 10 %, and his proposal to automate changes—a plan projected to take 18 months but repeatedly delayed.
Organizational and cultural factors, such as competing priorities and technical debt, made large‑scale improvements difficult despite consensus on their value.
Krycho’s next step was a gradual shift to TypeScript, while still grappling with lingering errors and the continued use of Ember.js, which he deemed suboptimal for LinkedIn’s scale.
He argues that LinkedIn, as “the world’s largest Ember.js user,” needed to transition to React, estimating a three‑to‑five‑year effort to refactor roughly 3 million lines of code without breaching the 10 % rule.
An alternative “big‑bang” rewrite of mobile and desktop applications was proposed by another team, resonating more with management but risking similar debt issues.
Krycho also recounts a service outage caused by a memory leak in a pre‑rendering service and aggressive server‑restart automation, illustrating how misconfigurations can cascade failures across data‑center servers.
He attributes many code problems to technical debt accrued from prioritizing new features over code quality, warning that rapid release velocity can undermine long‑term maintainability.
Overall, the LinkedIn case exemplifies the challenges of modernizing large codebases, balancing business demands with performance, resilience, and sustainable engineering practices.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
