Education
Graduation: 12/2013
Washington University in St. Louis
Bachelor of
Science with a Major in Computer Science
Second major in
Applied Mathematics
Technical Skills
Languages: Java, C/C++, Python, C#, Ruby, bash
Web languages: JS, Node, HTML/CSS, XML
Technologies: Docker, PubSub, Redis, RXJava, No/Sql, GCP, AWS, Azure, Dropwizard, Chef, Nginx/Apache, Django, websockets
Software: Mac, Linux
Publications
Heliometric Stereo: Shape From Sun Position.
A. Abrams, C.
Hawley, and R. Pless.
In Proc. European Conference
on Computer Vision, October 2012.
Shadow Estimation Method for "The Episolar Constraint: Monocular
Shape from Shadow Correspondence"
Austin Abrams, Chris
Hawley, Kylia Miskell, Adina Stoica, Nathan Jacobs, Robert Pless
arXiv preprint arXiv:1304.4112, 2013.
Experience
Staff Software Engineer, Meta
Summer 2022 - Present
- Ads Indexing & Retrieval - Service Foundations, supporting and improving some of the largest systems at Meta
- Built core frameworks that improved service reliability & developer efficiency across large, complex systems
- Devised, planned, and executed long-term, complex projects requiring multiple engineers across many teams
Senior Software Engineer, Facebook
Summer 2020 - Summer 2022
Software Engineer, RADAR
Summer 2017 - Summer 2020
- First backend engineering hire, initially responsible for backend, DevOps, infrastructure, IT, and networking projects
- Team lead of 3 backend engineers, including myself
- Gathered requirements, designed, and implemented backend architecture and APIs
- Retail Operations System - Distributed, highly fault tolerant service that managed all aspects of Retail Operations, incorporating both cloud and on-premise nodes
- Sensor Network Management System - Performant system that managed a network of sensors, including software configuration, updates, hardware reboots
- Access Point and Configuration Service - Service would provide aggregated configuration to an on-premise device given an identifier
- Participated in all technical meetings with customers (3 global retailers)
- Gathered requirements, planned, and designed systems to integrate with retailer's backend/data systems
- Gathered requirements, designed, and implemented on-premise and in-cloud IT infrastructure and networks
Software Engineer (Backend, Ad Tech), Spotify
Summer 2015 - Summer 2017
- Helped lead effort to redesign and build a new backend ad stack, exposing a simple ads api which allows any
client to retrieve well-structured ads for specific users. This new system removed the need for
complex parsing and business logic in the client.
- Helped lead effort to make our ad decisions "smarter", by creating a system that chooses or replaces
ads shown to the user based on optimization functions.
- Implemented capability to record impressions in real time, lowering time to discover and diagnose problems or bugs from
hours to seconds.
- Mentored new full time hires and interns
- Modernized many components of the legacy backend ad stack by utilizing new Java 8 concepts.
Software Development Engineer II, A9.com
(an Amazon company)
Winter 2015 - Summer 2015
Software Development Engineer I, A9.com
(an Amazon company)
Winter 2014 - Winter 2015
- Lowered time it takes for a product to be searchable in
our Image Matching system from 48 hours to less than 12 hours by
designing a system that retrieves, normalizes, and handles
real-time updates from the Amazon product catalog.
- Co-designed a mostly automated data acquisition and
ground-truthing system that acquires annotated images from
various sources, such as a mobile device, and then automatically
validates the images using MTurk.
- Increased flexibility of searchable items in our catalog
by augmenting our existing Image Matching system to include the
concept of "Apps", where each available app contains a different
set of images and will be queried in parallel. This augmented
system is being used in a very large-scale production setting.
- Mentored interns and new hires
Software Development Intern, A9.com (an Amazon company)
Summer 2013
- Implemented system to transfer large Lucene indices using
BitTorrent from a Master Node to numerous Slave nodes.
- Integrated BitTorrent into Solr for index replication –
this was all done using Java and required an in depth knowledge
of the design and architecture of Solr, which I learned very
quickly.
- Compared performance between using Solr built-in index
replication and using the BitTorrent component.
- Documented all work and results and presented project at
a Tech Talk.
Washington University in St. Louis - Research Assistant
Summer 2012
- Used manifold learning to produce an intuitive
visualization of a beating Zebrafish heart
- Researched methods to detect shadows in images which were
taken by static, outdoor web-cameras
- Maintained and improved two current websites (Full stack)
Washington University in St. Louis - Research Assistant
Summer 2011
- Developed an algorithm that produces smooth time-lapse
images of long image-sequences
- Maintained and improved two current websites (Full stack)
- Increased efficiency of a very large dataset be
implementing vertical partitioning
- Created an academic poster to demonstrate time-lapse
algorithm and other research
Balance Innovations, LLC. - Software Development Intern
Summer 2010
- Developed a database dependent application in C# to
improve efficiency of Sales Department
- Led meetings to demonstrate product functionality
Additional Experience
Teaching Assistant, Programming Systems and Languages
Fall 2013
- Graded lab projects, assisted in lab portion of class
Teaching Assistant, Object Oriented Software Development
Laboratory
Fall 2012 / Spring 2013
- Graded lab projects, assisted in lab portion of class
Teaching Assistant, Discrete Mathematics and Logic
Fall 2011
- Graded homeworks and exams
- Held weekly office hours to help students better
understand course material
Teaching Assistant, Computer Science I
Fall 2010
- Graded homework and quizzes, assisted in lab portion of
class