John Southworth

San Francisco, California, United States
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
John Southworth is a seasoned principal-level software engineer with 15 years building high-performance networking and telecom systems, blending deep systems programming in Go, C, and C++ with practical DevOps and scripting expertise. He has driven architecture and product delivery across vRouter, vCPE, and management infrastructure projects at Brocade, AT&T, and Ciena, often prototyping new technologies and leading cross-functional teams. An active open-source contributor, he has improved critical networking projects like keepalived (VRRP stability, SNMP traps, and stats) and enhanced Go D-Bus bindings with better export patterns and tests. Based in San Francisco and holding an M.S. in Computer Science, he pairs rigorous academic foundations with a hands-on knack for tracking down race conditions and hard-to-reproduce network bugs.
code15 years of coding experience
job14 years of employment as a software developer
bookMaster of Science (M.S.), Computer Science, Master of Science (M.S.), Computer Science at University of Louisiana at Lafayette
github-logo-circle

Github Skills (19)

snmp10
high-availability10
snmpd10
linux10
c1110
networking10
dbus10
c1710
go10
daemon10
daemons10
testing9
protocols9
infrastructure9
apidoc8

Programming languages (7)

C++ShellCJavaScriptGoPerlPython

Github contributions (5)

github-logo-circle
godbus/dbus

Dec 2015 - Oct 2021

Native Go bindings for D-Bus
Role in this project:
userBack-end Developer
Contributions:7 releases, 14 reviews, 52 commits in 5 years 11 months
Contributions summary:John focused on enhancing the functionality of the D-Bus Go bindings. Their primary contribution involves refactoring the export code to accommodate method tables, which simplifies exporting generated code and allows for greater flexibility in defining exposed methods. They added unit tests to validate the new ExportMethodTable implementations. The user also addressed the handling of the ALLOW_INTERACTIVE_AUTHORIZATION flag and improved error handling in the core connection logic.
golangd-busnative-gobusdbus
acassen/keepalived

Dec 2011 - May 2015

Keepalived
Role in this project:
userBack-end Developer & DevOps Engineer
Contributions:15 commits in 3 years 5 months
Contributions summary:John contributed significantly to the Keepalived project by addressing critical issues related to VRRP sync group thrashing and adjusting TOS values for network traffic optimization. They implemented enhancements, including adding support for SNMP traps related to VRRP state transitions. Furthermore, the user modified the code to improve stability, addressing bugs related to socket handling and config reloads, including critical changes to the timing of shutdown operations to avoid race conditions and guarantee traffic flow integrity. They also added initial implementation of VRRP statistics and printing functions, for improved visibility.
system-administrationprotocolnetlinkvrrpbfd
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