Dr. Greg Wilson



2021–present: Senior Engineering Manager, Deep Genomics. Responsible for recruiting and managing developers, building back-end software in Python, and training.

2021: Head of Education, Metabase. Responsible for designing and delivering training material and managing content development team.

2018–2021: Data Scientist and Professional Educator, RStudio PBC. Created and ran an instructor certification program that trained almost 200 people in its first two years; also responsible for the summer intern and student mentorship programs.

2017–2018: Content developer and instructor trainer, DataCamp. Created courses on Git and the Unix shell; recruited, trained, and edited the work of freelance instructors.

2017: Principal Consultant, Rangle.io. Revised training materials on Angular and React; coached company staff on training techniques.

2015–2016: Director of Instructor Training, Software Carpentry Foundation. Developed and delivered the foundation’s train-the-trainers course; helped develop workflow tools used to manage thousands of volunteer instructors worldwide.

2012–2015: Executive Director, Software Carpentry Foundation. Developed curriculum, trained instructors, negotiated partnerships with multiple organizations, and led development of workflow tools.

2011: Software Engineer, Side Effects Software Inc. Helped build and test a web store for the company’s flagship product using Django and Selenium.

2010–2011: Project lead, Software Carpentry. Developed and delivered workshops on research computing skills at several dozen universities; recruited and trained volunteer instructors; oversaw program assessment and fundraising.

2006–2010: Assistant Professor, Dept. of Computer Science, University of Toronto. Taught graduate/undergraduate courses; supervised theses; designed a Professional Master’s degree program.

2004–2006: Independent consultant. Rewrote the Software Carpentry course under a grant from the Python Software Foundation; developed and taught courses at the University of Toronto.

2000–2004: Senior software engineer, Baltimore Technologies (acquired by Hewlett Packard). Helped develop a single sign-on product using C++ and Java on Linux and Windows. Also taught courses and supervised undergraduate honors projects at the University of Toronto.

1998–2000: Independent consultant. Ran Software Carpentry classes at Los Alamos National Laboratory; helped develop a single sign-on product for Nevex Software (acquired by Baltimore Technologies); co-designed Python’s set module.

1982–1998: Worked as a software developer for firms ranging from early-stage startups to IBM, including six years as a research software engineer at the Edinburgh Parallel Computing Centre; wrote and edited books on parallel programming.


1993: PhD in Computer Science, University of Edinburgh.

1986: MSc in Artificial Intelligence, University of Edinburgh.

1984: BSc in Mathematics and Engineering (First Class Honors), Queen's University.



Technical Books

Selected Papers and Articles