Senior Back End EngineerRole has been filled by a talented individual
CallRail is a marketing technology company. We help data-driven businesses understand which of their marketing campaigns are driving phone calls, how those calls are handled, and how those leads convert into customers. Many of our customers are small, locally-owned businesses, and CallRail’s tools help them compete in an increasingly crowded marketplace. In a nutshell, we provide smart, agile marketers the information they need to make better decisions about how to make their phone ring.
Our product is a no-contract self-service SaaS application, which means we have to earn our customers’ business every single month by providing them real value. It makes us a product-focused company comprised of people who yearn to build best-in-class software.
About the Core Services Team
The Core Services team’s mission is to ensure the scalability, reliability, and performance of the CallRail platform. Our team extracts services from our monolith based on scaling challenges we foresee in the near future. We often work on greenfield projects, benchmark performance characteristics, and plan for smooth migrations to new services.
Some recent projects the team worked on:
- Reduced database load by 70% by extracting the portion of our monolith that tracks page views across customer websites to a new service. In doing so we seamlessly moved hundreds of requests per second to the new system.
- Extracted a service to route thousands of concurrent phone calls, making it geographically redundant to guarantee call uptime. The new service fully isolates this part of our platform so that it can continue to operate even if other systems experience outages.
- Designed a new service to track user behavior with a goal of tailoring our application for an optimal user experience.
We are looking for a strong backend developer to join the team. Our customer base is growing rapidly -- come help us build the services to support CallRail’s future.
What You'll Do
- Build great software. We take pride in the work that we do and how that work helps our customers. Our goal is to build so far superior to any alternatives that customers have no reason to consider anything else.
- Provide technical leadership. By making solid technical decisions, sharing your knowledge and expertise, and helping your colleagues improve their designs, you’ll level up the entire team.
- Prioritize delivering value for our customers. You'll focus on finding the smallest chunk of work that will help solve a problem. You’ll aim to deploy something useful with each iteration, if not more frequently.
- Communicate well. You'll explain your design choices and technical approaches clearly to your team members, and seek feedback to build a codebase we all enjoy contributing to. You’ll keep engineering leadership apprised of important developments on your team, and areas needing attention when appropriate.
- Be a good teammate. You'll be helpful, open-minded, and collaborative. You'll help support your teammates and ensure they feel included and valued.
- Learn. Regardless of your level of experience or seniority, you'll work to improve your skills and learn more about our customers and their needs.
We require you be willing and able to do all of the things in the previous section. Beyond that, there are a handful of things that may make you a better fit. We'll consider candidates who don't check all of these boxes. If you've got analogous experience or a track record of being able to pick things up quickly, please tell us in your application!
Experience with the following would be helpful:
- Writing web applications with an MVC framework, especially in Ruby on Rails.
- Writing and working with tests, especially in RSpec.
- Creating prototypes and proofs-of-concept to reduce uncertainty and risk.
- Building Software-as-a-Service platforms. Especially for small and medium-sized businesses.
- Writing software where security and regulatory compliance are critical.
- Refactoring systems to perform well at scale while still being readable and easy to maintain.
- Reviewing code in a way that empowers your teammates while improving our codebase.
- Mentoring and coaching other engineers.
Technologies and Tools We Use
- Ruby, Rails, Sidekiq, and Rspec
- Postgres, Redis, and Elasticsearch
- Twilio and other telephony providers
- DataDog, HoneyBadger, Code Climate, and Semaphore
- GitHub, Slack, and Target Process