I am a software engineer at Instacart working on machine learning infrastructure.
I am primarily interested in the machine learning spaces, focusing on infrastructure to support advertising,
information retrieval, and other machine learning systems. Prior to joining Instacart I was a
Research Scientist working on ads delivery at Facebook having been a
Postdoctoral Fellow at the University of Waterloo in Canada.
Building out the infrastructure that powers machine learning at Instacart.
Research Scientist | Meta (fka Facebook)
My time in Facebook was spent in the Ads
& Business Platform organization. I
focused on solving advertiser facing issues
within the delivery system, including
diagnosing systemic inefficiencies in ranking
and delivery systems, large scale back-end
migrations to unblock scaling of products, and
development of new products. Served as an
internal hiring point of contact for the team,
as well as managing and mentoring interns and
being a ramp-up buddy for new engineers, both
senior and junior, to both the team and org.
Postdoctoral Fellow | University of Waterloo
Developed a novel anytime, score-safe, document scoring algorithm.
Conducted research on reproducibility, and replicability, of
information retrieval and machine learning NLP systems. This included
software and library versioning, hyper parameter tuning, and hardware
Included instructing the following courses:
CS241: Foundations of Sequential Programming (aka Introduction to Compilers)
Assistant Research Fellow | University of Otago
Investigating the areas within the indexing process that the rest of the system were waiting on, and analysing these areas for potential speed-ups.
Lab Demonstrator | University of Otago
A lab demonstrator has similar responsibilities to a teaching-assistant, helping students with their practical lab work. This demonstrating was undertaken while studying for both MSc (COMP150) and PhD (COSC241, COSC242, COSC244).
COSC244: Data Communications, Networks and the Internet
Research Assistant | University of Otago
A research assistant is typically employed on a short-term contract in order to assist staff members with an ongoing research project. I have been involved in two of these:
Relevance and Readability
Working on incorporating readability metrics into a search engine to re-rank results in order to return readable as well as relevant results. Involved working on a large C++ codebase (ATIRE) worked on by multiple people. Undertaken simultaneously with MSc study.
Collaborative Filtering Improvement
Working on improving the predictions made by implementing high level algorithms for my collaborative filtering system I developed as part of my honours degree project.
Investigating various ways to make the process of indexing, and searching, web-scale collections more efficient without impacting the effectiveness of the system. For instance, we can choose to not index certain documents, but if we chose the wrong documents then this could have a significant impact on the effectiveness. My research was performed using the ATIRE open source search engine, this search engine was developed at Otago and I remain involved in its development.
MSc (Thesis Only) with Distinction | Computer Science, University of Otago
I did the majority of the background running and checking of scripts for the Reproducibility Challenge.
As mainly a learning exercise, I designed and built a community site for the game Hearthstone. The site allowed players to install a client which would upload game logs to a server. These logs would then be parsed to provide an accurate play-by-play web-viewable version of the game. During this exercise I learnt a lot about the Docker and Amazon AWS eco-systems, as well as modern front-end development suites such as React.js.