---
title: "Senior Rails Developer (Contract)"
author: "Jarrod Carlson"
company: "Manheim"
industry: "Automotive remarketing"
location: "Atlanta, GA"
period: "Nov 2015 – Apr 2016"
websites:
  - "https://www.manheim.com/"
tech:
  - "Ruby on Rails"
  - "Sidekiq"
  - "AWS"
  - "OpsWorks"
canonical: "https://builtbyjarrod.com/experience/manheim"
---

# Senior Rails Developer (Contract) — Manheim

Nov 2015 – Apr 2016 · Atlanta, GA

> A vehicle wholesale and auction services subsidiary of Cox Automotive, Inc.

**Summary:** Built SFAPI, a greenfield Rails service brokering post-auction paperwork between Manheim's online platforms and rate-limited AS400 legacy systems — accept fast, queue durably, retry safely. It was still in service six years later.

---

Manheim runs the world's largest wholesale vehicle auctions, and this was my
second tour with a Cox Automotive company — [DealerMatch](/experience/dealermatch.md),
a startup wholly owned by Cox, had been the first. One of Manheim's enterprise architects recruited me
directly; I came in through a staffing agency by choice, as the most senior
engineer on a team of eight: four developers, a dev-ops engineer, QA, a project
manager, and the architect.

## After the gavel

When the gavel bangs on the last vehicle of an auction, the sale isn't done —
titles, paperwork, and post-close details all have to be buttoned up before
money moves. Those processes lived on legacy AS400 systems that scaled poorly
and enforced strict rate limits, while Manheim's fast-growing online portfolio
needed to talk to them constantly. Something had to play mediator.

That something was the **Sale Facilitation API** (SFAPI), which I built
greenfield in Ruby on Rails. Its core design bet: when the caller can't do
anything about an upstream failure, returning an error is pointless. So SFAPI
validated incoming work, acknowledged it immediately with a `202 Accepted`, and
enshrined it in durable storage before handing it to Sidekiq for asynchronous
processing. Temperamental upstream failures retried themselves; jobs that truly
failed could be triaged and replayed later — by a human if necessary — after the
underlying problem was fixed. The front-end stayed snappy, transaction errors
stopped reaching callers, and the customer experience never took the hit for an
AS400 having a bad day.

## Greenfield, done right

Because SFAPI was new construction, we could install modern practices from the
first commit. Manheim still largely lived in a physical data center of racked
servers, with AWS just beginning to spread internally — so we built the service
on twelve-factor principles (a natural fit for disposable virtual servers, and
an approach [my Heroku experience](/experience/springbot.md) had already proven
out), with fully automated
testing and delivery replacing manual release processes, and AWS OpsWorks
automating instance builds and deployments at a time when hand-tended, long-lived
EC2 servers were still the norm.

## The long tail

SFAPI outlived my contract by a wide margin. When I
[returned to Cox Automotive in 2018](/experience/cox-automotive.md), it was still
in service — and as late as 2021 the team that inherited
it was still pinging me for guidance. The relationships lasted too: the
architect who recruited me for this contract rose to Senior Director of
Software Engineering — and he's the one who brought me back to Cox in 2018,
where the team's dev-ops engineer was once again a teammate. Some engagements
end; the good ones keep hiring you back.
