Summary
Overview
Work History
Skills
Select Open Source
Timeline
Generic
Trevor Hartman

Trevor Hartman

Montana (Remote)

Summary

Growth-minded Principal Software Engineer with 25 years experience building apps, services, and cloud infra across diverse languages and technologies. Obsesses over the details.

Overview

15
15
years of professional experience

Work History

Principal Software Engineer

Prophet Town
06.2024 - Current
  • Set technical standards for a 30-person software engineering consulting agency.
  • Led technical projects for a variety of tech companies, including project management, customer relationships, weekly syncs, and overall execution.

Senior Staff Engineer

Carta
08.2020 - 05.2024
  • Lead and managed the Developer Experience team within the Platform Infrastructure organization
  • Designed a self-service Internal Developer Platform to enable Carta's 300 product engineers to effectively utilize the vast array of systems that make up Platform Infrastructure without needing to become experts in cloud infrastructure
  • Took ownership of existing cloud infrastructure for a highly regulated FINRA-compliant product space as the sole SRE for CartaX, and helped build out a new team to support it

Senior Member of Technical Staff

eBay
09.2017 - 07.2020
  • Built and documented new features such as GitHub, Jira, and PagerDuty integration for Yetibot, used by teams across eBay in our 10,000-person Slack instance
  • Gave a talk on Yetibot at Clojure/north in Toronto
  • Ran a Clojure workshop at eBay's San Jose campus

Founding Software Engineer

Lab79
02.2017 - 09.2017
  • Designed and built foundational infrastructure, Clojure services, and ClojureScript frontend apps for an early-stage Electronic Health Records (EHR) startup in the heavily regulated medical space
  • Created an expressive, schema-agnostic Authorization solution for Datomic Datalog, mirroring the shape of Datomic Pull queries to protect patient data with support for arbitrarily nested collections in Clojure
  • Designed and built secure, HIPAA-compliant cloud native infrastructure on Google Cloud Platform using Terraform, Kubernetes (GKE), Helm, Vault, and Docker

Member of Technical Staff

eBay
08.2013 - 02.2017
  • Contributed foundational features to a Scala-based horizontally-distributed columnar in-memory data store supporting sub-second, complex aggregations on top of hundreds of billions of listings
  • Developed distributed partitioning functionality using ZooKeeper and Ketama consistent hashing
  • Developed real time coordinated consumption of Kafka streams to support automatic failover while ensuring no messages were lost in a near-real-time ingestion pipeline
  • Added support for SQL queries using Apache Calcite and compiled queries

Front End Tech Lead

Decide.com
Seattle
01.2011 - 08.2013
  • Built the front end of Decide.com from scratch, heavily utilizing Backbone.js for client-side interaction and rendering with shared client and server side Mustache templates
  • Introduced Scala to the engineering organization and lead migration of server-side code from legacy Java to Scala
  • Lead migration of the Decide.com front end from legacy Spring-based web app to Rails with JRuby to facilitate faster product iteration and experimentation
  • Created engineering standards for coding conventions, documentation requirements, communication between developers, code reviews, and technical decisions

Skills

  • Engineering leadership
  • Developer experience
  • Distributed computing
  • Functional programming
  • Modern cloud infrastructure
  • Container orchestration
  • Clojure and Scala
  • TypeScript and React
  • API design
  • Microservices architecture

Select Open Source

  • Yetibot is a chatops platform written in Clojure. Originally started as a way to learn Clojure in 2011, it served as the entry into the Functional Programming rabbit hole, including ongoing discovery of Haskell, Unison, and Category Theory. Yetibot continues to be actively developed over a decade later.
  • dec is a library written in Clojure for handling environment config. It builds arbitrarily nested data structures from simple KV strings.
  • lein-inferv is an opinionated way of inferring a strictly increasing version from the current date, time, and git version for Leiningen projects.

Timeline

Principal Software Engineer

Prophet Town
06.2024 - Current

Senior Staff Engineer

Carta
08.2020 - 05.2024

Senior Member of Technical Staff

eBay
09.2017 - 07.2020

Founding Software Engineer

Lab79
02.2017 - 09.2017

Member of Technical Staff

eBay
08.2013 - 02.2017

Front End Tech Lead

Decide.com
01.2011 - 08.2013
Trevor Hartman