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.
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.
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.
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.
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.
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.
Assistant Computer Programmer, May 2002 - May 2005
Developed course enrollment and organization optimization tools using artificial intelligence algorithms.
Organizer, September 2012 - present
Plan and lead study sessions.
Teach Scala topics including functional programming, category theory, delimited continuations, and reactive programming.
Organizer, December 2013 - November 2015
Plan and lead Haskell discussion sessions, lectures, and hackathons.
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
Master of Science, Aerospace, 2006 - 2011
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
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
Facilitates the sharing of confidential information between organizations, to be used in conjunction with existing infrastructure.
PDF from US 20100100967, May 29, 2009
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