Hiring Senior Ruby on Rails Engineer · Atlanta, GA

Write code that
runs justice in Georgia.

We build Tracker — the case management platform used in every prosecutor's office in Georgia. Real software, real users, real impact. We're hiring engineers who want to build the kind of system that has to be right when the stakes are highest.

What you'll be working on
5.8M+
Total cases
159
Counties served
105
Circuits + SGs
3,383
Active users
Why Riverside

Software that actually matters.

Most software companies are still searching for product-market fit. We have it — and have had it for years. Tracker is the case management platform used in every prosecutor's office across Georgia. The work is consequential, the users are real, and what you build is what ships.

Direct impact

The features you ship are used by prosecutors, advocates, and investigators on real cases — the day they ship. No abstraction layers. No unclear users.

Long-term focus

No pivots, no churn, no acquisition deathmarch. We've been building Tracker for years and we'll be building it for years more. Engineers stay.

Real ownership

You'll have ownership and visibility from day one. Decisions are made in conversations, not committees. If you ship great work, everyone notices.

Open roles

Currently hiring.

One role open right now. We hire deliberately — when you join, it's because the team needs exactly what you bring.

About the role

You'll be a senior engineer on the team that builds and maintains Tracker. The codebase is a mature Ruby on Rails application — millions of cases, thousands of daily users, and XML-based data exchanges with state criminal justice systems. You'll work end-to-end: domain modeling, integrations, performance, UI, and the steady stream of refinements that come from being in close contact with the people who use the software.

This is a senior role. We expect you to have opinions, disagree well, and bring craft to the codebase. We'll listen.

What you'll do

  • Design and ship features in Ruby on Rails end-to-end — controllers, models, views, tests, deployment.
  • Maintain and evolve a mature, large-scale Rails application. Expect refactoring, careful debugging, and the kind of judgment that knows when to leave well-running code alone.
  • Work directly with real users — prosecutors, investigators, victim-witness staff — to understand what the software actually needs to do.
  • Build and maintain data exchanges with state and federal systems: GCIC, JDX, Pardons & Parole, court e-filing (CJEP). Most are XML; some are real-time.
  • Modernize legacy patterns at a sustainable pace — moving toward Hotwire / Turbo / Stimulus where it earns its keep, leaving solid existing code in place where it doesn't.
  • Code review, mentor more junior engineers, and contribute to the team's technical direction.
  • Be on call for production issues (rare, but real — when something breaks, prosecutors notice).

What you should have

  • 10+ years of professional Ruby on Rails experience, with depth — you can navigate a large Rails codebase without a map.
  • Strong grasp of relational databases and SQL fundamentals. You've optimized real queries and you understand indexes.
  • Experience designing and maintaining APIs and data exchanges — REST, XML, batch jobs, idempotency, error recovery.
  • Solid testing discipline — RSpec or Minitest, plus an instinct for what's worth testing and what isn't.
  • Comfort with mature codebases. Some of Tracker pre-dates a lot of modern Rails idioms. You can evolve it without rewriting it.
  • The ability to talk to non-engineer users and translate what they need into software that fits their work, not the reverse.

Bonus points for

  • Background in criminal justice, legal tech, or government software — you'll get up to speed faster.
  • Experience with Hotwire / Turbo / Stimulus — we'd like to use more of it where it fits.
  • Experience with CJIS-regulated environments or other compliance-heavy data handling.
  • A track record of legacy modernization — porting jQuery to Stimulus, ERB to view components, that kind of thing.
  • Open-source Rails contributions, public-facing writing, or a project you're proud to send.

How to apply

Send a resume and a short note about a Rails project you're proud of to careers@riverside.net. Tell us what you built, what was hard about it, and what you'd do differently now. We read everything.

How we work

A focused team, on a long mission.

The day-to-day shape of the work. None of this is aspirational — it's how we already operate.

01

Real users, on real cases

You'll talk to the people using Tracker. Not customer success teams, not personas — actual prosecutors, advocates. The closer you are to the work, the better the software gets.

02

Ship steadily, not heroically

This is software people depend on. We move at a pace that lets us be careful, test thoroughly, and stand behind what we ship. No artificial urgency.

03

Code review is a conversation

Every PR gets read by another engineer. Reviews are about understanding, not gatekeeping. We disagree on substance and let go of style.

04

The codebase has history — and that's OK

Some of Tracker is older than some current Rails idioms. We modernize where it earns its keep. We don't burn things down because they're old.

05

Domain knowledge compounds

The longer you're here, the more you understand criminal prosecution as a system — and the better the software you write. We invest in that growth.

06

Quiet wins

The best version of this software is one nobody notices. It just works. That's the standard we aim at — and it's deeply satisfying to hit.

Sound like you?

One email, one resume, one short note about something you've built. We'll get back to you within a week — usually faster.