Behind The Scenes of Falcon, Wix’s Internal JavaScript CI Building Tool: Einav Carmon

The Wix Engineering Conference is our annual celebration where professional growth and engineering culture blend. This year's agenda is packed with insightful content, and we want to introduce our awesome speakers before they take the stage.
Get all the update about Wix Engineering Conference right away - Join our official Slack channel!
In this interview, we'll talk with Einav Carmon. We'll discuss her upcoming session, 'Falcon’s Behind the Scenes', and gain a deeper understanding of what is Falcon, its high-level architecture, key components, challenges and more.
Hi Einav, please introduce yourself
I used to identify myself as a functioning zombie, but now that my 3 kids (and a dog) are a bit older and I no longer wake up on weird hours of the night (and morning) I’m back to just being Einav, the software engineer. I have loved computers since the early 90’ and my journey with code started over 20 years ago in the IDF.
I've been at Wix for the past 7 years and for the last 3 years I'm part of the Infrastructure company, specifically within the Developer Experience (DevEx) group.
Our primary focus is enhancing the experience for Wix developers. We strive to create a smooth and seamless development environment, allowing you, our users, to concentrate on your core work and business logic. By doing so, we aim to help maximize dev velocity and efficiency.
What is your Wix Engineering Conference 2024's talk going to be about? What will the listeners learn?
I’m going to take the listeners on a tour behind the scenes of the Falcon show. Falcon is Wix’s internal JavaScript CI building tool. We'll see what happens from the moment a developer pushes a commit to the creation of an RC or deploy previews, and we’ll meet the main actors that take part on the way.
I’m going to take the listeners on a tour behind the scenes of the Falcon show, Wix’s internal JavaScript CI building tool.
We’ll also talk about key components in Falcon core and how they are utilized to optimize your builds.
Can you share some of the key motivations behind Falcon ’s creation?
One of the main motivations was the evolving JavaScript ecosystem that required Wix to rethink our developer needs. We decided not to continue to rely on a generic CI that was mostly a collection of scripts , but rather have something tailored for these needs like supporting monorepos, package dependencies and build order, and is a proper software product with e2e tests, maintainable and is crafted to meet software engineering principles and best practices while allowing stability and faster builds and development.
Another motivation was OOTB (out-of-the-box feature) support for PR builds that work the same as master builds, create deploy previews and allow running tests on those and a faster feedback loop for our developers.

What were some of the biggest challenges your team faced when transitioning from the old system to Falcon, and how were they overcome?
I joined the team during the migration phase, and I think the migration to Falcon was one of the biggest challenges at that time. it was also one of the smoothest migrations in Wix in my opinion. It was well thought of by Falcon’s founding team.
The Team managed to do it in zero downtown for our users, it allowed backward compatible deployments and full rollback support.
The Team managed to do it in zero downtown for our users, it allowed backward compatible deployments and full rollback support, meaning users could opt in and out of the migration in an easy manner. It also included dry run support, so users could check and test their builds in Falcon while still building in the Legacy CI.
The team also invested a lot of work in an automatic migrator, which had code generation and manipulation to assist an easy move. Overall the migration had a rather high satisfaction rate.
Thank you for sharing these insights and ideas with all of us and good luck on stage!
Sweet memories: Wix Engineering Conference 2023 - The Official Clip
Falcon’s Behind the Scenes - the full talk's abstract:
Do you FEDs remember life before Falcon? It was every package to itself, weird build failures, reading long and tiresome logs, and failing because of different dependencies you sometimes didn’t even know you had.
And there was light - Falcon came into our life. With its monorepo and pull-requests flow requirements, which we thought might have been overkill but we learned to love, suddenly our builds were more predictable and faster and understanding build errors became much easier. So what is Falcon exactly?
In this talk, we’ll take a tour behind the scenes, understand Falcon’s high-level architecture, meet Falcon’s key components, and understand how Falcon achieves minimal builds with parallelism and cache.
Get all the update about Wix Engineering Conference right away - Join our official Slack channel!
25 Sept 2024
Interview
●
3
min read