Education
August 2000 - May 2005
- Cooperative Education Program
- University Scholars Program
- Magna Cum Laude
Languages & Technologies
- Python
- Go
- C
- Objective-C
- C++
- JavaScript
- SQL
- HTML
- CSS
Experience
Software Engineer at Formlabs
July 2017 - Present
- Developing software and algorithms for 3D printing applications.
Staff R&D Engineer at Kitware
June 2016 - July 2017 1 year, 1 month
- Developed a new dashboarding system using Google Cloud Platform (GCP)
technologies including App Engine, Datastore, and BigQuery. The system helps
developers track the performance of their VR/AR algorithms against a large
set of test cases recorded from mobile devices.
- Wrote pure Python code for parsing rosbags, a file format used in the
Robot Operating System (ROS).
- Created a web-based DICOM viewer for exploring medical imagery in the browser.
- Implemented the UI and backend for a fluoroscopy analysis application.
- Improved integration between ParaView and OSPRay, which adds ray-tracing
capabilities to Kitware's scientific visualization application.
- Implemented several plugins to add functionality to Girder, a data management
platform created by Kitware.
Senior Software Engineer at TransLōc
November 2013 - May 2016 2 years, 6 months
- Developed the entire backend for an on-demand transit platform.
- Developed an OSM router to estimate driving times between any two points.
- Developed an algorithm to match passenger and vehicle locations to determine
when mobile users are using transit.
- Developed the backend for a web-based transit planning product that shows
how passengers use transit and move around within a city.
- Developed an algorithm for dynamically scheduling and routing vehicles.
- Measured the accuracy of TransLōc's arrival predictions. Uncovered
potential issues and possible improvements.
- Parsed and aggregated automatic passenger counting (APC) data to derive
several metrics useful to transit agencies including: total ridership, cost
per passenger, most used stops, etc.
- Developed a functional prototype of a transit analytics dashboard.
- Analyzed huge database of passenger geolocation data to discover patterns in
transit system usage.
August 2008 - November 2013 5 years, 3 months
- Developed the Assay Development Environment (ADE), an application that...
- Allows users (biochemists and engineers) to develop programs for
microfluidic devices by building drag-and-drop flow-charts instead of
writing code.
- Is used daily by dozens of co-workers to develop, simulate and run
experiments.
- Includes sophisticated algorithms for compiling diagrams into runnable
code, synchronizing droplet operations, compressing programs,
visualizing simulations, etc.
- Developed Spot Logic, an application that...
- Is the software portion of a product used to test newborns for several
genetic diseases.
- Was deployed in Illinois and Missouri for newborn screening.
- Developed "The Fridge", a web application that...
- Records metadata and results for experiments in a centralized database
(over 20,000 runs).
- Includes a sophisticated web interface for viewing and managing data.
- Developed a touch screen user interface for a DNA sample preparation
instrument.
- Developed an application that utilized an XYZ stage and a USB camera to
optically validate cartridges manufactured in-house.
- Developed a web application with a desktop client for performing QC tests
on disposable cartridges and recording the results.
- Developed a web application for managing product keys for activating our
software.
Software Architect & Project Manager at TopCoder
July 2005 - May 2008 2 years, 10 months
- Developed the grammar for a proprietary scripting language and designed the
software to parse, validate and interpret these scripts in both live and
historical stock market contexts.
- Designed a virtual trade engine to simulate order executions by processing
stock market feeds and a real-market trade engine to forward orders to live
exchanges.
- Developed several utility applications including:
- Software to monitor systems and email administrators in the event of
failures.
- Software to generate statistical and administrative reports and charts.
- Optimized database tables and procedures as necessary to improve performance.
- Designed a web-based survey application.
- Developed an internal tool for tracking upcoming TopCoder competitions.
Programmer (student / co-op) at IBM
January 2004 - June 2005 1 year, 5 months
- Designed and developed a flexible software framework to reduce the time and
effort required to create industrial automation solutions.
- Built a simulated oil pipeline to visually demonstrate the capabilities of
our platform.
- Received an individual evaluation of "Outstanding" after completing the
Extreme Blue internship program.
- Developed a web-based app for monitoring traffic on a topic-based messaging
framework.
- Developed and tested an AOL "channel adapter" using the TOC protocol to
enable the INS product to send notifications to instant messenger users.
- Developed software on top of IBM's evolving RFID platform which was heavily
influenced by the results of my prior Extreme Blue project.
- Implemented a "Dock Door Receiving" demo to showcase IBM's RFID platform.
- Created an interactive, SWT-based user interface for the demonstration.
- Developed a servlet-driven webpage for ordering new inventory from a virtual
distribution company for the demonstration.
- Helped create an application using the Eclipse RCP framework for viewing
virtual inventory and shipments for the demonstration.
Programmer (student / co-op) at REM Services
January 2002 - August 2003 1 year, 7 months
- Developed a web page to display real-time weather data collected on-site.
- Developed COM-based software to retrieve data from the DeltaV process
control system for use in other software.
- Developed Pocket PC software to assist execution of hardware test
procedures.
- Designed and developed software to wirelessly integrate Pocket PC devices
with DeltaV systems, allowing operators to access data previously available
only on desktops.
- Developed software to generate documentation from DeltaV configuration files.
- Developed a website to showcase in-house software and demos.