Senior Ruby/Rails Engineer - remote

Churn Buster
Posted 2 years ago
About Churn Buster and the position

Churn Buster is the leading subscriber retention platform for eCommerce, solving churn problems since 2013.

We’re a small, distributed team, trusted by some of the biggest brands in eCommerce including Athletic Greens, ButcherBox, NATIVE, Black Rifle Coffee and more.

With over $5 billion in subscription revenue under management, our commitment to quality drives results that speak for themselves—our growth is driven by enthusiastic referrals.

Your role will be to maintain that quality, and innovate the future of our product, ensuring that Churn Buster remains the premium option in a competitive, niche market.

You’ll be working closely with our lead engineer, Scott Albertson, strategizing updates and iterating quickly.

Here are some examples of past projects to give you an idea what the position entails:

  • Integrate with Recharge and Shopify to process all incoming webhooks related to failing payments.
  • Build support for sending SMS using Twilio's Programmable Messaging service.
  • Track down memory issues in Ruby and tweak Sidekiq worker settings to avoid hitting limits.
  • Simplify signup flow based on customer feedback and known pain points.
  • Investigate slow Postgres queries and introduce helpful indexes without locking large tables.
  • Convert all integration tests from PhantomJS/Poltergeist to Selenium and headless Chrome.
  • Write a JavaScript library that customers can use to embed our card update page in their app.

About you

You’ve been working with Rails for years. You love how fast you can move with it, but you also know when to head in the opposite direction of the Rails way. Using POROs, Rails Engines, and event publication/subscribing doesn’t scare you, and you see the benefits when working with a large codebase.

At the same time, you know where to draw the line. Working for a small company, you know how important growth is, and you work to identify 80% solutions to close loops, and move on to the next challenging problem to solve.

You’ve worked heavily with APIs and Webhooks in the past. You understand idempotency, error handling, race conditions, and you’ve witnessed first-hand what can go wrong when careful planning doesn’t go into system architecture.

You write tests and practice TDD, but don’t overcomplicate the codebase in the name of faster tests or 100% coverage.

You enjoy writing documentation so that customers, teammates, and future-you don’t have to use those darn brains to figure out already solved problems.

And you’re not afraid to jump into Slack with customers to help ensure their integration or experience is going smoothly.

We’re at our best when we’re solving hard problems for customers, and you take pride in being a part of that.

Benefits

Our small team is 100% remote. With Churn Buster you will have a generous vacation policy, competitive pay, annual profit sharing, 401k w/ up to 4% match, and 100% covered, Gold medical and dental insurance for you and your family.

How to apply

Send us your contact information and answers to the following questions:

  • Can you use git to do work in a branch, and then rebase and squash into the main branch?
  • Can you build production web applications in Ruby on Rails and deploy to Heroku?
  • Can you identify and fix pages in a Rails application that are slow to respond?
  • Do you regularly practice test-driven development?
  • Are you comfortable with JavaScript and have opinions about when to use a third-party framework?
  • Do you know SQL, including what GROUP BY and LEFT JOIN do?
  • Can you create and prioritize a backlog of features?
  • Last but not least, what are your favorite software development books?
  • These aren't meant to be in-depth, just a few questions to help us find the right fit.

    Our interview process consists of a few steps, but the entire process should move fairly quick.

    • Two short (30 minute) intro conversations in Slack.
    • A longer (60 minute) technical interview call. No tests or traversing binary trees, we promise.
    • Finally, an hour or two of pair programming. That's it!