Productivity at Scale: How We Improved Build Time by 400% at LinkedIn

Vinyas Maddi
10 min readintermediate
--
View Original

Overview

The article discusses LinkedIn's significant improvement in build times by migrating from SBT to Gradle, achieving a 400% increase in productivity. It highlights the challenges faced during the transition and the resulting benefits, including faster builds and enhanced developer satisfaction.

What You'll Learn

1

How to migrate from SBT to Gradle for Play applications

2

Why Gradle is a better choice for large-scale applications compared to SBT

3

How to leverage incremental builds to improve build times

Prerequisites & Requirements

  • Understanding of build systems and their impact on developer productivity
  • Familiarity with Gradle and Play Framework(optional)

Key Questions Answered

How did LinkedIn improve build times for their Play applications?
LinkedIn improved build times by migrating from SBT to Gradle, which allowed for faster dependency resolution and incremental builds. As a result, build times decreased from 60 minutes to 15 minutes, significantly enhancing developer productivity and satisfaction.
What challenges did LinkedIn face during the migration to Gradle?
The migration faced challenges such as maintaining active development on applications during the transition, ensuring compatibility with existing infrastructure, and addressing the variety of applications built on the Play framework. These complexities required careful planning and collaboration across teams.
What productivity gains were observed after migrating to Gradle?
Post-migration, LinkedIn observed a productivity boost with IDE refresh times improving by 4x to 6x. Additionally, build times improved by 150% to 400%, resulting in over 1,000 hours of productivity gains across various stages of the build lifecycle per quarter.

Key Statistics & Figures

Build time reduction
400%
Improvement in build times after migrating to Gradle
IDE refresh time
less than 5 minutes
Time taken for IDE refresh post-migration
Productivity gains
over 1,000 hours
Productivity gains across various stages of the build lifecycle per quarter

Technologies & Tools

Build Tool
Gradle
Used to replace SBT for building Play applications
Build Tool
Sbt
Original build system used before migrating to Gradle
Web Framework
Play Framework
Framework used for building microservices and web applications at LinkedIn

Key Actionable Insights

1
Consider migrating to Gradle if your current build system is causing significant delays in development.
If your team is experiencing long build times or developer frustration, transitioning to Gradle can streamline the build process and enhance productivity.
2
Implement incremental builds to reduce build times during local development.
By using Gradle's incremental build capabilities, developers can avoid full builds, saving time and allowing for quicker iterations on code changes.
3
Engage with the community for support during migration projects.
Collaborating with other organizations or developers who have undergone similar migrations can provide valuable insights and help overcome common challenges.

Common Pitfalls

1
Underestimating the complexity of migrating build systems can lead to project delays.
Many organizations may not realize the extent of changes needed in build scripts and dependencies, which can complicate the transition process.
2
Failing to maintain compatibility with existing applications during migration can disrupt development.
It's crucial to ensure that both old and new build systems can coexist during the transition to avoid halting ongoing development efforts.

Related Concepts

Build System Optimization
Microservices Architecture
Developer Productivity Tools