I am an experienced software developer, with over 17 years building production software, in a variety of both formal and informal roles in the software development process, on a variety of tech stacks.
I am pragmatic, passionate, broad, and serious but not solemn.
Skills & Tools
Scala, Java, Python, RESTful APIs, data modeling, Docker, AWS (S3, SQS, API Gateway, Lambda, IAM), Akka HTTP, relational databases (MySQL, PostgreSQL), Elasticsearch, Git, GitHub, Bash, OAuth 2.0, resilient design, microservice & serverless design, geospatial imagery, GDAL, STAC, empathy-driven development, validation/correctness
University of Virginia, School of Engineering and Applied Science
B.S., Computer Science, 2001
M.S., Computer Science, 2003
Software Developer (June 2018 - Feb 2021)
independent contractor for June - Sept 2018
- Developed a RESTful API backend in Scala with Akka HTTP implementing the SpatioTemporal Asset Catalog (STAC) API for the Earth OnDemand geospatial imagery tool. This is recognized as the most compliant and featureful public STAC API implementation.
- Developed geospatial imagery data processing and metadata indexing tools in Scala and Python to create the largest public SpatioTemporal Asset Catalog (STAC) catalog, consisting of 30 million items referencing 15PB of data
- Contributed to the SpatioTemporal Asset Catalog (STAC) specifications, including the STAC API specification
Software Architect (June 2017 - June 2018)
independent contractor for April - June 2018
- Software architect and developer for a complex, HIPAA-compliant system for remote healthcare delivery.
- Designed and implemented Python serverless services on AWS for 3rd-party service integrations
- Designed and led implementation of RESTful API in Ruby
Software Engineer (Aug 2012 - June 2017)
Professional Services Engineer (Nov 2009 - Aug 2012)
- Technical lead on Jive social business software system, used by millions of users among 1,200 customers. Contributed to dozens of major, minor, and maintenance releases.
- Lead developer on Single Sign-on (SSO), focused on SAML.
- Led significant architectural changes towards containerized microservices and refactored numerous major features
- Fixed over 1,000 bugs in a large, complicated legacy application (over 18,000 Java classes).
- Performed requirements elicitation, analysis, and code customization of product.
Software Developer (Oct 2006 - Nov 2009)
Quality Assurance Engineer (July 2004 - Sept 2006)
- Member of software development team for Oracle Business Rules, a language (RL), rules engine, SDK, and UI for Prolog-like declarative specification of domain logic
- Implemented significant new features and fixed complex defects in existing codebase.
- Significantly improved quality through writing automated tests and code coverage analysis (reaching 88%).
University of Virginia, Department of Computer Science
Research Assistant (June 2001 - May 2004)
- Researcher under Professor John Knight, focusing on design and implementation of a system for scalable, large-scale distributed systems management as part of the DARPA-funded Willow project.