Martian was created at 10x Genomics, where it serves as a core part of the software engineering toolchain. As a developer framework, Martian helps to make tractable the design, development and maintenance of over 30 pipelines by 25+ developers. As a runtime, Martian has cumulatively executed, just internally at 10x Genomics, over 100 million jobs consuming 1.5 core-millennia of CPU time. Martian has executed many millions more core-hours at customer sites, and is one of the most heavily exercised computational pipeline frameworks deployed in the field.


Martian came to life in April of 2014. It was built to address a number of looming challenges in complexity management, and to satisfy a specific set of design objectives which were not met by any framework that existed at the time.

Martian was originally prototyped in Javascript / Node.js with Jison as the parser generator. After Martian proved successful in production use, a search was undertaken for a modern, statically compiled language on which to pursue more ambitious, long-term development. In August of 2014, mounting social signal led to the acceptance of Rob Pike’s proposal. A suitable candidate found, Martian was then ported to Go, with goyacc replacing Jison.

The Name

Martian was originally named Mario. This was because, many presumed, pipelines and plumbing. However, being an inveterate contrarian, the creator vehemently insisted that Mario bore no relation whatever to Super Mario Bros., and was in fact named after Mario Lopez because, reasons.

When this etymological yarn proved too challenging to explain to those unfamiliar with Saturday Morning TV, it was grudgingly decided to find a new name that would appeal more to culturally illiterate audiences. The only constraint imposed was that the new name should conserve the first three letters of the old, so as to minimize disruption to the naming harmony of the extant ecosystem of Mario-based repositories, tools, and applications.

Following an exhaustive grep ^[Mm]ar /usr/share/dict/words, the name Martian was selected, after the concept of the Martian scientist which, like Martian, acts as an agnostic observer of complex goings-on. The eschewal of a definite article is intentional, aiming to distinguish Martian from The Martian. It should be noted that the naming of Martian was subsequent to the book but prior to the announcement of the the movie.