experiences

mostly computational science. machine learning, and research software engineering...

Below are my “formal” work experiences. I also contribute to several open-source scientific software, and I consider that as an “experience” too (see /opensource). I have also mentored several students and researchers who are new at writing code for research/scientific software (see /service).


TL;DR



Full-time experience


Assistant Research Software Engineer

Centre for Advanced Research Computing, University College London
Dr. Sam Cunliffe
August 2024 - Present | London, United Kingdom
  • Adding GPU (CUDA) support to large-scale cosmological simulations for ESA’s Euclid space mission (GLASS).
  • Developing auto differentiation support for large-scale cosmological simulations.

Research experience


Research Fellow (bachelor’s thesis)

CERN, Princeton University, IRIS-HEP
Dr. Jim Pivarski (Princeton University)
January 2024 - August 2024 | Geneva, Switzerland
  • Thesis titled “Computational upgrades to the high energy physics analysis pipeline for future LHC/HL-LHC runs.”
  • Added autodiff (JAX) support to Python-based HEP ecosystem, and distributed (Dask) and symbolic (SymPy) computing support to vector manipulations.
  • Implemented non-uniform rebinning for boost-histogram and developed a new package for histograms on CUDA. Migrated the vector manipulation backend of the analysis framework (Coffea) used at Fermilab and CMS.

McMaster University
Prof. Jacques Carette
June 2023 - August 2023 | Hamilton, Ontario, Canada
  • Worked with functional programming, type theory, and logic to add proofs and algorithms for data containers and mathematical operations in Agda’s standard library.
  • Significantly reduced library’s compile time by refactoring the existing API and simplifying the dependency graph.

Research Fellow

IRIS-HEP, Princeton University
Dr. Henry Schreiner (Princeton University), Dr. Jim Pivarski (Princeton University)
June 2022 - September 2022 | Remote
  • Co-authored a Python-based Lorentz vector manipulation library with support for ragged data and JIT compilation.
  • Worked on Scientific Python’s developer guides and tools, and fixed bugs in the Scikit-HEP ecosystem.

Other experience


Technical Writer and Open-Source Developer

FluxML, Julia Programming Language
Mr. Dhairya Gandhi (Julia Computing / JuliaHub)
May 2022 - October 2022 | Remote (Part-Time)

Google Summer of Code Developer

PyBaMM (Python Battery Mathematical Modeling), NumFOCUS
Dr. Valentin Sulzer (Carnegie Mellon University), Dr. Ferran Brosa Planella (University of Warwick), Dr. Robert Timms (University of Oxford)
May 2021 - September 2021 | Remote