Rod Hilton

Staff Software Engineer, Backend & Distributed Systems

Experience

Passionate, hardworking polyglot programmer with a strong CS background and 20+ years applying engineering practices (TDD, CI, SOLID, DRY, YAGNI) to build scalable backend services, web applications, and client applications.


Staff Software Engineer (2024-Present)

Axon

APX architect, building the platform underpinnings of Axon's software offerings with a focus on distributed system resiliency

Staff Software Engineer (2023-2024)

Twilio

Compute interfaces team member, building segmentation and augmentation tools for customer marketing campaigns

Tech Lead, Backend Engineering (2021-2023)

Epic Games

Led backend engineering for Epic Online Services social systems (friends, messaging, parties, clip-sharing).

Staff Software Engineer (2017-2021)

Twitter

Worked on Core Tweet Service and Developer Platform, storing and serving Tweets at global scale.

Principal Engineer (2011-2017)

Spectrum

Cross-Platform team, built Common Services Tier middleware service layer and customer-facing web portals.

Technical Lead (2008-2011)

Broadcom

Agile Lifecycle Management team, developed work and ticket tracking system for scaled enterprise agile adoption.

Education

"Perpetual student" taking supplementary MOOC classes online, attending professional conferences annually, and reading constantly


M.S., Computer Science

University of Colorado

Specialization in Machine Learning, Theory, and Algorithms

B.S., Computer Science

University of Rochester

Focus on Systems

Skills

  • Languages: Java, Scala, Groovy, Go, Python, Ruby, JavaScript, TypeScript
  • Web/API: Spring, REST, Grails, HTML/CSS, AngularJS, SOAP, Thrift, gRPC
  • Data & Storage: Kafka, MySQL, DynamoDB, Redis, CosmosDB, Hadoop, Cassandra, PostgreSQL, Oracle, memcached, hazelcast
  • Cloud/DevOps: Azure, AWS, Docker, Kubernetes, Terraform, Istio, Jenkins
  • Tools: Git, ANTLR, LaTeX, Mathematica, ChatGPT, OpenAI, Copilot, Claude, Cursor, SBT, Grafana

Articles

Below is a collection of assorted writings, a lot of them are from my old blog, "Absolutely No Machete Juggling." Most of the posts are about technology and programming, but odds are you landed here because I once wrote a very long post about Star Wars and it blew up like the second Death Star.


Retro Gaming Setup: A Beginner's Guide

October 2019

Strap in folks, this sucker's over 10,000 words for, like, Mario and stuff.

There Are Great Tools in Your bin/ Directory

June 2019

Every Java developer is familiar with javac for compiling, java for running, and probably jar for packaging Java applications. However, many other useful tools come installed with the JDK. They are already on your computer in your JDK’s bin/directory and are invokable from your PATH

Smart Assholes: A Probing Examination

June 2019

It's better to have a hole in your team than an asshole

Strengths Only: A Peer-Review Philosophy

January 2019

If you can't find a way to phrase your constructive criticism so that it wouldn't offend the recipient, the absolute last person on the planet you should share your poorly-worded feedback with is the person who signs their paychecks.

A Branching Strategy Simpler than GitFlow: Three-Flow

April 2017

Three-Flow has exactly three branches - no more, no less: master, candidate, release.

Software Engineering Guiding Principles - Part 2

June 2016

Here are five more Guiding Principles I use when making technical decisions as a software engineer. You can also check out Part 1.

Software Engineering Guiding Principles - Part 1

June 2016

I find that I repeat myself often at work. There are a handful of things I say so often when discussing decisions that I’ve been called out for it on occasion for acting like a broken record.

Projects

Various public projects I work on from time to time.


Trajectories

Maintainer

A Scala application that uses Linguistic Geometry concepts to quickly compute trajectory positions for chess boards

Rectangle Visibility

Maintainer

Uses Genetic Algorithms to search for solutions to Rectangle Visibility problem

Gobbles

Maintainer

Snake game clone written in Java

Geneticrypt

Maintainer

Extensible framework with CLI and GUI for using genetic algorithms to decrypt messages encrypted with a substitution cipher

console_table

Maintainer

Ruby gem for formatting and printing tabular data in commandline scripts, over 100,000 downloads

JaSoMe (Java Source Metrics)

Maintainer

Zero-compilation Object Oriented Metrics analyzer for Java code, 13 forks on GitHub

Contact

If you have a question, a comment, or want to arrange a time to chat, send me a note.