A past version of this page
frozen in early 2022: Even though I’m not actively looking for new projects at the moment, I left this up here because it still reflects the things I care about in my career and it serves as an informal resume.
We could work together! Please get in touch. I have a more formal resume here.
What I’m looking for
I’m primarily looking for close collaborations with friendly people on exciting and important research problems or scientific software projects. To be more specific, I’d like to be working together (in person or remotely) on a regular basis for several hours. I don’t work well talking briefly once a month. I find enthusiasm infectious so if you’re excited I probably will be too. What does “important” mean? I enjoy discussing questions of where there is the most value to be gained in research. But, I’m also quite critical in this regard when it comes to investing months of my time, but much less critical if it’s just a few days or weeks of helping out. I’ve written some more about my work preferences in Maintaining Momentum.
I am interested in academic or industry research engineering career options doing very compelling work (AI, biotech, fusion, etc).
Things that I’ve recently worked on:
- At QuantCo: Automated e-commerce pricing and forecasting.
- At QuantCo: Generalized linear modeling software and supporting computational infrastructure.
- With the DayOneProject: Policy proposals for federal science funding.
- During my PhD and recent: Earthquake simulation software and tutorials.
- During my PhD: Inverse methods for earth system imaging.
- Recent: Integral equation methods for PDEs.
- Recent: Fast algorithms for N-body problems.
Examples of things I’ve recently considered getting involved in:
- Fusion simulation research.
- Ultrasound brain imaging.
- Adaptive experimentation methods and software.
- Earthquake prevention.
- Artificial intelligence.
End products that I’d be excited about:
- Things that people care about!
- New discoveries!
- Open-source scientific software.
- Quality tutorials and explanations of difficult topics on the methodological frontier.
I’m good at and excited about:
Performance engineering and high performance computing. I make code fast, whether that is designing/implementing practical and efficient algorithms, parallelizing and distributing code, or moving it to a GPU.
Algorithms and computational methods: Nonlinear optimization, linear algebra, numerical analysis, probability, computational methods for PDEs. I’ve done a particularly large amount of work on computational methods for partial differential equations working with integral equations, finite difference, and discontinuous Galerkin methods focused on earthquake problems.
Numerical optimization and statistical software tools. At QuantCo, I worked on statistical tool development projects oriented towards econometric estimation and on second order optimization methods applied to mixed neural net/boosted tree methods.
Software engineering for all of the above and more: Maintainability, automation, focusing on user needs, understandable code, avoiding over-engineering, collaborative development. As much as I can, I try to turn my work into useful open source software. As far as specific tools, I’m an expert in Python, C++ and CUDA but I’m good enough in a lot of other settings (Julia, Matlab, Rust, Fortran, R, shell, devops, databases, etc).
Being reasonable. I’m easy to work with and my co-workers say they really like working with me!
Overall, I suspect I could be very effective in adjacent domains to those I’ve mentioned and in most of computational science. I have enough scaffolding for a lot of algorithms and computation that it probably won’t take long to get up to speed. I find it generally takes just a few days to get passably good in a new tool or language.