3 Oct 2016

Full-Time Product Engineer


NOTE: This job listing has expired and may no longer be relevant!

Job Description

Things You’ll Do

Zapier is a startup, so you’ll likely get experience on many different projects across the organization. That said, here are some things you’ll probably do:

  • Help scale a fast growing and unique system – our workflow engine connects with hundreds of APIs across thousands of servers
  • Plan and build product features – directly impact how our customers can be more productive
  • Ship to millions of users every day
  • Work with hundreds of different API integrations
  • Give back to the community via open source and blog posts
  • Help customers via support to ensure they have the best experience possible

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 love building new things. Most of what you’ll do each day is guiding, building and maintaining Zapier’s core workflow engine. This is a full-stack position, so you’ll work in the Zapier codebase, backend and frontend tech, our developer platform and more. Zapier is built on Python, Django, React, node.js and AWS. We use modern tools, which means you’ll have the opportunity to work with software like Memcache, RabbitMQ, Zookeeper, Docker, Redis, Jenkins, Puppet, Ansible and much more.

You have worked with teams before on large Python projects. You’re also familiar with frameworks for several languages like React/Backbone.js and/or Django/Flask. You also understand how to design systems in a distributed manner across hundreds (and even thousands) of servers – we deal with 100s of millions of API calls every week and growing fast.

You love shipping to customers. Your engineering projects will focus on understanding customers’ needs and translating those needs from product specs into functional, production ready code. You’ll have the opportunity to ship code daily that will be used by millions of people.

You love doing things efficiently. At Zapier, the work you do 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.

You love learning. Engineering is an ever-evolving world. You enjoy playing with new tech and exploring areas that you might not have experience with yet.

You love to set your own course. You will have a team meeting and a one-on-one meeting every week where you can help direct the course of your projects. You’ll have a direct impact on what we work on next. 

How to Apply

Applying is fairly straightforward, but a bit unique. Creativity is certainly encouraged. To jump start the process, we ask a few questions we normally would ask at the start of an interview. This helps speed up the process and lets us get to know you a bit better right out the gate. Make sure to answer each question, and include all requested resources in order for your application to be considered. Have fun with them. :-)

Complete this form with answers to the below questions.

  1. Tell us about your qualifications for this role.
  2. Tell us about the most difficult API/library/software bug you’ve squashed (we love troubleshooting stories).
  3. Tell us about an engineering solution you’ve built that you’re proud of.
  4. Tell us about the largest deployment you’ve worked on.
  5. Tell us about your favorite technology to work with and why.
  6. Tell us about an industry trend you’re excited about.
  7. Include links to your portfolio/Github profile or provide us with 500+ LOC to help us get a feel for how you write code.
  8. Zapier operates at scale and does some pretty interesting things, rank the following in order from what you’d do best, the first being the best. Disregard priority or importance considerations and focus on your skillset and excitement:

a. build a distributed service that executes 30k untrusted node.js scripts every minute
b. build a persisted cron-like tool to handle dispatching 100k jobs per minute
c. create a real-time system to alert us of subtle or unexpected API misbehavior
d. write a user facing tool that can categorize & diagnose common API issues across 500+ APIs
e. implement a new feature that spans both frontend/backend code
f. build a custom database to help aggregate and analyze hundreds of millions of events per day

  • Optional: Share anonymously some demographic information about yourself to help us better track trends related to the backgrounds of candidates interested in working at Zapier in order for us to build a team that represents the users at Zapier and the broader world population.

Finally, wait for us to reply. We reply to everyone, even if we’re not a good fit.

Job Categories: Engineering. Job Types: Full-Time. Salary: 100,000 and above.

Apply for this Job

Get Your Weekly Dose of Python