Tom Bevan

Senior Software Engineer at Self Group

Dubai, Dubai, United Arab Emirates
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 Bevan is a Senior Software Engineer based in Dubai with 11 years of experience building backend systems and distributed services. He has progressed from systems and web roles into senior engineering at Self Group, bringing practical expertise in Go—demonstrated by substantive open-source contributions to projects like r3labs/sse (Server-Sent Events) and r3labs/diff where he implemented core streaming and diffing logic. Tom excels at designing robust server-side components such as stream management, subscriber systems, and type-safe diff algorithms, and he pairs that with a pragmatic, test-driven approach. Colleagues value him for shipping reliable infrastructure code and for tackling tricky data-change detection and real-time delivery problems that often hide in production systems.
code11 years of coding experience
job7 years of employment as a software developer
bookSheffield Hallam University
stackoverflow-logo

Stackoverflow

Stats
1reputation
0reached
0answers
0questions
github-logo-circle

Github Skills (17)

algorithm10
diff-tool10
algorithms10
reflection10
difference10
http10
server-sent-events10
go10
unified-diffs10
sse10
golang10
reflections10
concurrency10
testing9
data-structure9

Programming languages (9)

TypeScriptC++CRustGherkinMakefileGoHTML

Github contributions (5)

github-logo-circle
r3labs/diff

Nov 2017 - Jan 2023

A library for diffing golang structures
Role in this project:
userBack-end Developer
Contributions:4 reviews, 95 commits, 59 PRs in 5 years 2 months
Contributions summary:Tom primarily contributed to a Go library for diffing Go structures. Their work involved implementing the core `Diff` and `Changed` functions, along with helper functions, to compare different Go data types, including structs, slices, strings, booleans, integers, and maps. They added support for identifying changes in slices and maps, along with filtering changes using regular expressions, adding tests to ensure the diffing logic works correctly. The user's contributions focused on providing functions to retrieve struct values for create and delete actions.
golangreflectdiffing-golang-structuresreflectiondiffing
r3labs/sse

Feb 2016 - Nov 2022

Server Sent Events server and client for Golang
Role in this project:
userBack-end Developer
Contributions:21 reviews, 117 commits, 93 PRs in 6 years 10 months
Contributions summary:Tom implemented core functionalities for a Server-Sent Events (SSE) server and client in Golang. Their commits focused on building an HTTP handler, introducing features like stream management (creation, removal), and integrating a subscriber system. Furthermore, they added checks for existing streams. The contributions involved modifying server and stream-related code, including the addition of a client implementation, showcasing a clear focus on building a robust SSE implementation.
eventstreamgolangeventssseserver-sent-events
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