My career has been a mixture of mathematics and computing. I started out as a math professor, then for several years I was a software developer and software project manager. Later I brought these together, working in mathematical computing.

I’ve used maybe a dozen programming languages professionally. When I was a full-time developer I mostly wrote C++. These days I mostly write Python and occasionally C# or R. When these aren’t fast enough, I drop back to C++.

I add the most value to projects that require a mix of math and computing. On large projects I can help the software developers and math/stat people communicate, making sure that nothing is lost in translation between the two groups.

Here are some areas of computation where I have experience and may be able to help your company.

- Numerical analysis
- Network analysis
- Signal processing
- Numerical integration
- Interpolation and extrapolation
- Functional programming
- Statistical computing
- Applied linear algebra

“John helped us with a wealth of statistical programming knowledge, plus a great understanding of what constitutes good statistical practices. This helped our company’s project with NIH.” — Marc Abrams, CTO, Harmonia |