Employment History
Soar Technology (2012 to present)
Senior Software Engineer
- Identify and develop project requirements based on customer desires and needs.
- Design and build software components according to requirements.
- Identify, design, and build tools and libraries that solve recurring problems.
- Mentor engineers on tools, libraries, development practices, etc.
- Assist in proposal development (concept development and technical guidance.)
United States Air Force (2006 to 2012)
Subsurface Operations Monitor
- Manage shift personnel.
- Provide technical support for worldwide data collection and analysis systems.
- Analyze, report, and escalate significant event detections.
Senior Data Analyst, Subsurface Operations
- Perform analysis of subsurface regional, teleseismic, and hydroacoustic data (earthquakes and such.)
- Provide on-the-job training for junior analysts.
Senior Data Analyst, Satellite Operations
- Perform analysis of data from satellite-based sensor systems.
- Provide on-the-job training for junior analysts.
Duty Position Evaluator
- Develop and administer written and oral evaluations to certify individuals on job responsibilities.
Skills
Languages
I always like trying new languages, but this list covers some that I've been using recently.
JavaC#C++BashKotlinJavascriptSQL
Libraries and Frameworks
Software that frequently shows up in projects I'm working on lately.
Unity3DUnreal 4PocketsphinxJava EE
Tools
The most common development tools that I use day-to-day.
GitMavenVagrantIntelliJ IDEAVisual Studio
Domains
A few areas that have been a recurring theme in my recent work.
SimulationSerious gamesSpeech recognitionMachine learningEmbedded softwareAutomation
Professional Projects
A non-exhaustive sample of projects I've worked on in my career.
Speech Recognition and Grammar Models
New paradigms for language model development enabling end-user authoring and customization for better speech recognition.
- Proposed technical objectives and leading development team.
- Designed and implemented grammar "compiler" to build application-specific models at runtime.
- Integrated with open source speech recognition libraries.
- Designed and implemented semantic parser to translate text into computer-readable output.
- Designed editor paradigm to enable non-expert users to define and edit grammar models.
Parachute Training Simulator
Simulator enabling Navy pilots to practice post-ejection parachute descent procedures.
- Conducted SME and customer interviews to better understand domain and develop project requirements and goals.
- Designed, fabricated, and integrated electro-mechanical system combining COTS solutions, real flight gear, and custom hardware.
- Designed and implemented embedded software for custom sensor solution.
- Designed and provided implementation guidance for physical simulation software model.
After-Action Review System Backend
Backend services for training exercise after-action reviews combining heterogeneous data sources.
- Setup reproducible virtualized development environment.
- Designed and implemented software stack for distributed data processing.
- Developed tools for extracting and deserializing proprietary metadata streams from videos.
- Designed and implemented video processing service.
- Implemented backend of streaming API for various data sources.
Seismic Event Characteristic Prediction Tools
Tools for predicting seismic event characterisics from historical data.
- Extracted historical data and built k-NN models.
- Built and integrated interfaces to predict event characteristics on new detections.