A software engineer with extensive experience in full-stack Web development, system architecture, engineering management, technical leadership, mentoring, and community stewardship.

Advanced experience with functional programming in Scala and enterprise Java development, including sbt, J2EE, Maven, Spring, and Hibernate.

Proficient with JavaScript, TypeScript, Haskell, Node.js, npm, Cabal, Nix, Docker, Ansible, and MySQL.

Specialized in functional programming, user-centered design, test-driven development, Web services, and developer flow.

Located in Boulder, Colorado.



Director of Platform Engineering, August 2015 - Present

Guide the Platform team in building Udacity's next-generation microservices platform as a service, as well as critical core services used by engineering teams across the organization. Set the vision and structure of the Platform team.

Keep the Platform team happy and productive, and help them navigate their careers. Report to the Director of Engineering and the VP of Engineering.

Build open-source projects including Geode for IP address geolocation as a service, ansible-marathon for deploying applications to Mesos through Marathon via Ansible, pygow for functional programming in Python, github-oauth-servlet for J2EE authentication using GitHub OAuth, and datadog-client for consuming the Datadog API.

Wikimedia Foundation

Sr. Software Engineer and Technical Lead, November 2014 - July 2015

Improved MediaWiki search, based on Elasticsearch, and developed semantic Wikidata search, based on RDF and Blazegraph.

Contributed to the emerging service-oriented architecture that drives the evolution of the MediaWiki ecosystem.

Established a specification-driven development process with design by contract, continuous integration and code coverage. Focused engineering on intentional outcomes for users.

Reported to the Director of Platform Engineering.

Versal Foundation

Panel Member, June 2013 - February 2016

Review grant applications for open courses that spread knowledge as a catalyst to transform the world.


Engineer and Co-founder, September 2012 - October 2014

Developed the Scala backend of the Versal platform for online education using a scalable event-sourced architecture.

Designed the continuous integration and deployment environments and processes.

Built open-source projects, including Jellyfish for dependency injection, FireOtter for specification-based testing, and Scamper for library performance comparison.

Reported to the VP of Engineering.

Palantir Technologies

Forward Deployed Engineer, May 2011 - August 2012

Created the Java-based REST API for Palantir Gotham, enabling decoupled, mission-focused applications.

Standardized the build process for teams of forward deployed engineers using sbt and Ivy.

Built and extended data integration tools in Scala and Java for users in the intelligence community.


Senior Consultant, February 2011 - April 2011

Taught enterprise Java developers to build production-ready J2EE applications via rapid and scalable development best practices.

Coached multiple Scrum teams on efficient and repeatable agile development patterns.


Software Engineer, January 2008 - February 2011

Developed a multifactor authentication platform in Java for integration into disparate software and hardware environments.

Stanley Associates

Software Engineer, April 2007 - January 2008

Developed a secure collaboration software framework in Java for integrating disparate systems in a high-security environment.

Developed the enterprise architecture for Secretary of Defense Communications.


Software Engineer, June 2005 - February 2007

Developed enterprise Web applications in Java for multiple missions.

Learning Technologies Center

Assistant Computer Programmer, May 2002 - May 2005

Developed course enrollment and organization optimization tools using artificial intelligence algorithms.


Scala Study Group

Organizer, September 2012 - present

Plan and lead study sessions.

Teach Scala topics including functional programming, category theory, delimited continuations, and reactive programming.

Bay Area Haskell Users Group

Organizer, December 2013 - November 2015

Plan and lead Haskell discussion sessions, lectures, and hackathons.


Massively open online courses

Functional programming in Haskell, October, 2016, University of Glasgow via FutureLearn

Management and Leadership, December 2016, The Open University via Futurelearn

FP101x Introduction to Functional Programming, January 2016, Delft University of Technology via EdX

Artificial Intelligence for Robotics, Georgia Tech OMSCS, Summer 2014, Georgia Institute of Technology via Udacity

Functional programming principles in Scala, November 2012, Coursera

American Military University

Master of Science, Aerospace, 2006 - 2011

The University of Arizona

Bachelor of Science, Computer Engineering, 2001 - 2005

Minors in Computer Science, Electrical Engineering, and Mathematics.


SpringSource Certified Professional, April 2009, SpringSource

ScrumMaster, February 2011, Danube


Barebones Spring MVC

An overview of commonly used components of Spring MVC, taking the reader through the development of an application from scratch.

HTML and PDF from October 17, 2010

Secure Collaborative Environment

Facilitates the sharing of confidential information between organizations, to be used in conjunction with existing infrastructure.

PDF from US 20100100967, May 29, 2009

Impacts of Data Format Variability on Environmental Visual Analysis Systems

A discussion of the benefits and drawbacks inherent in data format variability in the context of environmental visual analysis systems.

PDF from The 87th AMS Annual Meeting, January 15, 2007, San Antonio