Senior Rails Developer & Team Lead
Springbot · Jul 2014 – Oct 2015
My first formal lead role — hired and led the team that automatically listed Magento merchants' catalogs, tens of thousands of SKUs at a time, on the Amazon Marketplace, taking on far better-funded competitors from a seed-stage startup.
Springbot sold a Magento plugin that gave small e-commerce merchants — mostly boutique retailers — marketing analytics, recommendations, and audience segmentation: things like emailing every customer who’d previously purchased on a weekday, automatically, every Tuesday. In 2014, Shopify was only just gaining traction and self-hosted Magento ruled SMB e-commerce, which meant supporting a long tail of Magento versions run by store owners of, let’s say, varying technical competency. When I joined, Springbot was 15–20 people on seed funding working out of an incubator on Georgia Tech’s campus; by the time I left it was 50+ people in a proper office serving several hundred customers.
Listing on Amazon, automatically
The CTO tapped me to stand up a second engineering team, parallel to the core product, for Springbot’s biggest bet: automatically listing a merchant’s Magento product catalog on the Amazon Marketplace. Amazon had a rich API and a minefield of undocumented rules — seller accounts needed special entitlements to list certain categories or brands, and the reasons ran deep (counterfeit fraud was rampant enough that Birkenstock famously pulled off Amazon entirely). Merchant catalogs were their own adventure: one store could carry tens of thousands of SKUs, organized in ways only their owner understood — is that a new SKU, or a variation of an existing one? — all needing normalization to meet Amazon’s listing quality standards.
I architected the pipeline that pulled catalog data from our core system and submitted it to Amazon, and made the tradeoffs that kept the project shippable — like launching with a subset of product categories we knew carried few listing restrictions, and surfacing every Amazon-side rejection to the store owner as a plain knock-list to work through. The result punched far above its weight: very large, very well-funded companies were attacking this same problem with very expensive products, and our working beta was competing in that space at a fraction of the time and cost.
First time leading
This was my first formal lead role, and it started as a team of one. As the project took shape I interviewed and hired the rest of the team — an accomplished backend engineer, a UI/UX developer shared with the core team, and a junior Rails engineer who needed real coaching — and ran our informal scrum. Being a small shop meant nobody graded us on ceremony; I was lead engineer and architect at once, and the job was keeping progress visible and the team shipping.
The stack, and a seed planted
We split storage by shape: PostgreSQL as the transactional store for highly structured data — accounts, billing, email templates, campaigns — and MongoDB as the schemaless home for product catalogs that varied wildly from customer to customer. And everything we built ran on Heroku. This was my first real exposure to it, and the beginning of a conviction — that infrastructure should be somebody else’s product — which carried through Trineo and eventually shaped the platform I built at Cox Automotive.
I left when my contact at Manheim reached out to ask if I was looking. I told him to make me an offer I couldn’t refuse. He did.