.. -*- coding: utf-8 -*- =============== David Goodger =============== .. sidebar:: \ .. contents:: :local: :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 .. rubric:: 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. .. I am currently fully employed and not seeking a change. 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)