A functional programmer with advanced experience developing production software in Scala and Java, James is passionate about continuous learning and keeping just outside of his comfort zone.

When not knee-deep in type theory, James can be found running, cycling, and stargazing around the San Francisco Bay Area.




















Wikimedia Foundation

Sr. Software Engineer, Nov 2014 - present

Improve the full-text MediaWiki search system based on Elastic, and develop the semantic RDF Wikidata search system based on Blazegraph.

Contribute to the emerging service-oriented architecture and backend services that drive forward the evolution of the MediaWiki ecosystem.

Established a specification-driven REST API service development process, including design by contract, continuous integration, and code coverage. Focused engineering efforts on intentional outcomes focused on users.

Versal Foundation

Panel Member, Jun 2013 - present

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


Engineer and Co-founder, Sep 2012 - Oct 2014

Developed the Scala backend of the Versal platform for online education.

Designed the scalable event-sourced architecture, and both reference and production implementations. Built internal analytical and diagnostics tools, and helped design the continuous integration and continuous deployment environments and processes.

Released multiple open-source libraries, including Jellyfish for dependency injection via delimited continuations, FireOtter for human readable CSV-based specification testing, and Scamper for performance comparisons of popular REST libraries and frameworks.

Palantir Technologies

Forward Deployed Engineer, May 2011 - August 2012

Created the REST API, based on Java and JAX-RS, for Palantir Gotham (PG), a mature software suite used around the world for large-scale data integration and intelligence analysis. This enabled both customers and other forward deployed engineers to build decoupled systems that take advantage of the power of PG.

Standardized the software build toolchain and process for the teams of forward deployed engineers using a combination of sbt, Ivy, Scala, and Java.

Built and extended data integration and analysis tools in both Scala and Java for multiple customers across the intelligence community.


Senior Consultant, Feb 2011 - Apr 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, Jan 2008 - Feb 2011

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

Stanley Associates

Software Engineer, Apr 2007 - Jan 2008

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

Developed the enterprise architecture for Secretary of Defense Communications.


Software Engineer, Jun 2005 - Feb 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.


Bay Area Amateur Astronomy

Founder and Organizer, Feb 2014 - present

Plan and lead star parties and field trips.

Bay Area Haskell Users Group

Organizer, Dec 2013 - present

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

Scala Study Group

Organizer, Sep 2012 - present

Plan and lead study sessions. Teach fellow students topics in Scala including functional programming, category theory, delimited continuations, reactive programming, and introduction.


Georgia Institute of Technology

Master of Science, Computer Science, 2014 - present

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.


Functional programming principles in Scala

Coursera, Nov 2012

SpringSource Certified Professional

SpringSource, Apr 2009


Danube, Feb 2011


Secure Collaborative Environment

US 20100100967, May 2009

A secure collaborative environment to facilitate the sharing of confidential information between organizations, which can be used in conjunction with existing infrastructure.

Barebones Spring MVC

Self-published, Oct 2010

A basic overview of some of the most commonly used components of Spring MVC that takes the reader through the development of an example Spring MVC application from scratch.

Impacts of Data Format Variability on Environmental Visual Analysis Systems

The 87th AMS Annual Meeting, San Antonio, TX, Jan 2007