Tom Crayford is a seasoned software engineer with 16 years of experience building and shipping backend systems across startups and enterprise teams, now at PlanetScale after five years leading engineering at HashiCorp. He has deep expertise in distributed systems, databases, and secure networking—evidenced by work on Heroku's DBaaS and open-source contributions that added SSL/TLS support to a Ruby Kafka client and meaningful performance and instrumentation improvements to the Riemann event stream processor. Tom combines hands-on coding with engineering leadership, having moved between individual contributor and manager roles while staying involved in core technical design and refactors. He pays attention to the small but impactful details—fixing cross-platform mod-loading bugs and improving error handling and timeouts that make systems more robust in production. Comfortable in polyglot environments, his contributions span Ruby, Clojure, C/C++ and systems-level tooling, reflecting a pragmatic approach to solving reliability and security challenges. Trained in computer software engineering at the University of Sheffield, he brings a thoughtful, test-focused mindset to long-lived infrastructure projects.
16 years of coding experience
15 years of employment as a software developer
Bachelor of Engineering - BE, Computer Software Engineering, Bachelor of Engineering - BE, Computer Software Engineering at The University of Sheffield
Contributions:11 commits, 7 PRs, 104 comments in 1 year 6 months
Contributions summary:Tom implemented SSL/TLS support for the Kafka client library, focusing on secure socket connections. They introduced the `SSLSocketWithTimeout` class, handling secure socket initialization, read, and write operations with timeout capabilities. Furthermore, they refactored the client and related components (connection, broker pool, and client) to leverage this new SSL implementation, enabling secure communication with Kafka brokers. They also added an example demonstrating the use of SSL in a producer.
A network event stream processing system, in Clojure.
Role in this project:
Back-end Developer
Contributions:12 commits, 4 PRs, 5 comments in 1 year 5 months
Contributions summary:Tom primarily contributed to the back-end functionality of the Riemann event stream processing system, as evidenced by code modifications in `riemann/streams.clj`, `riemann/index.clj`, and `riemann/common.clj`. Their work included implementing new features like coalescing splits, handling event transformations, and improving error handling. The user also focused on optimizing performance and adding instrumentation to the system. Significant testing improvements and enhancements to exception handling were also made.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.