Scaling Zapier to Automate Billions of Tasks

21,191
Zapier
Zapier is for busy people who know their time is better spent selling, marketing, or coding. Instead of wasting valuable time coming up with complicated systems - you can use Zapier to automate the web services you and your team are already using on a daily basis.

Editor's note: By Bryan Helmig, ‎Co-founder & CTO at Zapier



Zapier is a web service that automates data flow between over 500 web apps, including MailChimp, Salesforce, GitHub, Trello and many more.

Imagine building a workflow (or a "Zap" as we call it) that triggers when a user fills out your Typeform form, then automatically creates an event on your Google Calendar, sends a Slack notification and finishes up by adding a row to a Google Sheets spreadsheet. That's Zapier. Building Zaps like this is very easy, even for non-technical users, and is infinitely customizable.

As CTO and co-founder, I built much of the original core system, and today lead the engineering team. I'd like to take you on a journey through our stack, how we built it and how we're still improving it today!

The Teams Behind the Curtains

It takes a lot to make Zapier tick, so we have four distinct teams in engineering:

  • The frontend team, which works on the very powerful workflow editor.
  • The full stack team, which is cross-functional but focuses on the workflow engine.
  • The devops team, which keeps the engine humming.
  • The platform team, which helps with QA, and onboards partners to our developer platform.

All told, this involves about 15 engineers (and is growing!).

The Architecture

Our stack isn't going to win any novelty awards — we're using some pretty standard (but awesome) tools to power Zapier. More interesting are the ways we're using them to solve our particular brand of problems, but let's get the basics out of the way:

The Frontend

We're smack in the middle of transitioning from Backbone to React. We use Babel for ES6 and Webpack + Gulp to compile the frontend. We rely heavily on CodeMirror to do some of the more complex input widgets we need, and use React + Redux to do much of the heavy lifting for the uber-powerful Zap editor.

The Backend

Python powers a large majority of our backend. Django is the framework of choice for the HTTP side of things. Celery is a massive part of our distributed workflow engine. Most of the routine API work is done with the epic requests library (with a bunch of custom adapters and abstractions).

The Data

MySQL is our primary relational data store — you'll find our users, Zaps and more inside MySQL. Memcached and McRouter make an appearance as the ubiquitous caching layer. Other types of data go in other data stores that make more sense. For example, in-flight task counts for billing and throttling find themselves in Redis, and Elasticsearch stores historical activity feeds for Zaps. For data analysis we love us some AWS Redshift.

The Platform

Most of our platform is nestled inside our fairly monolithic core Python codebase, but there are lots of interesting offshoots that offer specialized functionality. The best example might be how we utilize AWS Lambda to run partner/user provided code to customize app behavior and API communication.

The Infrastructure

Since Zapier runs on AWS, we have quite a bit of power at our fingertips. EC2 and VPC are the centerpiece there, though we do use RDS where possible along with copious numbers of autoscaling groups to ensure the pool of servers are in tip-top shape. Jenkins, Terraform, Puppet and Ansible are all daily tools for the devops team. For monitoring, we can't rave enough about Statsd, Graylog, and Sentry (they're so good).

Some Rough Numbers

These numbers represent a rough minimum to help the reader guage the general size and dimensions of Zapier's architecture:

  • over ~8m tasks automated daily
  • over ~60m API calls daily
  • over ~10m inbound webhooks daily
  • ~12 c3.2xlarge boxes running HTTP behind ELB
  • ~100 m3.2xlarge background workers running Celery (split amongst polling, hooks, email, misc)
  • ~3 m3.medium RabbitMQ nodes in a cluster
  • ~4 r3.2xlarge Redis instances - one hot, two failover, one backup/imaging
  • ~12 m2.xlarge Memcached instances behind ~6 c3.xlarge McRouter instances
  • ~10 m3.xlarge ElasticSearch instances behind ~3 m3.xlarge no-data ElasticSearch instances
  • ~6 m3.xlarge ElasticSearch instances behind ~1 c3.2xlarge Graylog server
  • ~10 dc1.large Redshift nodes in a cluster
  • 1 master db.m2.2xlarge RDS MySQL instance w/ ~2 more replicas for both production reads and analysis
  • a handful of supporting RDS MySQL instance (more details below)
  • ...and tons of microservices and miscellaneous specialty services

Improving the Architecture

While the broad strokes of the architecture remain the same - we've only performed a few massive migrations - a lot of work has been done to grow the product in two categories:

  1. Supporting big new product features
  2. Scaling the application for more users

Let's dive into some examples of each, with as many nitty-gritty details as possible without getting bogged down!

Big Features like Multi-Step Zaps

When we started Zapier (fun fact: it was first called Snapier!) at a Startup weekend, we laid out the basic architecture in less than 54 hours (fueled by lots of coffee and more than a few beers). Overall, it was decent. We kept the design really, really simple, which was the right call at the time.

Except where it was too simple. Specifically, we made Zaps two-stepped: a trigger paired with an action, full stop.

It didn't take long for us to realize the missed opportunity, but the transition was going to be pretty complex. We had to implement a directed rooted tree with support for an arbitrary numbers of steps (nodes), but maintain 1-to-1 support for existing Zaps (of which there were already hundreds of thousands). And we had to do that while preserving support for hundreds of independent partner APIs.

Starting at the data model, we built a very simple directed rooted tree implementation in MySQL. Just imagine a table where every row has a self-referencing parent_id foreign key, plus an extra root_id foreign key to simplify queries, and you pretty much got it. We discussed switching to a proper graph database (like neo4j) but decided against it because the sorts of queries we make are simple and over isolated graphs of smaller sizes (roughly ~2-50 nodes).

A key aspect to make this work is inter-step independence. Every step has to consume some data (which folder to read from or which list ID to add to, for example), do some API magic, and return some data (say, the new file created or the new card added to a list), but otherwise be ignorant of its placement in the workflow. Each independent step is as dumb as a rock.

In the middle exists the omniscient workflow engine which coordinates independent Celery tasks by stringing together steps as tasks — one step feeding into the next as defined by the Zap's directed rooted tree. This omniscient engine also houses all the other goodies like error & retry handling, reporting, logging, throttling and more.

Even after we nailed the backend support, we had another huge problem: how do you build a UI for this thing?

First, you make sure you have some amazing designers and Javascript engineers on the team. Then you wrestle with nested Backbone views for a while before moving onto React. :-) In all seriousness: React is a godsend for the sorts of complex interfaces we are building.

One of the unique things about React is the performance characteristics are developer friendly, but only as long as you have your data figured out. If you aren't using immutable data structures, you should use some structural sharing library to do all mutations, along with deep Object.freeze() in development to catch spots where you attempt mutation directly.

There are tons of challenges in building such a complex UI, much of it around testing and feedback, but a huge amount of time was spent just getting the long-tailed data from different APIs to fit elegantly into the same places. Just about every weird shape of data has to be accounted for.

Finally, we were tasked with getting the new editor in front of users for alpha and beta testing. To do this we shipped both versions of the editor simultaneously and used feature switches to opt users in. We did months and months of testing and tweaking before we were happy with the result - you can check out the Multi-Step Zap launch page to get an idea of where it ended up.



Scaling the Application

It would all be for nought if the service isn't up and running reliably. As such, much of our attention is focused jointly on application design to support horizontal scalability and redundant infrastructure to ensure availability.

Some of the wiser decisions we've made so far is to double down on tech we're comfortable with and spin out isolated functionality when we hit a bottleneck. The key is to reuse the exact same solution and move it to another box where it is free to roam fresh pastures of CPU and RAM.

For example, over the last year or so we noticed session data had eaten up a ton of our primary database's IO and storage. Since session data is effectively a key/value arrangement with softer consistency requirements, we heavily debated options like Cassandra or Riak (or even Redis!), but ultimately decided to stand up a dedicated MySQL instance with a single sessions table.

Our instinct as engineers was to find the tool best suited to the job, but as a practical matter, the job didn't warrant additional operational complexity. We know MySQL, it can do simple key/value storage and our application already supports it. Talk about a no-brainer.

Further, careful design of the application can make horizontal scaling equally simple. Long running background tasks (like our Multi-Step Zaps) aren't bound by strict consistency requirements due to their light write pattern, so it is trivial (and safe!) to use MySQL read-only replicas as the primary touch point. Even if we occasionally get horrible replica lag measured in the minutes, 99.9% of Zaps aren't changing — and certainly aren't changing soon — so they continue to hum along.

Another good practice is to assume the worst. Design for failure from the beginning. While usually this is easier said than done, nowadays it is actually surprisingly easy to do. For starters: use auto scaling groups with auto-replacement. A common misconception is that ASGs are only for scaling to accommodate fluctuating load. Wrong! The ASG + ELB combo can be your backbone of reliability, one that enables you to randomly kill instances without worry since they get replaced in quick order.

Somehow we keep re-learning that the simpler the system is, the better you'll sleep.

The Day-To-Day

Locally, our engineers enjoy a fully functioning environment courtesy of Docker. docker-machine and docker-compose together stand up proper versions of MySQL, Memcached, Redis, Elasticsearch as well as all the web and background workers. We generally recommend running npm and even runserver locally, as file watching is kind of broken with VirtualBox.

The canonical GitHub "pull request model" drives most of our projects that are engineering focused, where day-to-day work is logged and final code review happens before merging. Hackpad houses the majority of our documentation, including copious onboarding documentation.

A big thing at Zapier is all hands support. Every four or five weeks, every engineer spends a full week in support helping debug and fix difficult customer issues. This is hugely important to us as it provides a baseline for understanding customers' pain (plus, you might have to deal with the bug you shipped!).

For CI and deployment, we use Jenkins to run tests on every commit in every PR as well as to provide a "one-click deploy" that anyone at the company can press. It's not uncommon for a new engineer to click the deploy button the first week on the job!

We have a full staging environment in a standalone VPC, as well as a handful of standalone web boxes perfect for testing long lived pull requests. Canary deploys to production are common — complete with full logs of any errors courtesy of Graylog.

You Can Zapier, Too!

Developers can use Zapier to do some pretty awesome stuff.

In addition to Multi-Step Zaps, we've also launched the ability to write Python and Javascript as Code steps in your workflow. No need to host and run scripts yourself — we take care of all of that. We also provide bindings to call out to the web (requests and fetch) and even store a bit of state between runs!

Our users are employing Code steps to build Slack bots (and games!), to replace one-off scripts and lots more. I personally use Code steps to write bots and tools to track code & bug metrics to a spreadsheet, transform oddly formatted data and replace a ton of crontabs.

Or, if you have an API that you want non-developers to be able to consume, we have a pretty epic Developer Platform, too. Simply define your triggers, searches and actions, and any user can mix your API into their workflows and integrate your app with over 500 apps like GitHub, Salesforce, Google Docs, and more.

And, we are often hiring, so keep an eye on our jobs page if you'd like to help us help people work faster and automate their most tedious tasks!


Zapier
Zapier is for busy people who know their time is better spent selling, marketing, or coding. Instead of wasting valuable time coming up with complicated systems - you can use Zapier to automate the web services you and your team are already using on a daily basis.
Tools mentioned in article
Open jobs at Zapier
General Interest Form- Future Enginee...
Flexible
<p><strong><em>This post is not linked to a specific job. </em></strong><em><span style="font-weight: 400;">If you do not see any posting applicable to your&nbsp;</span></em><em><span style="font-weight: 400;">skillset, please apply here to be notified about new roles that may be a good fit for you.</span></em></p> <p>Want to be part of the team behind the product that is Making Automation Work for Everyone—all while advancing your career at a fast-growing, profitable, impact-driven company? Then read on…</p> <p><a href="https://zapier.com/jobs/our-commitment-to-applicants/">Our Commitment to Applicants</a></p> <p><a href="https://zapier.com/jobs/culture-and-values-at-zapier/">Culture and Values at Zapier</a></p> <p><a href="https://zapier.com/learn/remote-work/">Zapier Guide to Remote Work</a></p> <p><a href="https://zapier.com/jobs/zapier-code-of-conduct/">Zapier Code of Conduct</a></p> <p><a href="https://zapier.com/jobs/working-on-diversity-and-inclusivity/">Diversity and Inclusivity at Zapier</a></p> <p>Through this form, you’re not applying for a specific job—instead, you’re joining Zapier’s Talent Community. By sharing your information with us, you’ll be the first to know when we post a new role, and you’ll be among the first candidates we review for each opening!&nbsp;</p> <p><span style="font-weight: 400;">Our distributed environment lets us work with the best people. You don't have to be located in the USA either. Some team members live in the United Kingdom, Thailand, India, Nigeria, Taiwan, Guatemala, New Zealand, Australia, and more! You just need the skills and drive to succeed in this role and the ability to work from anywhere.</span><em><span style="font-weight: 400;"><br></span></em></p> <p><span style="font-weight: 400;">Zapier offers:</span></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Competitive salary and profit-sharing program</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Equity for All: Stock options (or equivalent) for every Zapien</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Healthcare + dental + vision coverage*</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Retirement plan with 4% company match*</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">$2,000 annual learning stipend for use on courses, conferences, and more—your choice</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Annual all-company retreat</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">14 weeks paid leave for new parents of biological or adopted children</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Customized </span><a href="https://zapier.blueboard.com/"><span style="font-weight: 400;">Zapiversary rewards</span></a><span style="font-weight: 400;"> on your 1, 3, 5, 7 and 10 year work anniversaries</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Leading-edge equipment. We set you up with an Apple laptop and provide an additional budget for you to choose other home office accessories and software you may need.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Time to renew. We encourage Zapiens to take at least 2 weeks off each year. Most of us take 4-5 weeks, in addition to locally recognized holidays.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Opportunity to work with </span><a href="https://zapier.com/zapbook"><span style="font-weight: 400;">Zapier’s amazing partners network</span></a></li> </ul> <p><span style="font-weight: 400;">*While we take care of Zapiens around the world the best we can, healthcare and retirement plans are currently available specifically in the UK, Canada, New Zealand, Australia, and United States.</span></p> <p>&nbsp;</p> <p>&nbsp;</p> <p><span style="font-weight: 400;">This department includes teams such as:&nbsp;</span></p> <ul> <li>SRE</li> <li>Engineering</li> <li>Agile Practitioners</li> <li>Engineering Operations</li> <li>Support Engineering</li> <li>Security</li> <li>Team App Experiences</li> </ul>
Sr. Director, Engineering
NAMER
<p><strong>{Senior Director of Engineering, Engineering Services - AMER}</strong></p> <p><span style="font-weight: 400;">&nbsp;</span></p> <p><span style="font-weight: 400;">Hi there!</span></p> <p><span style="font-weight: 400;">Zapier is looking for a Senior Engineering Director to join the Engineering team at Zapier. Zapier is on a mission to make automation work for everyone. In this role, you’ll be responsible for leading the Engineering Services Group, which encompasses Production Engineering, Architecture, and Security teams, as they ensure the organization can execute and deliver on Zapier’s 3-year company strategy. You’ll work with your team, peers, and cross-functional partners to develop, communicate, and execute a holistic vision.</span></p> <p><span style="font-weight: 400;">Zapier is on a mission to make </span><em><span style="font-weight: 400;">automation work for everyone</span></em><span style="font-weight: 400;">—and our global, all-remote team is what makes this work possible. If you’re interested in continuing your career at a fast-growing and profitable startup, then read on…&nbsp;</span></p> <p><a href="https://zapier.com/jobs/our-commitment-to-applicants/"><span style="font-weight: 400;">Our Commitment to Applicants</span></a></p> <p><a href="https://zapier.com/jobs/culture-and-values-at-zapier/"><span style="font-weight: 400;">Culture and Values at Zapier</span></a></p> <p><a href="https://zapier.com/learn/remote-work/"><span style="font-weight: 400;">Zapier Guide to Remote Work</span></a></p> <p><a href="https://zapier.com/jobs/zapier-code-of-conduct/"><span style="font-weight: 400;">Zapier Code of Conduct</span></a></p> <p><a href="https://zapier.com/jobs/working-on-diversity-and-inclusivity/"><span style="font-weight: 400;">Diversity and Inclusivity at Zapier</span></a></p> <h2><strong>About You</strong></h2> <ul> <li style="font-weight: 400;"><strong>You’ve managed and scaled infrastructure engineering and security organizations. </strong><span style="font-weight: 400;">You’re a skilled and experienced engineering leader who has built teams working on the infrastructure, services, and tooling that drive SaaS-based products running on modern cloud stacks. You’ve led teams of managers, managers of managers, directors, and technical leaders to success</span><em><span style="font-weight: 400;">.</span></em></li> <li style="font-weight: 400;"><strong>You've led organizations through significant architectural change</strong><span style="font-weight: 400;">. You have experience with the challenges of shifting from monolithic applications to microservices. You understand both the technical and cultural challenges of this shift. You understand the viewpoints of various stakeholders and can provide comprehensive solutions that advance the engineering organization.</span></li> <li style="font-weight: 400;"><strong>You understand product development. </strong><span style="font-weight: 400;">You grasp the complexities and nuances of product development and the architecture that drives its success. You know the business and engineering implications of infrastructure, architecture, and security decisions. When building a platform in one or more fast-moving companies, you’ve balanced the complex and challenging tradeoffs between speed, cost, security, support, and functionality. You have deep experience managing complex projects with agile and industry best practices.</span></li> <li style="font-weight: 400;"><strong>You are customer-focused. </strong><span style="font-weight: 400;">You deeply understand customers, partners, and stakeholders. You are passionate about building products, services, and platforms that delight customers and make their jobs easier. You’re empathetic to the expectations of customers and the needs of developers.</span></li> <li style="font-weight: 400;"><strong>You can develop and sell a strategy to your team. </strong><span style="font-weight: 400;">You can set a vision and strategy, communicate it to your teams and stakeholders, and execute it. You listen to your teams to build the best solution and make difficult decisions when necessary. You partner closely with product management, design, support, and go-to-market organizations and other areas of engineering to drive and achieve business outcomes. You make decisions backed by facts; when you don’t know the answer, you do the work to find out.</span></li> <li style="font-weight: 400;"><strong>You are a skilled mentor, coach, and engineering leader.</strong><span style="font-weight: 400;"> You have a passion and a track record of mentoring technical and people leaders while at the same time growing your skills. You've introduced and scaled engineering practices and enhanced engineering cultures. You’ve led engineering teams making complex technical and architectural decisions by providing strategic guidance.</span></li> <li style="font-weight: 400;"><strong>You're an effective written communicator. </strong><span style="font-weight: 400;">Zapier is a 100 percent remote team, and writing is our primary means of communication. You’re comfortable using written summaries and reports to communicate vision, strategy, plans, findings, and results to the entire Zapier team.</span></li> <li style="font-weight: 400;"><strong>You're a champion for scalable solutions</strong><span style="font-weight: 400;">. At Zapier, your work will have a disproportionate impact on the business. We believe in systems and processes that let us scale our impact to be larger than ourselves.</span></li> </ul> <h2><strong>Things You’ll Do</strong></h2> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Coach, mentor, and grow senior engineering people and technical leaders by managing the engineering leadership within the Production Engineering, Architecture, and Security teams.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Hire and retain engineers and engineering leaders for your teams and across engineering.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Collaborate closely with your leaders and leadership peers to set the strategy and vision for the Engineering Services organization.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Own execution of the Engineering Services vision and strategy.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Own quality and delivery across Engineering Services and ensure your teams are accountable for their commitments.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Champion and drive our continued transition to service ownership throughout Engineering, Product, and Design &amp; Insights.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Collaborate with engineering and product leaders to influence priorities within the Growth and Product groups to ensure we’re building with quality, reliability, security, and scale considerations at the outset.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Ensure engineering excellence throughout your teams and across Engineering, including following agile development practices, engineering and architecture best practices, and the Zapier system design principles.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Communicate regularly and effectively throughout our distributed organization, including with Engineering, Product, and Design &amp; Insights executives, other EPD leaders, stakeholders, and your organization.&nbsp;</span></li> </ul> <h2><strong>The Whole Package</strong></h2> <p><span style="font-weight: 400;">Our fully remote, distributed environment enables us to work with awesome people from around the world. Our team members work from 38 different countries. We generally hire based on time zones and try to keep teams together by making sure that every Zapien overlaps with their manager &amp; teammates for at least a few hours a day.</span></p> <p><span style="font-weight: 400;">Zapier offers:</span></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Competitive salary and bonus program</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Equity for All: Stock options (or equivalent) for every Zapien</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Healthcare + dental + vision coverage*</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Fertility and Adoption Assistance</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Retirement plan with 4% company match*</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">$2,000 annual learning stipend for use on courses, conferences, and more—your choice</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Annual all-company retreat</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">14 weeks paid leave for new parents of biological or adopted children</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Customized</span><a href="https://zapier.blueboard.com/"><span style="font-weight: 400;"> Zapiversary rewards</span></a><span style="font-weight: 400;"> on your 1, 3, 5, 7 and 10 year work anniversaries</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Leading-edge equipment. We set you up with an Apple laptop and provide an additional budget for you to choose other home office accessories and software you may need.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Take the time you need to renew. We encourage Zapiens to take at least 10 days off each year. Most of us take 25 days off per year for vacation &amp; holidays, plus whatever sick time we need.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Opportunity to work with</span><a href="https://zapier.com/zapbook"><span style="font-weight: 400;"> Zapier’s amazing partners network</span></a></li> </ul> <p><span style="font-weight: 400;">*While we support Zapiens around the world the best we can, healthcare plans are available in the UK, Canada, and United States. Retirement plans are currently available specifically in the UK, Canada, New Zealand, Australia, and United States. A regional benefits premium is added directly to the salary ranges for team members who are in countries where we do not have entities or provide company-sponsored benefits. When recommendations are made for base salary, the benefits premium has already been factored in.</span></p> <h2><strong>How to Apply</strong></h2> <p><span style="font-weight: 400;">At Zapier, we believe that diverse perspectives and experiences make us better, which is why we have a non-standard application process designed to promote inclusion and equity. We are looking for the best fit for each of our roles, regardless of the type of education or companies in your background, so we encourage you to apply even if your skills and experiences don’t exactly match the job description. All we ask is that you answer a few in-depth questions in our application that would typically be asked at the start of an interview process. This helps speed things up by letting us get to know you and your skillset a bit better right out of the gate. Please be sure to answer each question; the resume and CV fields are optional.</span></p> <p><span style="font-weight: 400;">After you apply, you are going to hear back from us—even if we don’t see an immediate fit with our team. In fact, throughout the process, we strive to never go more than seven days without letting you know the status of your application. We know we’ll make mistakes from time to time, so if you ever have questions about where you stand or about the process, just ask your recruiter!</span></p> <p><span style="font-weight: 400;">Zapier is an equal opportunity employer and we're excited to work with talented and empathetic people of all identities. Zapier does not discriminate based on someone's identity in any aspect of hiring or employment as required by law and in line with our commitment to Diversity, Inclusion, Belonging and Equity. protected by local law. Our</span><a href="https://zapier.com/jobs/zapier-code-of-conduct/"><span style="font-weight: 400;"> code of conduct</span></a><span style="font-weight: 400;"> provides a beacon for the kind of company we strive to be, and we celebrate our differences because those differences are what allow us to make a product that serves a global user base.</span></p> <p><span style="font-weight: 400;">Zapier is committed to inclusion. As part of this commitment, Zapier welcomes applications from individuals with disabilities and will work to provide reasonable accommodations. If reasonable accommodations are needed to participate in the job application or interview process, please contact jobs@zapier.com.</span></p> <p><span style="font-weight: 400;">#LI-Remote</span></p> <p>&nbsp;</p>
Staff Product Engineer, LABS (AMER)
, NAMER
<h1><span style="font-weight: 400;">Staff Product Engineer, LABS (AMER)</span></h1> <p><em><span style="font-weight: 400;">We're currently hiring for the following locations:</span></em></p> <ul> <li style="font-weight: 400;"><em><span style="font-weight: 400;">Location: Americas. UTC/GMT -7 to UTC/GMT-4</span></em></li> </ul> <p><em><span style="font-weight: 400;">Our fully remote, distributed environment enables us to work with awesome people from around the world. Our team members work from 38 different countries. We generally hire based on timezones and try to keep teams together by making sure that every Zapien overlaps with their manager &amp; teammates for at least a few hours a day.</span></em></p> <p><br><span style="font-weight: 400;">As a founder-led company that bootstrapped itself to profitability, Zapier recognizes the value of the founder mindset. That is why Zapier LABS is solely focused on iterative discover→build→assess loops to develop early stage bets. </span></p> <p><span style="font-weight: 400;">The LABS team ships new products and experiences in the Low-Code / No-Code space. Projects are led by interdisciplinary teams </span><span style="font-weight: 400;">driving early stage product and technology development with a high degree of autonomy and at a high tempo</span><span style="font-weight: 400;">. We’re currently looking for a Staff Product Engineer that will help drive design and development of early stage bets.</span></p> <p><span style="font-weight: 400;">The ideal candidate understands how to drive new product development, ideally in a successful early-stage startup and can take initiatives from discovery with users to design and development of MVP interactions to shipping MVP products. When you join LABS, you will lead the design and development of experiences to make app development more accessible for millions of low-code / no-code customers across the world.</span></p> <h2><br><br><strong>About You</strong></h2> <p><strong>Leadership</strong><span style="font-weight: 400;"> : You lead by example and empathy, understand the business and how to prioritize project work. You encourage diversity of ideas and know that the team is collectively stronger than any individual.</span></p> <p><strong>Strategy</strong><span style="font-weight: 400;">: You communicate the vision for your team and then make it happen. You can work with your team to break a vision down into goals and roadmaps and have experience leading teams through execution towards the strategic vision.&nbsp;</span></p> <p><strong>Outcomes</strong><span style="font-weight: 400;">: You know how to get results. </span><span style="font-weight: 400;">You have a passion to Get Stuff Done. </span><span style="font-weight: 400;">Through collaboration with your team you routinely deliver meaningful results for the business. You have a strong sense of accountability for outcomes and you share and celebrate and build momentum around positive results. You learn and course correct when you don’t get the results you want.</span></p> <p><strong>Data Driven</strong><span style="font-weight: 400;">: You use data to understand users, drive deep discovery, and validate hypotheses with quantitative insights.</span></p> <p><strong>Design and Development: </strong><span style="font-weight: 400;">You have a good sense for what a good UX looks like. You are creative by nature and are able to take the lead with hands-on development to actively drive projects forward. You have a strong sense for creating simple usable experiences and are able to execute MVP experiences. You believe in rapid iterations of functional prototypes, and take the lead to evolve and share APIs/system functionality.&nbsp;</span><br><br></p> <h2><strong>Things you’ll do</strong></h2> <ul> <li><span style="font-weight: 400;">You will be working with high autonomy, responsibility, and high speed of iteration. You will build, move fast &amp; learn. You will ship new &amp; unique products quickly and often.</span></li> <li><span style="font-weight: 400;">Play a key role in building a new no-code development platform</span></li> <li><span style="font-weight: 400;">Lead with hands on development to actively drive projects forward, from uncovering opportunities to design and testing of MVP interactions</span></li> <li><span style="font-weight: 400;">You’ll drive efforts to connect the user, problem, and UX dots with early iterations</span></li> <li><span style="font-weight: 400;">You will help educate our team on the impact of opportunities the LABS team puts forward</span></li> <li><span style="font-weight: 400;">Operate with a high-level of ambiguity</span></li> </ul> <h2><strong>The Whole Package</strong></h2> <p><span style="font-weight: 400;">Our fully remote, distributed environment enables us to work with awesome people from around the world. Our team members work from 38 different countries. We generally hire based on time zones and try to keep teams together by making sure that every Zapien overlaps with their manager &amp; teammates for at least a few hours a day.</span></p> <p><span style="font-weight: 400;">Zapier offers:</span></p> <ul> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Competitive salary and bonus program</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Equity for All: Stock options (or equivalent) for every Zapien</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Healthcare + dental + vision coverage*</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Fertility and Adoption Assistance</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Retirement plan with 4% company match*</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">$2,000 annual learning stipend for use on courses, conferences, and more—your choice</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Annual all-company retreat</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">14 weeks paid leave for new parents of biological or adopted children</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Customized</span><a href="https://zapier.blueboard.com/"><span style="font-weight: 400;"> </span><span style="font-weight: 400;">Zapiversary rewards</span></a><span style="font-weight: 400;"> on your 1, 3, 5, 7 and 10 year work anniversaries</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Leading-edge equipment. We set you up with an Apple laptop and provide an additional budget for you to choose other home office accessories and software you may need.</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Take the time you need to renew. We encourage Zapiens to take at least 10 days off each year. Most of us take 25 days off per year for vacation &amp; holidays, plus whatever sick time we need.</span></p> </li> <li style="font-weight: 400;"> <p><span style="font-weight: 400;">Opportunity to work with</span><a href="https://zapier.com/zapbook"><span style="font-weight: 400;"> </span><span style="font-weight: 400;">Zapier’s amazing partners network</span></a></p> </li> </ul> <p><span style="font-weight: 400;">*While we support Zapiens around the world the best we can, healthcare plans are available in the UK, Canada, and United States. Retirement plans are currently available specifically in the UK, Canada, New Zealand, Australia, and United States. A regional benefits premium is added directly to the salary ranges for team members who are in countries where we do not have entities or provide company-sponsored benefits. When recommendations are made for base salary, the benefits premium has already been factored in.</span></p> <p>&nbsp;</p> <h2><strong>How to Apply</strong></h2> <p><span style="font-weight: 400;">At Zapier, we believe that diverse perspectives and experiences make us better, which is why we have a non-standard application process designed to promote inclusion and equity. We are looking for the best fit for each of our roles, regardless of the type of education or companies in your background, so we encourage you to apply even if your skills and experiences don’t exactly match the job description. All we ask is that you answer a few in-depth questions in our application that would typically be asked at the start of an interview process. This helps speed things up by letting us get to know you and your skillset a bit better right out of the gate. Please be sure to answer each question; the resume and CV fields are optional.</span></p> <p><span style="font-weight: 400;">After you apply, you are going to hear back from us—even if we don’t see an immediate fit with our team. In fact, throughout the process, we strive to never go more than seven days without letting you know the status of your application. We know we’ll make mistakes from time to time, so if you ever have questions about where you stand or about the process, just ask your recruiter!</span></p> <p><span style="font-weight: 400;">Zapier is an equal opportunity employer and we're excited to work with talented and empathetic people of all identities. Zapier does not discriminate based on someone's identity in any aspect of hiring or employment as required by law and in line with our commitment to Diversity, Inclusion, Belonging and Equity. protected by local law. Our</span><a href="https://zapier.com/jobs/zapier-code-of-conduct/"><span style="font-weight: 400;"> code of conduct</span></a><span style="font-weight: 400;"> provides a beacon for the kind of company we strive to be, and we celebrate our differences because those differences are what allow us to make a product that serves a global user base.</span></p> <p><span style="font-weight: 400;">Zapier is committed to inclusion. As part of this commitment, Zapier welcomes applications from individuals with disabilities and will work to provide reasonable accommodations. If reasonable accommodations are needed to participate in the job application or interview process, please contact <a href="mailto:jobs@zapier.com" target="_blank">jobs@zapier.com</a>.</span></p> <p><br><span style="font-weight: 400;">#LI-Remote</span></p>
Sr. Frontend Engineer
NAMER
<p><span style="font-weight: 400;">As Zapier continues to scale our mission to democratize automation, we’re hiring </span><strong>Senior Frontend Engineers </strong><span style="font-weight: 400;">across the org. Zapier’s on a mission to make everyone more productive at work. Zapier has helped millions of people build businesses through the power of automation.</span></p> <p><span style="font-weight: 400;">If you’re interested in advancing your career at a fast-growing, profitable, impact-driven company, then read on…</span></p> <p><span style="font-weight: 400;">We know applying for and taking on a new job at any company requires a leap of faith. We want you to feel comfortable and excited to apply at Zapier. To help share a bit more about life at Zapier, here are a few resources in addition to the job description that can give you an inside look at what life is like at Zapier. Hopefully, you'll take the leap of faith and apply.</span></p> <p><a href="https://zapier.com/jobs/our-commitment-to-applicants/"><span style="font-weight: 400;">Our Commitment to Applicants</span></a></p> <p><a href="https://zapier.com/jobs/culture-and-values-at-zapier/"><span style="font-weight: 400;">Culture and Values at Zapier</span></a></p> <p><a href="https://zapier.com/learn/remote-work/"><span style="font-weight: 400;">Zapier Guide to Remote Work</span></a></p> <p><a href="https://zapier.com/jobs/zapier-code-of-conduct/"><span style="font-weight: 400;">Zapier Code of Conduct</span></a></p> <p><a href="https://zapier.com/jobs/working-on-diversity-and-inclusivity/"><span style="font-weight: 400;">Diversity and Inclusivity at Zapier</span></a></p> <p><span style="font-weight: 400;">Zapier is proud to be an equal opportunity workplace dedicated to pursuing and hiring a diverse workforce.</span></p> <p><span style="font-weight: 400;">Even though our job description may seem like we're looking for a specific candidate, the role inevitably ends up tailored to the person who applies and joins. Regardless of how well you feel you fit our description, we encourage you to apply if you meet these criteria:</span></p> <h2>&nbsp;</h2> <h2><strong>About You</strong></h2> <p><strong>You have 4+ years of experience. </strong><span style="font-weight: 400;">You have at least 4 years of software development building web-based software products.</span></p> <p>&nbsp;</p> <p><strong>You love code. </strong><span style="font-weight: 400;">You love to take raw ideas and build great products with JavaScript, HTML, and CSS. You know JavaScript is imperfect, but you embrace its functional side and genuinely enjoy coding with it. You might like to talk about obscure computer science topics, but really, you just want to write simple code, ship new products and features to customers, and improve existing ones.</span></p> <p><strong>You value collaboration.</strong><span style="font-weight: 400;"> You understand that building modern software is a team sport, and you enjoy working as part of a tight-knit team. You’re happy to pitch in and help the team, whether by reviewing code, pairing on a tricky problem, or just thinking about how to solve the challenges we’re facing.</span></p> <p><strong>You can balance lots of concerns. </strong><span style="font-weight: 400;">Frontend apps have to take into account performance (using networks and devices that we can't control), customer demands, A/B tests, UX research, accessibility, code quality, a rapidly changing ecosystem of languages and modules, and the list goes on. We actually want to ship things too! You can balance those demands without getting overwhelmed and keep the needle moving forward.</span></p> <p><strong>You advocate for the user.</strong><span style="font-weight: 400;"> You have a keen eye for great design, and you’re empathetic to the needs of the end user. When you see users struggling to succeed you take it as a personal challenge to understand why and help the team build a better product.</span></p> <p><strong>You love learning new things. </strong><span style="font-weight: 400;">You love researching new tech and driving forward with the implementation details. Your focus is on frontend JavaScript code, but you can dig in wherever needed. Python, CSS, build tools, shell scripts, you name it. If you don't already know it, you're ready to learn it.</span></p> <h2>&nbsp;</h2> <h2><strong>Things You Might Do</strong></h2> <p><span style="font-weight: 400;">Zapier is a small, fast-growing, and remote-first company, so you'll likely get experience on many different projects across the organization. That said, here are some things you'll probably do:</span></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Research, guide, and execute frontend architecture changes, including but by no means limited to GraphQL, server-side React rendering and TypeScript typing.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Work with stakeholders (other Zapier teams, or external partners) to understand requirements, propose solutions, and build something to help those stakeholders succeed.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Contribute to improving NextJS apps by building reusable React components with modular CSS. Ensure reliable code by leveraging Jest for unit tests and Playwright for end to end testing.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Refactor or improve existing code as languages, frameworks, or techniques evolve. Help the team pick appropriate tools/libraries/frameworks to solve new problems as they arise.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Work closely with our product, design, and UX teams to build new products with intuitive experiences that make it effortless to connect different apps together.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Help put tools, processes, and documentation in place to help us become a better, more effective organization.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Help teach your colleagues new skills, through code review, discussions, mentorship and coaching. Help us all become better engineers and humans.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Ship to hundreds of thousands of users every day while having lots of autonomy in terms of code and feature ownership.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Participate in customer interviews to gain empathy for the user experience and more intuitively design for our customers’ needs.</span></li> </ul> <p><span style="font-weight: 400;">You’ll also have the opportunity to specialize in a variety of areas of the Zapier codebase. Focusing on a specialization will not limit your growth at Zapier as we believe that each engineer brings a unique perspective and can contribute in all areas. We encourage collaboration and will frequently have engineers contribute across teams to assist with projects.</span></p> <h2>&nbsp;</h2> <h2><strong>The Whole Package</strong></h2> <p><span style="font-weight: 400;">Our fully remote, distributed environment enables us to work with awesome people from around the world. Our team members work from 38 different countries. We generally hire based on time zones and try to keep teams together by making sure that every Zapien overlaps with their manager &amp; teammates for at least a few hours a day.</span></p> <p><span style="font-weight: 400;">Zapier offers:</span></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Competitive salary and bonus program</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Equity for All: Stock options (or equivalent) for every Zapien</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Healthcare + dental + vision coverage*</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Fertility and Adoption Assistance</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Retirement plan with 4% company match*</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">$2,000 annual learning stipend for use on courses, conferences, and more—your choice</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Annual all-company retreat</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">14 weeks paid leave for new parents of biological or adopted children</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Customized</span><a href="https://zapier.blueboard.com/"><span style="font-weight: 400;"> </span><span style="font-weight: 400;">Zapiversary rewards</span></a><span style="font-weight: 400;"> on your 1, 3, 5, 7 and 10 year work anniversaries</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Leading-edge equipment. We set you up with an Apple laptop and provide an additional budget for you to choose other home office accessories and software you may need.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Take the time you need to renew. We encourage Zapiens to take at least 10 days off each year. Most of us take 25 days off per year for vacation &amp; holidays, plus whatever sick time we need.</span></li> </ul> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Opportunity to work with</span><a href="https://zapier.com/zapbook"><span style="font-weight: 400;"> </span><span style="font-weight: 400;">Zapier’s amazing partners network</span></a></li> </ul> <p><span style="font-weight: 400;">*While we support Zapiens around the world the best we can, healthcare plans are available in the UK, Canada, and United States. Retirement plans are currently available specifically in the UK, Canada, New Zealand, Australia, and United States. A regional benefits premium is added directly to the salary ranges for team members who are in countries where we do not have entities or provide company-sponsored benefits. When recommendations are made for base salary, the benefits premium has already been factored in.</span></p> <p>&nbsp;</p> <h2><strong>How to Apply</strong></h2> <p><span style="font-weight: 400;">At Zapier, we believe that diverse perspectives and experiences make us better, which is why we have a non-standard application process designed to promote inclusion and equity. We are looking for the best fit for each of our roles, regardless of the type of education or companies in your background, so we encourage you to apply even if your skills and experiences don’t exactly match the job description. All we ask is that you answer a few in-depth questions in our application that would typically be asked at the start of an interview process. This helps speed things up by letting us get to know you and your skillset a bit better right out of the gate. Please be sure to answer each question; the resume and CV fields are optional.</span></p> <p><span style="font-weight: 400;">After you apply, you are going to hear back from us—even if we don’t see an immediate fit with our team. In fact, throughout the process, we strive to never go more than seven days without letting you know the status of your application. We know we’ll make mistakes from time to time, so if you ever have questions about where you stand or about the process, just ask your recruiter!</span></p> <p><span style="font-weight: 400;">Zapier is an equal opportunity employer and we're excited to work with talented and empathetic people of all identities. Zapier does not discriminate based on someone's identity in any aspect of hiring or employment as required by law and in line with our commitment to Diversity, Inclusion, Belonging and Equity. protected by local law. Our</span><a href="https://zapier.com/jobs/zapier-code-of-conduct/"><span style="font-weight: 400;"> code of conduct</span></a><span style="font-weight: 400;"> provides a beacon for the kind of company we strive to be, and we celebrate our differences because those differences are what allow us to make a product that serves a global user base.</span></p> <p><span style="font-weight: 400;">Zapier is committed to inclusion. As part of this commitment, Zapier welcomes applications from individuals with disabilities and will work to provide reasonable accommodations. If reasonable accommodations are needed to participate in the job application or interview process, please contact jobs@zapier.com.</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">#LI-Remote</span></p>
Verified by
Co-founder
You may also like