Home TechnologyBuild better software to build software better...
Technology⭐ Featured

Build better software to build software better

We manage the build pipeline that delivers Quip and Slack Canvas’s backend. A year ago, we were chasing exciting ideas to help engineers ship better code, faster. But we had one huge problem: builds took 60 minutes. With a build that slow, the whole pipeline gets less agile, and feedback doesn’t come to engineers until…

7 April 2026 at 08:44 am
1 views
Build better software to build software better

Build Better Software to Build Software Better

At Quip and Slack Canvas, we manage the build pipeline that delivers the backend for our products. A year ago, we were eager to explore innovative ideas that could help engineers ship better code faster. However, we faced a significant challenge: our builds took 60 minutes. With such a slow build process, the entire pipeline became less agile, and engineers had to wait far too long for feedback. We needed to address this issue to improve our development workflow.

To resolve the problem, we combined modern, high-performance build tooling with classic software engineering principles. We started by rethinking how we approached build performance, drawing parallels to optimizing application code.

Imagine a simple application with a backend server providing an API and data storage, and a frontend presenting the user interface. Like many modern applications, the frontend and backend are decoupled, allowing them to be developed and delivered independently. The build process for such an application can be represented as a graph of dependencies between elements, such as source files and deployable artifacts.

We modeled our build as a directed acyclic graph (DAG), where arrows represent dependencies. For instance, our backend depends on a collection of Python files, meaning that whenever a Python file changes, we need to rebuild the backend. Similarly, we need to rebuild the frontend whenever a TypeScript file changes—but not when a Python file does. This approach allows us to apply performance optimization techniques similar to those used in optimizing application code.

One key technique is to do less work. By caching the results of expensive computations, we ensure that we only perform them once, trading memory for time. This is analogous to memoization in code, where we store the results of function calls to avoid redundant calculations.

Another technique is to share the load. We can distribute work across multiple compute resources in parallel, enabling faster completion by trading off compute resources for time. This is similar to parallel processing in code, where tasks are divided among multiple threads or processes to speed up execution.

For example, consider a Python function to calculate the factorial of a number:

```python

def factorial(n):

return n * factorial(n-1) if n else 1

```

Calculating a factorial can be computationally expensive. If we need to compute the factorial multiple times with the same input, we can cache the result to avoid redundant calculations. This not only improves performance but also reduces resource usage.

Applying these principles to our build pipeline, we began by analyzing the dependencies and identifying bottlenecks. We then optimized our build process using caching and parallelization techniques. By leveraging Bazel, a high-performance build tool, we were able to significantly reduce build times.

Bazel's architecture allows for efficient dependency resolution and parallel execution of tasks. It also supports caching, ensuring that only the necessary parts of the build are re-executed when changes occur. This combination of features enabled us to achieve substantial improvements in build performance.

In addition to using Bazel, we also applied classic software engineering principles. We refactored our build scripts to improve maintainability and readability, ensuring that our team members could easily understand and modify them as needed. We also established clear guidelines for how developers should structure their code and build configurations, promoting consistency and reducing the likelihood of build-related issues.

By focusing on performance and adopting a systematic approach, we transformed our build pipeline. Today, our builds are much faster, enabling engineers to receive feedback more quickly and iterate on their code more efficiently. This improvement has had a ripple effect throughout our development process, fostering a more agile and productive workflow.

In conclusion, optimizing build performance is crucial for modern software development. By thinking about builds in terms of code performance and applying well-established software engineering principles, we were able to significantly reduce build times and enhance our development process. The key takeaway is that building better software often begins with optimizing the tools and processes that support the build pipeline itself.

📰 Related News
Ekaya Banaras Founder Palak Shah’s ₹40 Lakh Billboard Mistake Became a Masterclass in Startup Marketing
Ekaya Banaras Founder Palak Shah’s ₹40 Lakh Billboard Mistake Became a Masterclass in Startup Marketing
Ekaya Banaras founder Palak Shah recently opened up about one of the most expensive mistakes she made while building her luxury textile brand. During the early years of the company, Shah rented a premium billboard near Delhi’s DLF Emporio to increase brand visibility. However, after forgetting to cancel the campaign, the hoarding reportedly continued running for months — resulting in losses of nearly ₹40 lakh. The incident has now become a viral example of how small operational oversights can turn into costly business lessons for startups and entrepreneurs.
28 May
Betting On AI: Jensen Huang And NVIDIA’s Rise To The Top
Betting On AI: Jensen Huang And NVIDIA’s Rise To The Top
Before AI was inevitable, it was a gamble—and Jensen Huang went all in.
14 Apr
Red Hat OpenShift sandboxed containers 1.12 and Red Hat build of Trustee 1.1 bring confidential computing to bare metal and AI workloads
Red Hat OpenShift sandboxed containers 1.12 and Red Hat build of Trustee 1.1 bring confidential computing to bare metal and AI workloads
Red Hat is excited to announce the release of Red Hat OpenShift sandboxed containers 1.12 and Red Hat build of Trustee 1.1, marking a major leap forward in our confidential computing journey. These releases graduate confidential containers on bare metal from …
14 Apr
Large AI firms hoovering maximum funding, not enough for smaller startups: Y Combinator’s Ankit Gupta
Large AI firms hoovering maximum funding, not enough for smaller startups: Y Combinator’s Ankit Gupta
YC Startup School: India’s talent pool across colleges and universities are key for building next-gen startups, which is what YC is looking to tap into. It wants to target entrepreneurs building for global markets, focussed on fintech, consumer, B2B, and ecom…
14 Apr
TSMC likely to book fourth straight quarter of record profit on insatiable AI demand
TSMC likely to book fourth straight quarter of record profit on insatiable AI demand
TSMC-RESULTS/ (PREVIEW, PIX):PREVIEW-TSMC likely to book fourth straight quarter of record profit on insatiable AI demand
14 Apr
TSMC likely to book fourth straight quarter of record profit on insatiable AI demand
TSMC likely to book fourth straight quarter of record profit on insatiable AI demand
Any profit result ‌above T$505.7 billion would mark the company's highest-ever quarterly net income ​and its ninth consecutive quarter of profit growth
14 Apr
TSMC likely to book fourth straight quarter of record profit on insatiable AI demand
TSMC likely to book fourth straight quarter of record profit on insatiable AI demand
On Thursday, ​TSMC is expected to report a net profit of $17.1 billion for the quarter, according to an LSEG SmartEstimate compiled from 19 analysts. The war in the Middle East threatens to disrupt the supply of production materials for semiconductors such as…
14 Apr
If we can’t kick the habit, how do we manage AI’s energy needs?
If we can’t kick the habit, how do we manage AI’s energy needs?
One can only hope that OpenAI’s Sam Altman was joking when he sought to justify the immense energy consumption of artificial intelligence
14 Apr
What caused Nvidia Blackwell GPU prices to spike? #tech
What caused Nvidia Blackwell GPU prices to spike? #tech
Blackwell GPU hourly “rent” surges on agentic AI demand A compute pricing index tracking hourly costs for Nvidia Blackwell GPUs shows a sharp climb: hourly rental hit $4.08 , up 48% from $2.75 just two months earlier. The reported driver is rising demand tied…
14 Apr
Anthropic Releases Claude Mythos Preview with Cybersecurity Capabilities but Withholds Public Access
Anthropic Releases Claude Mythos Preview with Cybersecurity Capabilities but Withholds Public Access
Anthropic has introduced Claude Mythos Preview, its most advanced AI model, improving significantly in reasoning, coding, and cybersecurity. Unlike previous releases, it will not be publicly available. Access is limited to a consortium of tech companies throu…
14 Apr