James has been working in software for twelve years, primarily as a back-end web developer, most recently in the live music and online education sectors. He created the open-source web messaging system Faye, whose internals now form the basis of much WebSocket tooling in the Ruby and JavaScript ecosystems. James also enjoys hacking on language tools, creating the cross-language parser generator Canopy, and a toy logic  programming language called Infer.

James is the author of the book JavaScript Testing Recipes, and am working on a second called Building Git, available in 2019.