Curriculum Vitae

Summary

Software Engineer seeking opportunities to pursue the future of computing via cutting edge technology and overlooked research. Particularly interested in utilizing the intersection of Programming Language Theory and Human-Computer Interaction to make the power of computing better for everyone.

Employment

Senior Software Engineer, DRW Holdings (Reference Data)

April 2020-Present

  • Performing feature development, maintenance and support for dozens of polyglot services (Java, Ruby, Clojure, Python)
  • Leading greenfield development of multiple projects while onboarding team on using functional abstractions in Java
  • Work directly with Reference Data analysts on evolving the firm-wide domain model of financial instruments
  • Led the first Ruby upgrade of firm’s internal Reference Data system in over 5 years with no major production outages
  • Maintained multiple internal libraries for common infrastructural code
  • Migrated build process to containers and began transition of services to Kubernetes

Software Engineer, DRW Holdings (Market Data)

May 2017-April 2020

  • Performed software archaeology to reverse engineer and document a poorly documented but critical system; this provided the firm with the ability to redeploy the system onto new infrastructure and allowed for feature improvements for the first time in years
  • Participated in daily pair programming to upgrade reliability of streaming market data platform as well as onboarding additional exchanges and regularly performing in exchange protocol upgrades
  • Built a custom ETL solution to import data from AWS S3 and allow for analyst defined data overrides with a custom UI written in React
  • Led project to perform scheduled price capture from a variety of external services
  • Performed ground-up rewrite of various services replacing the underlying database technology as well as altering the domain model from first principles
  • Represented department in university recruiting initiative

Senior Software Engineer, OneMain Financial

November 2014-March 2017

  • Built a microservice architecture operating on the Ruby on Rails platform
  • Worked closely with product managers, designers and UI engineers on a consumer oriented
  • Developed secure authentication for API to API communication to keep data safe
  • Built workflow management service that internal users used daily

Software Engineer, Telnyx

July 2013-November 2014

  • First employee who led development team after CTO exit while assuming full stack responsibilities in a startup environment
  • Set up automated deployments (Ansible) and notifications saving developers hours per day and decreasing downtime

Education

Georgia Institute of Technology, M.S., Computer Science, 2016-2017, GPA 3.8
University of Louisiana at Lafayette, B.S., Computer Science, 2009-2013
University of Louisiana at Lafayette, B.S., Mathematics, 2009-2013
Louisiana School for Math, Sciences and the Arts, High School, 2009

Talks

Projects

GRPC based map reduce framework

Built a C++ map reduce library that utilized GRPC for network communication as well as Protocol Buffers for serialization.

N-body gravitational body simulator

Developed a python program to simulate n celestial bodies gravitational attraction over time. Data was then output to visualization software to view paths.

User load testing simulator

Made a clojure application that would simulate user activities in order to provide high throughput load testing to the backend system. Utilized stochastic state machines to generate actions.

Skills

Languages

Proficient: Python, Java 8+, Ruby, SQL
Intermediate: Clojure, Haskell, JavaScript/TypeScript, C++
Beginner: Prolog, LaTeX

Technologies

Docker, Kubernetes, Ansible
Git, Linux, GraphQL, RabbitMQ, Redis

Communities

palatable/lambda: Contributor working on purely functional patterns in Java.Also an active member of the support chat helping teach functional programming and lambda usage to new users.
Malleable Systems Collective: Catalog Curator for community looking into research/techniques of ways to make computing more malleable and accesible to a wider range of audiences.