Jon Eisen
Principal Engineer and Architect
I love to build software that people use to do their jobs. I am an experienced polyglot generalist programmer. I have built everything from high performance embedded computing systems to high scalability web services and distributed systems. I’ve soloed for extended periods and led cross-functional teams. I’ve worked in many industries, but the through-line of my career has been solving problems with technology as a solution.
Functional programming is my preferred style, even in more imperative languages. Defensive design, exhaustive testing, extensive automation, and self-documenting APIs are all habits of mine. I think a programmer’s greatest skill is writing readable code.
Work History
Data Engineering (2016 - Present)
I recently wrote a blog post called Data Engineering Lessons.
Apple | AIML Dec 2019 to Present
- Antero A data inspection tool originally built for my personal understanding of the data. Then, it became a validator of data infrastructure, tooling, correctness, and joinability. Eventually, I transformed it into the premier data-in-development debugging and metrics tool, a “vital” part of shipping Siri On Device. Built in Clojure and Javascript, running Flink ETL, deploying in Kubernetes with helmfile, and storage in ElasticSearch.
Activision | Central Tech Mar 2016 to Dec 2019
-
CWL eSports Analysis Developed and evangelized an eSports data ingestion and aggregation system used in broadcast graphics and data analysis for Call of Duty World League from 2016 - 2019. Leveraged the platform to do advanced sabremetrics research (i.e. develop a win probability model). Built in Node.js and React/Redux with storage in Postgres.
-
Play of the Game Simulation In order to understand potential changes to Black Ops 4’s Play of the Game feature, I built a simulation that matched the game code. We ran the simulation with altered weights on real game data to understand the outcomes of weighting changes before launching to real users. Built in Spark Scala leveraging a Data Lake.
-
Operations Systems Led a team of 3 engineers providing operations for databases and CI tooling. Provided a development, CI/CD, and deployment platform for larger team. Also deployed and supported ElasticSearch and Kafka. Built on Kafka, Kubernetes, helm, and many more tools.
Web and Distributed Systems (2012 - 2015)
Rafflecopter Sep 2013 to Oct 2015
-
Entry Processing System Architected and developed system for processing entries with composable and testable middleware, asynchronous queues, and microservices. Built in Node.js and Clojure with storage in MongoDB.
-
New Widget Redesigned and developed the Rafflecopter Widget (a Javascript embeddable entry form for giveaways on other sites). Built in Javascript and Clojurescript with Reagent.
-
DevOps Orchestration System Built out deployment infrastructure and tooling twice during my tenure. First built in SaltStack. Then rebuilt on early Kubernetes.
Under Armour | eCommerce July 2012 to Sep 2013
-
Recommendations Engine Developed batch-based recommendations engine to replace Omniture on ua.com. Built in python on now-defunct MapReduce framework named Disco.
-
Rendering Improvements At the time, UA used a recursive JSON markup language for site definition with a custom CMS and renderer written in ColdFusion. I made a ton of improvements to page load speed by automating optimizations in the recursive JSON, rewriting some of the renderer, and moving dynamic frontend code into static HTML. Done with ColdFusion, JSON, and Javascript.
-
CI/CD System Built the deployment and CI system for ua.com with IRC Chat-Ops and full Continuous Delivery. Built in Ruby with Capistrano and Python.
Algorithms and High Performance Computing (2009 - 2012)
Northrop Grumman | Electronic Systems May 2009 to July 2012
-
Jupiter RADAR System I was a key developer and debugger for multiple components of this modular RADAR system, running on an embedded high performance system. I helped improve system architecture (in UML), intercomponent communication, and even CI tooling (on ClearCase!). Eventually, I was brought in to debug the SAR (Synthetic Aperture RADAR) algorithm and bring it to program completion.
-
SONAR Algorithm Research Researched High Speed SAS (Synthetic Aperture SONAR), a tradeoff of speed vs resolution. Developed mitigation strategies to achieve consistent resolution in center of image. Developed theory, models, simulation, and adapted into high performance code.
Education
- Johns Hopkins University M.S. Applied and Computational Mathematics Dec 2013
- Georgia Institute of Technology B.S. Applied Mathematics, Highest Honor May 2009