David Goodger

Email:goodger@python.org
Web Site:https://david.goodger.org (includes this résumé)
LinkedIn:https://linkedin.com/in/goodger/
Location:Ottawa & Montreal, Canada; open to positions in Canada, USA, & Japan

Software Engineer/Architect · Systems Engineer/Analyst · Project Manager · Trainer

Software/Systems Engineer with professional experience in the medical device industry, the financial sector, and automation/manufacturing. Experience in project management and training. Recognized expert in the Python programming language. Extensive experience with markup languages for documentation, document processing, and data interchange. Cross-platform systems development experience, ranging from GUI desktop applications to web services to command-line tools.

Strengths include: effective communication between technical and non-technical/business audiences, public speaking, excellent writing and editing skills, thorough and tenacious problem solving. International experience, with written and spoken Japanese and French.

Technical Skills

Programming Languages
Python (expert), Lisp, Visual Basic, C, C++, SQL, Bash.
Development Methodologies
Agile (Scrum, Extreme Programming), design patterns, refactoring, TDD/test-driven development, UML.
Operating Systems
Linux/UNIX/QNX/Solaris, Windows, Mac OS X.
Documentation Technologies
XML, XSL, SGML; HTML/XHTML, CSS; Docutils/reStructuredText; Unicode; document analysis, DTD design; document data processing.

Experience

Medtronic Inc. (formerly Corventis), Mounds View, Minnesota, USA

January 2013 – May 2020

Principal Systems Engineer
  • Projects: SEEQ mobile cardiac telemetry patch & CareLink cardiac patient monitoring service.
  • Systems & data analysis.
  • Software systems requirements development.
  • Agile Scrum Product Owner
Programmer/Analyst
Developed desktop GUI software for an electronic medical device system. Technologies: wxPython GUI toolkit, USB communication, web services, Dropbox integration.
Independent Consultant, Montréal, Québec, Canada

December 2008 – January 2013

Programmer/Analyst, Trainer, Systems Administrator.

CDP Capital Inc. (La Caisse de Dépôt et Placement du Québec), Montréal, Canada

July 2005 – June 2012

Programmer/Analyst

Developed software tools for investment data analysis, including foreign exchange order management system and index fund management software. Technologies: Python, wxPython & tkInter GUI toolkits.

(Full-time employee July 2005 – December 2008; consultant December 2008 – June 2012)

Python Software Foundation, remote & Chicago, Illinois, USA

December 2008 – September 2009

Conference Coordinator
Chaired the PyCon 2009 & 2008 Python community conferences, working (mostly remotely) with volunteer organizers and professional meeting planners. Chaired PyCon 2008 as a volunteer.
Member of the Board of Directors
Elected volunteer (February 2006 – July 2009)

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/)

Additional Relevant Experience

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). Screen capture of application (running on Windows XP): https://david.goodger.org/professional/cv/elm_gauge.png
ATS Automation Tooling Systems Inc., Cambridge, Ontario, Canada
Systems Administrator & Programmer
In charge of network and server systems in a mixed (Windows & QNX) environment, office and production facility with over 100 workstations. Developed engineering data processing applications & system maintenance solutions.
Rikai, Ltd., Tokyo, Japan
President and Founder
Software development & information technology consulting.
Uniscope, Inc., Tokyo, Japan
Operations Manager & Technical Team Leader; Developer
Project & personnel management; research and development; analysis, design, and development of document processing, workflow, relational and object database, intranet, and internet systems; systems administration (Unix/Solaris, Windows platforms).
Embassy of Canada, Tokyo, Japan
Network Systems Administrator & User Support Manager
Systems administration, user support, training, programming, & troubleshooting (150 Windows clients, Unix servers).
Gunma Prefectural Board of Education (Japan Exchange & Teaching Program), Gunma, Japan
Assistant English Teacher

Education & Certificates

Bachelor of Science, Major in Computer Science
McGill University, Montréal, Québec, Canada
Certified Scrum Product Owner
Scrum Alliance, Minneapolis, MN
Japanese-Language Proficiency Test
Japan Foundation & Japan Educational Exchanges and Services, Tokyo, Japan

Publications

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

Keynote Presentations & Tutorials

Python in India
Keynote presentation (PyCon India, Bangalore, India, 2010)
wxPython I: Introduction to GUI Programming & wxPython II: GUI Programming and MVC
Tutorials (PyCon 2010, Atlanta GA; PyCon 2008, Chicago IL)
How to Become an Invited Speaker
Keynote presentation (RuPy 2009, Poznan, Poland)
Code Like a Pythonista: Idiomatic Python
Tutorial (PyCon 2007, Dallas, Texas; OSCON 2007, Portland, Oregon)
Text and Data Processing
Tutorial (PyCon 2006, Dallas Texas)