Irving Reid
Senior/Staff Software Developer

My strength is seeing beyond the “full stack”; diving in to understand the details of OS implementation and Internet protocol behaviour or to untangle the hairiest operational mysteries, while looking outward to the motivations of the people making, using and paying for software-based systems.

I've worked on high availability monolith + microservice SAAS, multi-million user open source (Firefox and Thunderbird), high performance network services in C and C++, and access management at both the policy and network level. My career has ranged over Web security standards committees, network security, enterprise architecture, multi-tier applications, embedded microcontrollers, systems administration, and the human and organizational side of software development.

Ruby, Elixir, JavaScript, Scala, C++, Java, C, Perl, Python, Shell, ... on all major OS platforms. MySQL and other SQL DBs, Kafka, Kubernetes, Nomad, LDAP, SAML, AWS, OpenTelemetry, and so on. If there's a technology you're using and you need more in-house expertise, I'll dig in and learn it.

Revision control, issue tracking, CI/CD, automated testing, manageable infrastructure, and high-bandwidth telemetry and monitoring of production systems are all table stakes; I'll work with whatever you're using or help you move to something better.

Senior Software DeveloperPagerDuty, 2015 - 2024

As part of the Sustainability team, upgraded Rails and Ruby to modern versions, provided design guidance and code review for many projects across the engineering organization, analyzed and fixed complex application and database performance issues, and built tools and documented techniques to enable others to investigate performance problems.

Made substantial changes to core data structures without downtime or incidents (splitting Services into Services and Integrations and splitting Alerts off from Incidents, if you're familiar with PD).

Led the design and implementation of team and role based permissions, enabling PagerDuty to sell successfully into large enterprises.

Implemented and advocated for OpenTelemetry-style structured logging, leading to significant improvements in understanding system behaviour during both normal operation and incidents.

Senior Software DeveloperMozilla Corporation, 2011 - 2014

Rewrote Firefox Add-on Manager database to use asynchronous and off-main-thread I/O, improving overall performance and eliminating user interface lag.

Significantly reduced the impact of Firefox add-on compatibility checks, based on telemetry instrumentation and analysis, and blogged about the results.

As a Firefox Toolkit peer, performed code reviews of patches submitted by other developers.

Mentored volunteer contributors through the process of learning to contribute code changes to Firefox and Thunderbird.

Technical ArchitectUniversity Health Network, 2007 - 2011

Managed team of 6-9 developers building and maintaining web and thick client Java medical records applications.

Designed and developed event driven clinical notification system, enabling in-person connections between people using the Emergency Department and home care specialists.

Lead transition to agile (Scrum) project organization within software development team.

Lead technical architecture specification team for Greater Toronto area shared health record project, including working with architects from eHealth Ontario on technical strategy.

Senior Software DesignerASG / Nevex / Baltimore / Hewlett-Packard, 1998 - 2007

Founding member of the OASIS SAML, WS-Security and WS-SecureExchange standards committees; led our team to build one of the first commercially available SAML implementations.

Technical Architect for Select Access, a cross platform, general purpose access management system that was the subject of two acquisitions.

Developed and maintained portable, high performance, multi-threaded TCP/IP server and client code in C++ and Java.

Developed and presented pre- and post-sales customer presentations and training.

Participated in division- and company-wide architecture councils.

Provided technical leadership to team ranging from 5 to 15 programmers through many product release cycles.

Senior Software DeveloperBorder Network Tech / Secure Computing, 1995 - 1998

System architect for the SecureZone firewall, a 20 person-year project to develop a next generation Internet security gateway.

Design, team leadership and implementation of the server side of the client-server administration interface for SecureZone (Perl/CORBA).

Technical leadership of intermediate and junior developers.

BSDi (Unix) kernel development and debugging.

Added ESMTP and MIME-Multipart support to the ZMailer SMTP mail gateway for the BorderWare Firewall Server.

Software DeveloperPlatform Computing Corporation, 1992 - 1995

Software development, technical support and end-user documentation for LSF (Load Sharing Facility), a package for load monitoring, remote execution, and batch queuing of jobs on UNIX platforms.

Revision control, build and release management, and system and network administration on many vendor versions of UNIX.

Software DeveloperSci-Tec Instruments, 1990 - 1992

Embedded controller software development for Petro-Tag, a petroleum storage tank gauging system, and the Two-Axis Positioner, a lightweight, high-accuracy platform for aiming cameras and scientific instruments.

Software Developer (contract)Robertson Stromberg, 1989 - 1990

Design and implementation of a custom law library information system using the FreeForm 4GL with a Britton-Lee relational database system.

Software DeveloperBritton-Lee Inc., 1988

Development of a graphical, object-oriented language for database applications.

Education

B.Sc (High Honours), M.Sc. Computational Science, University of Saskatchewan

Publications

“RPCC: A Stub Compiler for Sun RPC”, Student paper award, 1987 Summer USENIX conference.

“Perl and CORBA”, invited presentation at Perl Conference 2.0, August, 1998.

Patents

System and method for controlling interactions between networks. January 2001: US 6182226, EU WO/1999/048261

System and method for implementing a security policy. September 2002: US 6453419

Generation and use of digital signatures. June 2007: US 7234060, EU WO/2002/005475

Computer system security service. June 2008: US 20080134286

Computer system security service. March 2009: US 7512965

Computer system security service. July 2010: US 7757271