David Goodger

72, 42nd Avenue
Pincourt, Québec, Canada
J7V 4J6
Web Site:http://python.net/~goodger (includes this résumé)



Over 20 years of professional experience in systems analysis, software development, and training. Devlopment experience on Unix, Linux, Windows, and MacOS platforms, developing everything from GUI desktop applications (using wxPython & tkInter toolkits) to command-line scripts. Recognized expert in the Python programming language, with experience in other languages (Perl, C, SQL, etc.). Extensive experience with markup languages (XML, SGML, HTML) for documentation & data interchange.

I am currently fully employed and not seeking a change.


Project management (including Open Source), event management, technical team leader.
Operating Systems
Linux/UNIX/QNX/Solaris, Windows, Mac OS X.
Programming Languages
Python is my programming language of choice. I also have experience with Perl, Lisp, Basic/VB, C/C++, SQL, shell script, and AppleScript.
Development Methodologies
Extreme Programming, design patterns, refactoring, test-driven development, UML.
Documentation Technologies
XML, XSL, SGML; HTML/XHTML, CSS; Docutils/reStructuredText; Unicode; document analysis, DTD design; document data processing.
Ethernet, TCP/IP, LAN Manager, Windows Networking, AppleTalk, NFS.
English, French, and Japanese.
General Transferable Skills
  • Excellent writing and editing: clear & concise.
  • Effective communication of technical information to a non-technical audience.
  • Problem solving: thorough and tenacious.
  • Multitasking: ability to juggle multiple projects simultaneously.
  • Management: projects and personnel.
  • Teaching and training.
Personal Qualities
Proactive, self-starting, intelligent, quick learning, creative, resourceful, confident, objective, versatile, adaptable, open-minded, honest, ethical, trustworthy, and loyal.


Corventis Inc., Saint Paul, Minnesota, USA.
  • Principal Systems Engineer. (regular employee, 2013/09 to present)
  • Programmer/Analyst. Developed desktop GUI software for an electronic medical device system. Technologies: wxPython GUI toolkit, USB communication, web services, Dropbox integration. ... (contractor via Oxford Global Resources, 2013/01 to /09)
Independent Consultant: Programmer/Analyst, Trainer, and System Administrator.
Project details on request ... (2008/12 to 2013/01)
CDP Capital Inc. (La Caisse de Dépôt et Placement de Quebec), Montreal, Canada.
Programmer/Analyst. Developed software tools for investment data analysis, using Python, wxPython, and tkInter ... (full-time employee 2005/07 to 2008/12; consultant 2008/12 to 2012/06)
Python Software Foundation (telecommuting).
Conference Coordinator. Chaired the PyCon 2009 Python community conference, working (mostly remotely) with volunteer organizers and professional meeting planners (also chaired PyCon 2008 as a volunteer) ... (2008/12 to 2009/09)
Independent Consultant: Programmer/Analyst, Trainer, and System Administrator.
Project details on request ... (2003/02 to 2005/07)
ELM Machine Service Inc., Cambridge, Ontario, Canada.

Consulting developer. Developed a control panel and data acquisition application for a PLC-based industrial gauge system, using open-source rapid application development tools (Python, wxPython, Boa Constructor) ... (2003/04 to /07)

Screen capture of application (running on Windows XP): http://python.net/~goodger/professional/cv/elm_gauge.png

ATS Automation Tooling Systems Inc., Cambridge, Ontario, Canada.
Systems Administrator & Programmer. In charge of network and QNX systems in a mixed (Windows & QNX) environment, office and production facility with over 100 workstations. Programming ranged from system maintenance scripts to engineering data processing applications ... (2000/02 to 2003/01)
Full-time father to two young children ... (1998/05 to 2000/02)
Rikai, Ltd., Shibaura, Minato-ku, Tokyo, Japan.
President and Founder. Software development, information technology consulting ... (1996/02 to 1998/05)
Uniscope, Inc., Akasaka, Minato-ku, Tokyo, Japan.
Operations & Technical Manager. Project & personnel management; research and development; analysis, design, and programming of SGML (XML, HTML) document processing, workflow, relational and object database, intranet, and internet systems; systems administration (Unix, NT platforms) ... (1995/11 to 1998/05)
Embassy of Canada, Akasaka, Minato-ku, Tokyo, Japan.
Network System Administrator & User Support Manager. Training, programming & troubleshooting (150 Windows clients, Unix servers) ... (1994/01 to 1995/11)
Gunma Prefectural Board of Education (Japan Exchange & Teaching Program).
Assistant English Teacher in public secondary schools ... (1991/07 to 1993/12)
Apple Research Partnership Program (ARPP), McGill University, Montréal, Canada.
Consultant to Macintosh software developers on campus ... (1988/09 to 1991/04)
Laboratory of Applied Cognitive Science, McGill University, Montréal, Canada.
Object-oriented and traditional application software development for cognitive science, discourse analysis, and artificial intelligence research ... (1989/05 to /08, 1990/05 to /08)
Graduate Fellowships Office, McGill University, Montréal, Canada.
Relational database application development; LAN setup ... (1988/05 to /08)
BDI Facilities Management Inc., Montréal, Canada.
Relational database applications development (consultant) ... (1987/08 to 1988/04)
John Abbott College, Ste. Anne de Bellevue, Québec, Canada.
  • Consultant/technician in Multipurpose Computer Laboratory ... (1986/08 to 1987/05)
  • Guest lecturer in a series of computer workshops ... (1986/05, 1986/12, 1987/06)
Computer Graphics Access Studio Inc., Montréal, Canada.
Consultant & trainer: systems installation and personnel training ... (1986/05 to /06)

Education & Certificates

Level 2 certificate ... (1992/12)
McGILL UNIVERSITY, Montréal, Québec, Canada.
Bachelor of Science, Major in Computer Science ... (1987/09-1991/05)
JOHN ABBOTT COLLEGE CÉGEP, Ste. Anne de Bellevue, Québec, Canada.
DEC, Pure and Applied Sciences (academic honour roll throughout) ... (1985/09-1987/05)
HUDSON HIGH SCHOOL, Hudson, Québec, Canada.
Honour roll throughout ... (1980/09-1985/06)


Hello World! Computer Programming for Kids and Other Beginners (Manning, 2009)
Technical Editor.
Python For Dummies (Wiley, 2006)
Technical Editor.
Python Cookbook, Second Edition (O'Reilly & Associates, 2005)
Contributor (section 1.23).
Python Cookbook (O'Reilly & Associates, 2002)
Contributor (sections 15.4 & 2.3).
Professional Linux Programming (Wrox Press, 2000)
Author of Chapter 15, "Python," a programmer's introduction to the Python programming language.


Python in India
Keynote presentation delivered at PyCon India 2010 (http://in.pycon.org).
wxPython I: Introduction to GUI Programming & wxPython II: GUI Programming and MVC
Tutorials presented at PyCon 2010 (http://us.pycon.org/2010). Earlier versions of these tutorials were presented at PyCon 2008.
How to Become an Invited Speaker (Community-Oriented Talk)
Keynote presentation delivered at RuPy 2009 (http://rupy.eu).
Code Like a Pythonista: Idiomatic Python
Tutorial presented at PyCon 2007 (http://us.pycon.org/2007) and at OSCON 2007 (http://conferences.oreilly.com/oscon).
Text and Data Processing
Tutorial presented at PyCon 2006 (http://us.pycon.org/2006).

Open-Source Projects

Docutils: Documentation Utilities, http://docutils.sourceforge.net/
Project coordinator and architect.
Polyform Puzzler, http://puzzler.sourceforge.net/
Project coordinator and architect.
Python (the programming language), http://www.python.org/
Contributing developer; author or co-author of several Python Enhancement Proposals (http://www.python.org/peps/).
The Go Tools Project, http://gotools.sourceforge.net/
Project coordinator and architect.

Volunteer Activities

Python Software Foundation, http://www.python.org/psf/
  • Nominated member (elected 2003/03)
  • Member of the Board of Directors (2006/02 to 2009/07)
  • Secretary (2006/02 to 2010/03)
  • Assistant Secretary (2005/04 to 2006/02)
PyCon (the Python community conference), http://us.pycon.org/
  • Conference Chair (PyCon 2008 & 2009)
  • Giveaway coordinator (PyCon 2010)
  • Financial aid program & tutorials coordinator (PyCon 2007)
  • Volunteer coordinator & sprint coordinator (PyCon 2006)
  • Volunteer coordinator (PyCon 2005)
  • Coached the Docutils development sprints (PyCon 2004, 2006, & 2007)
Python programming language, http://www.python.org/peps/
Python Enhancement Proposal (PEP) Editor (2002 to present)
Scouts Canada (Shawnee Wolf Cub Pack, Pincourt, Québec)
Assistant pack leader (2005 to 2008)
Kitchener-Waterloo Multicultural Centre
Japanese translator (1998 to 1999)
Gunma AJET (Association for Japan Exchange & Teaching)
President (1992 to 1993)
McGill University Senate Committee on Computing
Student Representative (1990 to 1991)
Computer Science Undergraduate Society of McGill University
Chief Returning Officer (1989 to 1990)
Québec Go Players Association
Vice President, Public Relations (1988 to 1990)
McGill Go Club
Founder (1987) and President (1987 to 1990)

Honours & Awards

Nominated for the 2003 ActiveState Active Awards Programmers' Choice Award for Python (http://www.activestate.com/Corporate/ActiveAwards/).

Named Chief Officer of the Year 1988-1989, by the Students' Society of McGill University, as President of the McGill Go Club.

Awarded the Lakeshore School Board Medal for Academic Achievement, 1985.

Awarded the Computer Science, Mathematics, Physics, Chemistry, and Technical Drawing prizes at high school graduation.


Interests include Go, cycling, reading, writing, movies, woodworking, puzzles, poker, origami, and boomerangs.