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 /teaching).


TL;DR



Full-time experience


Assistant Research Software Engineer

Advanced Research Computing Centre, University College London
Dr. Sam Cunliffe
August 2024 - Present | London, United Kingdom
  • “Generalist” staff member in the Research Software Engineering group of the Advanced Research Computing Centre. Mostly involved with the HPC, DevOps, and Education sub-groups, open-source research theme, and Python tooling.
  • Adding GPU (CUDA) and automatic differentiation support to large-scale cosmological simulations (GLASS) for ESA’s Euclid space mission (GPU embedded Computational Science and Engineering grant by EPCC + Euclid space mission grant by the UKSA).
  • Involved in migrating and re-architecturing (mostly on the observability, metrics, and monitoring side) UCL’s XNAT deployment from VMs to ARC’s private kubernetes infrastructure (Condenser).
  • See /teaching for teaching and community activities.

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.”
  • Worked on autodiff (JAX) support for Awkward Arrays, added symbolic (SymPy) computing support to vector manipulations, and extended autodiff and distributed computing support to a few other libraries.
  • 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