Joined Reforge as a Platform Engineering Manager. Adi's goal is to take the platform from it's existing set up to the next stable level, and in the process, make the lives of his developers more efficient when running a lot of integration or end-to-end tests.
"We have about 45 people collaborating on our platform, and since we've onboarded Aviator, we've merged 819 PRs, and that is something that it was probably not going to happen with that speed if we were not in a merge queue. We're currently going to continue to use Aviator because it's such a cool tool. Engineers are happy, so it makes my life easy."
Multiple code changes from Reforge’s 45+ developer team caused merge conflicts, slowing code deployment velocity, and stressing engineers that were already on strict sprint deadlines for new features.
"We were getting a lot of complaints from engineers that were blocked on other PRs waiting to merge. At one point, we were just trying to release a couple of new features before our fall cohort, and our engineers were running into a lot of heat between each other trying to merge a PR. We were merging to master and re-running tests. If an engineer pushed a change we’d all fall behind.”
"We needed a quick overnight solution. We were able to test Aviator MergeQueue end-to-end with multiple engineers on the platform, and it worked for what we're trying to solve."
The team needed to build a POC quickly to find a customizable merge queue that would scale with growing code deploys.
Since onboarding with Aviator, Adi's team merged 800+ PRs which wasn't possible without a merge queue.
"Our team loves it. When the queue is set up, they know their position in the queue and how to merge PRs or have a merge priority to skip a PR. Efficiency is not hindered.”
"One of the main features that I like about Aviator is when we were running into some sort of production issue, and we don't want any of our current developers committing code to the master branch and deploying, it's a nice feature to just pause the merge queue through the UI, which just prevents any merges. That's really helpful because when you're trying to troubleshoot either an incident or you're trying to look for some issues within your current code base, you know there's a very helpful feature to prevent any more additions."
Paused Queues enables the reforge team to debug problematic deploys without risking additional merges to mainline.