Justin Miller

Contact Info:

E-mail: justinrmiller@gmail.com

GitHub: justinrmiller


Senior Platform Engineer, ProtectWise; Denver, CO — August 2015 - Present

  • Broski - Took over and expanded a stream processor which consumes observations/netflows and produces events and observations after applying rules defined using either a custom DSL or classes containing the logic.

  • Odin - Built a data warehouse built on Spark (2.x), Kafka 0.10, Parquet and Amazon EMR. The system processes all of our netflow, observation and event messages and stores the data in S3 in Parquet w/Snappy compression. Currently storing over 1 billion netflows per day compressed to ~ 100 GB/day. Deployed in production using a combination of shell scripts and AWS EMR (Spark 2.x, EMR 5.x). Data is retrieved via spark shell using Spark SQL. As files finish processing their metadata is sent to SQS for consumption by downstream reporting processes.

  • Canary - Built a netflow, observation, and event emitter built in two parts, a loader and a publisher. The loader scans through cages and produces at regular intervals defined in the cages netflows, observations and/or events into redis, which is then read from by publishers to publish messages onto kafka. This allows for the easy prototyping of messages for consumption by the UI. UI developers can start their development much sooner in the process while the platform figures out how to actually produce the messages.

  • Arbiter - A customer/sensor policy management service written in Scala using Finagle and Thrift. Kicked this project off and continue to work with another developer on maintaining it in production. The project seeks to unify customer/sensor policy information in the platform.

Senior Software Engineer, CJ Affiliate; Santa Monica, CA — December 2014 - August 2015

  • Refactored and extended search API service for elasticsearch written in Scala

  • Built and styled React components (Table, Money, etc.) as well as introduced the usage of off the shelf UI components such as amCharts

  • Improved and maintained back-end web services, worked on both front-end and back-end, written in React (front-end) and Java/Hibernate/Spring MVC (back-end)

  • Extensive experience with Test Driven Development (TDD), pair programming, continuous integration

  • Built a monitoring solution for builds using a Raspberry Pi to provide immediate feedback on the effects of commits on the build and the status of various teams’ branches

  • Assisted in the migration away from Perforce to Git by writing documentation for developers

Senior Software Engineer, eHarmony; Santa Monica, CA — July 2013 - November 2014

  • Lead back-end developer on Elevated, a job searching platform, which consists of a service-oriented architecture written in Java with Dropwizard, Kafka, Elasticsearch and memcached as key technologies

  • Improved and maintained Scorer Service, a Java based service that computed scores based on predefined models

  • Built a next-generation Scorer Service that could take arbitrary Protocol Buffer or JSON input and produce scores. By passing the data into the service as opposed to looking the data up from inside the service, the number of requests per second a server could handle rose dramatically

Software Developer, SteelHouse; Culver City, CA — January 2012 - July 2013

  • Designed, implemented, and maintained the back-end for a social network (Honeycomb) as a service-oriented architecture using Scala, Finagle and Cassie

  • Designed and implemented a load balanced CDN origin with image processing capabilities (image data written from three data centers around the globe). Built on Java, Jetty, Cassandra and Hector

  • Implemented new features for an ad server based on Java and Jetty

Software Developer, NISC; Lake Saint Louis, MO — May 2009 - December 2011

  • Support and development programming for accounting and utility billing software written in Java designed around a three-tier architecture with an Oracle database

  • Mentored new hires on Ant, Subversion, IDEA and the general structure of the Java code


  • APIs and Libraries: Guava, Guice, Spring
  • Application Servers/Platforms: Dropwizard, Grizzly/Jersey, Finagle, Jetty, Node.JS, Spring Boot
  • Build Systems: Ant, Maven, Sbt
  • Cloud Platforms: AWS, Digital Ocean
  • Databases/NoSQL Datastores (DB Interfaces): Elasticsearch (Jest, Java native client), MongoDB, PostgreSQL (Spring, JdbcTemplate, Python Psycopg), Oracle (SQL*Plus, JDBC, Hibernate), Cassandra (Cassie, Hector), Redis (Jedis)
  • Front-end: React
  • IDEs: Atom, IntelliJ IDEA, Visual Studio
  • Operating Systems: Linux, Mac OS X, Windows
  • Programming Languages: C, C++, Java, Javascript, Python, Rust, Scala
  • Serialization: Protocol Buffers, Thrift (Scrooge)
  • Source Control and Documentation: Git, SVN


Missouri University of Science and Technology, Rolla, MO - MS CS, 2009

Missouri University of Science and Technology, Rolla, MO - BS CS, 2006