Tom Crayford

Software Engineer at PlanetScale

United Kingdom
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Tom Crayford is a UK-based software engineer with 16 years of experience building secure, scalable back-end systems and is currently at PlanetScale after five years leading engineering teams at HashiCorp. He combines hands-on implementation with architectural thinking — notable open-source work includes adding SSL/TLS socket support with timeout handling to the widely used zendesk/ruby-kafka client and performance and error-handling improvements to the Riemann event stream processor. His career spans principal-level engineering at Salesforce and early-stage product work at Estately, underpinned by a BE in Computer Software Engineering from the University of Sheffield. Pragmatic and detail-oriented, he often tackles subtle cross-platform and edge-case problems (for example, fixing non-Windows mod loading and nuanced command behaviors) that improve reliability in production systems.
code16 years of coding experience
job15 years of employment as a software developer
bookBachelor of Engineering - BE, Computer Software Engineering, Bachelor of Engineering - BE, Computer Software Engineering at The University of Sheffield
github-logo-circle

Github Skills (34)

monitoring10
c-language10
ssl10
tls1210
eventemitter10
clojure-cli10
kafka10
tls1310
kafka-node10
network-programming10
eventsourcing10
spaces10
ruby10
clojure10
openssl10

Programming languages (17)

JavaC++CRustScalaGoPerlHTML

Github contributions (5)

github-logo-circle
zendesk/ruby-kafka

Mar 2016 - Aug 2017

A Ruby client library for Apache Kafka
Role in this project:
userBack-end Developer
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.
apache-kafkaruby-gemkafka-consumerclient-libraryruby-client
riemann/riemann

Jan 2014 - Jun 2015

A network event stream processing system, in Clojure.
Role in this project:
userBack-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.
stream-processingeventsdata-streamevent-streamriemann
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.
Request Free Trial