Consulting services

You’re writing useful software that makes the world a better place. But there’s a large gap between software that gives correct answers and software that is maintainable and fast enough to run in the real world. With 25 years of experience of shipping production-ready software, I can help you bridge that gap.


Options range from a one-hour conversation (US$500), to one-time assessments, to ongoing advice and feedback.

You can reach me at

Code quality assessment

You have a working Python prototype of your data processing algorithm. Now you need to get it ready for production. Which means your software needs to be robust, maintainable, and following best practices.

With more than 25 years experience of shipping production-ready software, I can:

  • Help you adopt best practices and code quality, with a review covering topics like:
    • Developer documentation (i.e. getting started with the code base).
    • Project structure.
    • Code quality.
    • Unit testing and end-to-end testing.
    • Observability.
    • Build reproducibility.
  • Help you learn about tools, techniques, and process improvements that will help you ship best-practices software, on schedule.

Performance assessment

Slow software can mean high computing costs, unusable products, or critical data analysis that never happens because it just takes too long to debug.

Fast software lets you iterate faster, gives you a bigger spending budget, reduces CO₂ emissions, and makes your users happier. Speeding up scientific computing in particular can mean speeding up the creation of important societal solutions, from vaccines to more efficient energy grids.

If you need your Python data analysis software to run more efficiently, if speed or memory usage are keeping you from getting the results you need, I can help assess your code and make suggestions on how to improve it, from architectural improvements to micro-optimizations.