I am a research software engineer with a broad range of experience. My main interest is in architecting, implementing, and maintaining stable software systems that benefit researchers. I currently work at TU Delft, where my current focus is on improving the performance and maintainability of open-source biomechanical simulation software (e.g. OpenSim)

Story

I started writing research software in my spare time during my PhD. After the PhD, I pivoted towards software development and data science. I have been exploring the interplay between research, people, business goals, and software ever since.

Portfolio

Most of my work is commercial or internal, so this portfolio is just a small subset of the things I have worked on.
⚙️ Jobson [github] [details]
Jobson is a multi-language, full-stack project with a continuous deployment pipeline and a stable user-facing API. It was initially developed so that astronomers could request data from the Gaia satellite project🛰️. I architected Jobson to solve a general problem (turn any application into a webapp) and sucessfully rolled it out in the Gaia project. I subsequently open-sourced it because other researchers found it interesting. Tech: Typescript frontend, Maven build, continuous integration with Travis.
🗜️ libdeflater [github]
Small, standalone Rust (❤️) library. Wraps libdeflate, a C library, with Rust bindings. This project is an example of how I approach testing, documentation, continuous integration, deployment, and benchmarking of a small but potentially critical (compressors are in the critical path of many pipelines) library.
🌟 Design [gallery]
I occasionally perform standalone pieces of design work. Sometimes, this work is for academic clients that would like an artistic rendition of their research for a journal cover. I typically use Photoshop, Illustrator, Blender, and GIMP to produce designs and renders.

Experience

Open Source Developer

Technische Universiteit Delft
May 2020 - Present

Currently beginning to work on open-source biomechanical simulations software (C, C++, Python). Initially, with an intention to improve the performance and usability of existing open-source projects.

Software Developer

PetaGene Ltd.
November 2018 - May 2020

Software design and development for a genomic data compression + encryption startup. I developed low-level compression systems (C/C++) which were rolled out to large enterprises (e.g. FTSE100 companies with multi-petabyte datasets). I also adapted existing C/C++ compression codes to work in a browser (wasm) and developed, usability tested, and deployment pipelined a full-stack encryption platform (C++, python, typescript). Role included development, design, devops, and occasional management responsibilities.

Software Developer

University of Cambridge
November 2016 - November 2018 (2 years)

I worked in the Institute of Astronomy on the European Space Agency's Gaia project (BBC). I mostly focused on developing software that processes large (> 1 PB) volumes of data. Internal projects include developing a Apache Spark query DSL for Gaia's data systems, developing a task platform that unifies Gaia's various data processing pipelines, and integrating various projects together into web stacks.

Automation, Data, and Standardisation Scientist

Unilever
November 2015 - October 2016 (1 year)

Used data science and robotics to accelerate practical chemical research. My main focus area was in creating Oracle SQL queries, Pipeline Pilot pipelines, and Tableau dashboards on top of Unilever's existing data systems. I also worked on integrating those systems with lab equipment to increase data collection volume.

Web Designer & Developer

Crown Informatics
February 2015 - October 2015 (9 months)

Developed customer-facing webapps and dashboards that were deployed to NHS hospitals nationwide. Full-stack development, but with an emphasis on frontend development. Technologies: Javascript, Ruby, IBM Notes, PostgreSQL, angularjs, highcharts.

PhD, High-Throughput Organic/Analytical Chemistry

University of Liverpool
Feb 2011 - April 2015 (4 years)

Synthetic and analytical research into porous organic cage compounds. Used robotic platforms (Chemspeed/Eppendorf) to automate the synthesis and analysis of porous organic materials. Primary focus was on conducting analytical experiments to validate computational methods. Supervisor: Andrew Cooper FRS.

Other Experience

  • OEE Software Development, Henkan Ltd., Dec 2010 - Feb 2011
  • Nuffield Research Placement, University of Nottingham, Jun 2009 - Sep 2009
  • Warehouse Operative, NHS, Jul 2006 - Aug 2006
  • Nuffield Placement: Civil Engineering, Mouchel Parkman, Jun 2005 - Aug 2005

Education

PhD in Chemistry

University of Liverpool, 2011-2015, Supervisor: Prof. Andrew Cooper FRS. [thesis]

MSc. (hons.) in Nanoscience

University of Nottingham, 2010-2011, Grade: Merit. [dissertation]

BSc. (hons.) in Chemistry

University of Nottingham, 2007-2010, Grade: First.

Publications

Gaia Data Release 2

Astronomy & Astrophysics, 2018, 10.1051/0004-6361/201833051, PDF

Other Gaia Publications

I am an author on these papers because of how the European Space Agency works, rather than because I made any contribution. I only contributed to the above papers (and, even in those cases, minorly because Gaia is a huge project).

  • Gaia Data Release 2: Photometric content and validation, link
  • Gaia Data Release 2: Kinematics of globular clusters and dwarf galaxies around the Milky Way, link
  • Gaia Data Release 2: Observational Hertzsprung-Russell diagrams, link
  • Gaia Data Release 2: Mapping the Milky Way disc kinematics, link
  • Gaia Data Release 2: Observations of solar system objects, link
  • Gaia Data Release 2: The celestial reference frame (Gaia-CRF2), link