Experienced Ruby on Rails Developer - remote

Spark Real Estate Software
Posted 2 years ago
We Work Remotely
About Spark

Spark is a real estate software company, leading the new development industry in digital sales, marketing and management solutions. We work with developers, project marketing firms and new development oriented brokerages in over 80 cities globally.

We recently closed Series A financing and are looking to scale up our development team, which currently consists of 8 developers with varying experience.


The Stack

The Spark CRM is a monolithic Rails application that’s roughly 10 years old. It’s running on Amazon Web Services and backed by a PostgreSQL database. We use Ansible to manage our infrastructure and Capistrano to deploy.

We’re running Rails version 6 and recently upgraded to version 3 of Ruby. We like to prioritize software and infrastructure updates on a regular basis and we’re in the process of upgrading Rails to version 7.

We use Redis and Sidekiq Enterprise for background jobs, and Mailgun for sending transactional and marketing emails.


The Challenges

The Spark application is more than 10 years old, and as such has undergone several iterations. We have large parts of the code base that require refactoring and a lot of technical debt to clear up. We’re committed to providing the team with the time they need to work through this refactoring sensibly and hope this is a challenge you will welcome.

We’re in the early and exciting planning phase of a site-wide redesign, and we’re onboarding more clients each month than ever before. With clients comes data, and we’re quickly learning that parts of our code base need optimizing to ensure the UI remains fast and the UX intuitive.

Here are some of the tools we have built and maintain for our customers:
  • A custom WYSIWYG email builder we call Carpenter
  • Custom reporting
  • Inventory and Contract management, including writing PDFs, signing documents and building custom contract workflows
  • A robust import and export system
  • A REST API
  • Scheduled mass-marketing emails
  • Custom lead-registration forms

About You

We’re looking for someone with the following skills:
  • You are an excellent communicator and are comfortable working partially or fully remote
  • You have experience working with mid-size Ruby on Rails applications
  • You have experience mentoring developers of varying experience levels
  • You are empathetic
  • You have a keen attention to detail
  • You’re confident discussing and planning large architectural changes
  • You’re comfortable asking questions. We work in a complex industry with complicated processes
These skills would be desirable:
  • You have experience writing and optimizing code for performance. You know where to look and how to measure the impact of a change
  • You are comfortable managing infrastructure. We’re looking to employ a DevOps team in future, but for now we manage this ourselves in Ansible
  • You have experience with Hotwire/Stimulus. We don’t use a large frontend framework and prefer to write backend code supplemented by small snippets of JavaScript
  • You are comfortable working with large datasets (tens or hundreds of millions of database rows)

Benefits
  • Salary in the range of $120-140k CAD / £70-80k GBP
  • Yearly bonuses
  • Stock options
  • A 13” MacBook Pro or equivalent of your choosing
  • Flexible work hours, including when you start and finish your day. All we expect is some overlap with usual PST/BST working hours
  • Access to our spacious 5,500 sqft Yaletown office in downtown Vancouver, or occasional trips if you’re remote

Apply

Send an introduction email to lee+careers@spark.re — you can attach a CV/Resume, but we’re mostly interested in a well-written cover letter.

If we like your application, you’ll be invited to participate in a coding exercise. This is a take-home exercise that should take no more than a few hours to complete. We also understand you may want to have a chat with us first to see if we’re a good fit for you. We can arrange that!