I often solve challenging problems from my horse’s back or with my dog’s leash in hand. Nothing excites (or scares) me more than a problem that I have no idea how to solve. I find joy in the process of uncovering and refining a solution.
The nature of the problems I tackle has changed over the years. During my undergraduate studies, I analyzed the impact of different macroeconomic policies. At BetterHelp and Plexuss, I used analysis and machine learning on product and matching problems. At PinPoint, I spent years building speech-recognition products and the pipelines around them. At Hamilton, I now build software for new MicroLab Prep hardware, working in C# at the device layer.
I came to computer science late and sideways. I started my MS in CS at UC Davis in 2020 thinking I would go into NLP. One computer architecture course ended that plan. I stayed for architecture and performance, joined John Owens' research group, and worked on Gunrock, a GPU graph framework in C++ and CUDA. That project became my MS report; I implemented a parallel MST, added NVBench and built-in performance analysis, reworked how graphs are built and stored, and used V100 measurements to cut MST runtime by about 17% on average (up to 22%). The report is here.
I still care about how architecture and software meet. The rest of the stack I have used significantly includes Python, C, Linux, and Bash; C# is what I ship at work. Front-end (HTML, CSS, JS) is a hobby; I taught Interactive Media at Davis, and it was one of the most rewarding things I have done.
When I'm not writing code, you can find me exploring a new trail with my dog or horse.