Skip to content

CV

Irving A. Reid, M.Sc.

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. I’ve been paid to program in C, C++, Java, Perl, JavaScript, and many others, on all the major OS platforms.

My strength is in seeing beyond the “full stack”, from the details of OS implementation and Internet protocol behaviour to the motivations of the people making, using and paying for software-based systems.

I want to use my experience to lead a team of software developers who are making something worthwhile. I believe my primary responsibility as a leader is to foster an environment that gives people a common understanding of the value of their work, and supports  them with tools and processes that fit without constricting.

Work Experience

Senior Software Developer, Mozilla, July 2011 – October 2014

  • Maintained and enhanced the internals of the Thunderbird email client and Firefox web browser
  • Rewrote Firefox Add-on Manager database to use asynchronous and off-main-thread I/O to improve overall performance and reduce user interface lag
  • Refactored asynchronous code and tests to use JS Promises and Tasks
  • Wrote Python scripts to analyze run-time telemetry data gathered from Firefox clients to identify performance and stability problems
  • 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 Architect, University Health Network, May 2007 – July 2011

  • Manage team of 6-9 developers building and maintaining web and thick client Java medical records applications
  • Designed and developed event-driven, rule-based clinical notification system
  • 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 Designer, Hewlett-Packard Company, October 2003 – May 2007
Baltimore Technologies, August 2000 – October 2003
Nevex Software Technologies Inc., May 1999 – August 2000
Atlantic Systems Group, September 1998 – April 1999

  • Technical Architect for Select Access (Access Management) and Select Audit (Log archiving and analysis for regulatory compliance)
  • Represented Baltimore and HP as a founding member of the OASIS SAML, WS-Security and WS-SecureExchange standards committees
  • 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
  • Architecture, design, and development of LDAP directory management tools using Java and Perl

Senior Software Developer, Secure Computing Corporation, August 1996 – July 1998
Border Network Technologies, August 1995 – August 1996

  • 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 Developer, Platform Computing Corporation, November 1992 – August 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 Developer, Sci-Tec Instruments, June 1990 – May 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, May 1989 – May 1990

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

Software Developer, Britton-Lee Inc., February 1988 – December 1988

  • Development of a graphical, object-oriented language for database applications
  • Development of a garbage collecting memory allocation system
  • Maintenance of an SQL database query parser

Education

Bachelor of Science (High Honours), University of Saskatchewan, Department of Computational Science, 1986

Masters of Science, University of Saskatchewan, Department of Computational Science, 1992: “Extended Polymorphic Type-Checking”

Publications

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

“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. March 2009: US 7512965
  • Computer system security service. June 2008: US 20080134286
  • Computer system security service. July 2010: US 7757271

Interests

Building and flying kites, curling, bicycle commuting (but only in fair weather)

References

Available on request.