Senior Rails Engineer
Howdy 👋We’re the folks at Jilt, an email marketing platform built for eCommerce. We help thousands of stores surprise and delight their customers with emails that drive sales. We’re looking for a driven, detail-oriented engineer to join our team and build fast, scalable backend systems in Rails.
You’ll work closely with your teammates on the engineering team to design, create, and refine systems that power the core platform; things like syncing data with external eCommerce platforms, optimizing our sending architecture & scheduler, and analyzing browsing & shopping behavior data. Jilt is built as a traditional Rails 5.2 app, with Postgres & Elasticsearch for persistence, and Sidekiq for background jobs. We use Angular (v1) to power our visual email editor and Vue.js for some areas with a lot of dynamic content, and are actively replacing both with React, so you’ll be able to help architect the APIs that will drive those new interfaces.
While the majority of your time will be spent working on backend systems & features, you’ll also have the opportunity to work on various front-end systems, like fixing a bug with our email editor, replacing a legacy Slim template with a React view, or adding a new feature to our storefront JS.
As one of our senior engineers, the team will look to you for advice and direction. You’ll help shape our best practices, decide on libraries & tooling, and refactor older or underperforming parts of the codebase. You’ll also be responsible for moving your projects forward, communicating your progress and milestones with others, and clearly documenting your work.
Here are some things you may do on a given day:
- Research and write a pitch to improve the performance of our email scheduling system
- Refactor our storage subsystem to abstract how we handle file uploads
- Troubleshoot an issue with our campaign segmentation feature by deep diving into our Elasticsearch cluster
- Analyze a slow SQL query and suggest ways to improve it
- Construct a detailed, multi-step data migration to split an existing model into two, with zero-downtime and including complicated data transformations
- Triage the Sentry queue for any exceptions that need investigation
- Develop a new API endpoint to support updated React components
On the first day you will:
- Meet your team and get familiar with how we work
- Setup your local environment and tooling
- Commit a small tweak to the codebase and ship it to production
In the first week you will:
- Develop, QA, review, and ship a small feature improvement
- Participate in code review for a teammate’s code
- Help a team member with fixing a bug
In the first month you will:
- Work closely with the product team to ship a large feature
- Participate in your first support rotation week and help our support team with escalated issues
- Publish a retrospective on your first large project to share successes & planned improvements for the next project
Who you’ll work with:
- Justin Stern, CTO - You’ll work with Justin to deeply understand our codebase, and learn how the various parts of our systems work together.
- Beka Rice, Head of Product - Beka will help you learn our platform, in detail, and all the ways that our customers use Jilt.
- You’ll also work with the rest of the product & engineering teams (Ivan, Lucas, Jonathan, Wes, Artan, Jared, Chase) to review one another’s work and collaborate on projects.
To succeed in this position, you should have:
- Deep experience & proficiency in Ruby & Rails
- Demonstrated ability to break larger epics out into smaller discrete stories with detailed implementation tasks
- Experience working on the front-end and excitement for combining front-end frameworks like React alongside Rails
- Familiarity working with external APIs (have experience with eCommerce platforms? This is a bonus — tell us!)
You also love data and working with complex queries in SQL, whether as part of ActiveRecord or on the console. You have experience with Elasticsearch, or are excited to learn it, and are interested in the challenges involved with keeping separate datastores in sync. You love keeping up-to-date with the latest best practices and tools, and are constantly tweaking and improving the way you work. You know how to operate a hydraulic press, or least watched a YouTube video about them and think they’re totally rad.
You’re excited to solve engineering challenges in the most pragmatic way possible, and most importantly, you keep the end user in mind and love getting feedback from customers to help improve our products.
Finally, you can’t wait to join a small team that loves their work as much as you do, affords the opportunity to work on challenging & interesting projects, continuously learn and improve, and constantly ship your work. You’re an excellent writer and can communicate effectively whether drafting up a bug report, chatting in Slack, editing a wiki page, or drafting a retrospective. You know that code is about communication and explaining your thought process clearly goes hand-in-hand.
Our team is fully-remote and we communicate primarily through Slack, Clubhouse, Google Docs, Basecamp, and weekly stand-ups via Zoom (a few short meetings) — we believe the best work happens when given lots of uninterrupted time that’s free of distractions.
As a remote team, we believe that regular meetups are invaluable for getting to know each other better, so you should be available for 1-2 company-paid team trips per year. Curious about what those are like? Check out our recap of our last team retreat (SkyTrip), which brought the entire team out to Lake Tahoe, California for a week. It’s a plus if you think (like we do) that bears are absolutely the coolest animals in the forest.
This is a full-time, salaried position, but hours are flexible. We know your work will speak for itself with commits, issues closed, and wiki edits.
After an initial screening, you’ll get an email with a few questions to answer. Following that, you’ll have a few 45 minute phone chats with different people on our team to learn more about you and answer any questions you have about the position and company.
The most qualified candidates will then be invited to complete a short one-day research project. If this goes well, we'll invite you to the final stage of our evaluation process: the trial project. During this ~2 week period, you'll work closely with your future manager, as well as a few other team members, as a paid contractor to implement your proposal from the research project. You'll be welcomed in Slack, introduced to any team members you may be working with, and will have regular chats with your future manager to share feedback and make sure all is going well. This brief trial period is a great way for you to make sure you enjoy the work and the team, and it also gives us an opportunity to do the same. At the end of the period, assuming a great experience for all, you'll be offered a full time position 🎉Then the real fun and full onboarding experience will begin! 😄
Here are some benefits we're happy to offer to our team members:
- Competitive salary
- 27 days of paid time-off, in addition to 2 company holidays (SkyVerge Day in March, Founders Day in June 😀)
- Medical, Dental, and Vision insurance for US and Canadian residents and their families (reimbursements for comparable care for non-US/Canadian residents)
- 401k/RRSP Retirement plan with 4% company match for US/Canadian residents (contributions to comparable plans for non-US/Canadian residents)
- 8 weeks paid parental leave for new mothers and fathers
- Work flexible hours from anywhere that has a reliable internet connection
- Tools (hardware/software) to help you be productive
- Allowance for professional growth (books, courses, conferences)
- Home office or co-working allowance
- A Kindle to help you keep learning
We support workplace diversity and do not discriminate on any protected class. We believe when we work together as a team of different views, experiences, and ideas, we can build amazing things.
Apply now and work remotely at Jilt