Co-founder of Software Carpentry,
The Architecture of Open Source Applications,
and It Will Never Work in Theory
ACM SIGSOFT Influential Educator of the Year
Co-winner, Jolt Award, Best General Book
Member, Python Software Foundation
Ph.D. in Computer Science
Author or editor of over a dozen books on programming and two for children
2022-05-14: The Wes Mongtomery of Software
2022-05-08: A Language for Teaching
2022-04-30: Four Books I'm Not Writing (Plus One)
2022-04-21: Software Design by Example
2022-02-25: 12 Quick Tips for Software Design
2022-02-01: What I Would Change in Lox for Teaching
2022-01-16: A Cacaphony of Explanations
2022-01-06: In the Karaband
2021-12-31: Comes Round Again
2021-12-29: Tuppence a Bag
2021-12-26: Effort Estimation
2021-11-23: Not What I Set Out to Do
2021-11-15: Setting Up a New Project
...or follow me on Twitter
Wilson (2022): Twelve quick tips for software design
Smalls & Wilson (2021): Ten quick tips for staying safe online
Lin et al (2020): Ten quick tips for making things findable
Nederbragt et al (2020): Ten quick tips for teaching with participatory live coding
Denny et al (2019): Research this! Questions that computing educators most want computing education researchers to answer
Sholler et al (2019): Ten simple rules for helping newcomers become contributors to open projects
Wilson (2019): Ten quick tips for creating an effective lesson
Brown & Wilson (2019): Ten quick tips for teaching programming
Current and Recent Projects
A textbook for a semester-long course on building research software and running research software projects.
A book about teaching programming for people with technical backgrounds but no formal training as educators.
Brief reviews of empirical research results in software engineering and computing education of particular relevance to practitioners.
Teaches software design by re-implementing common software engineering tools in Node.js; formerly hosted at https://stjs.tech/.
A student's guide to team software projects that covers everything from using Git to running meetings; currently in beta.
A non-profit organization dedicated to teaching basic software and data skills to researchers world-wide. I co-founded its predecessor, Software Carpentry, and was its first Executive Director.
Essays describing the architectures of fifty open source projects of various sizes, many written by those projects' creators.