Senior Scientific Computing (Python) Programmer

San Francisco
Theorem ( is a company at the intersection of technology and finance.  We combine quantitative research, software engineering and rigorous scientific investigation to build credit portfolios that produce strong and consistent yields across business cycles.  

We are seeking a senior scientific computing programmer to join our collaborative and inclusive research and engineering team.

What you'll do

    • Develop and implement solutions for real world, large-scale machine learning/statistical problems
    • Build and maintain our best in class execution systems, backtester and model validation systems  
    • Parallelize our execution and analysis code using single and multi machine parallelism frameworks and techniques
    • Restructure and build out our data processing pipelines
    • Work closely with researchers to explore ideas across multiple disciplines: computer science, statistics, biostatistics, survival analysis and epidemiology including supervised learning, natural language processing, imbalanced data and anomaly detection, time series, feature extraction and selection, and many, many other areas  

What you bring to the table

    • Desire to make a significant impact on our business
    • Enthusiasm for open source scientific and machine learning projects
    • Professional experience writing performant scientific, numerical and parallel code in a data driven research environment
    • Experience writing and optimizing code in a vectorized scripting language (numpy or similar BLAS/LAPACK wrapper)
    • Experience using Cython, Numba, C or similar to speed up analytical code
    • Experience in performance profiling and characterization
    • Experience with understanding how hardware affects performance of numerical code and how to optimize things like cache locality and cpu core count vs clock speed
    • Keen interest in correctness, maintainability, elegance, and testability of code

And any of the following experience would be helpful and highly-appreciated

    • numpy, scipy, scikit-learn and the python scientific computing ecosystem
    • Maintaining a large scientific python codebase
    • Dealing with issues of providence and experimental repeatability
    • High Performance Computing (HPC)
    • GPGPU framework like CUDA or TensorFlow
    • Data visualization

More about us

    • Founded in 2014 by a Google software engineer and a Morgan Stanley quant trader, we are a Y Combinator-backed company
    • We are profitable, managing over $500mm, including investment from non-profits and university endowments
    • We are a small, passionate, and collaborative team -- fewer than 15 research, engineering and finance professionals with a diversity of backgrounds and ideas
    • Every member of the team has a major impact on the company's success with visible contributions to the business
    • We deeply value intellectual curiosity, creative idea generation, and close collaboration
    • We seek talented individuals who are thoughtful, innovative, tenacious and interested in a mission-focused team environment
    • We share ideas informally at team lunches, discuss the latest scientific research papers during our academic research sessions, and also hold weekly paper groups
    • Company events are inclusive and fun, with expeditions to food trucks and michelin-starred local restaurants, and annual trips to Montana and Stinson Beach featuring hiking and campfires
    • We are located in SoMa, San Francisco
    • We offer above-market salary and profit sharing, a career path to partner, and excellent benefits including generous paternity and maternity leave policies
Theorem combines quantitative research, software engineering and rigorous scientific investigation to build credit portfolios that produce strong, consistent returns across business cycles.

Our mission is simple: make credit safe for investors. We do this by using scientific methods to produce a transparent alternative to traditional loan packaging.

We look forward to engaging with you. 

Team Theorem