The Third Bit

Start where you are, use what you have, help who you can.

In Brief

Ph.D. in Computer Science
Co-founder of Software Carpentry and The Architecture of Open Source Applications
ACM SIGSOFT Distinguished Educator of the Year
Co-winner, Jolt Award, Best General Book
Member, Python Software Foundation
Author or editor of over a dozen books on programming and two for children a meeting

Recent Writing

Current and Recent Projects

Teaching Tech Together

Teaching Tech Together cover

A book about teaching programming for people with technical backgrounds but no formal training as educators.

JavaScript for Data Science

JavaScript for Data Science cover

An introduction to JavaScript for both client-side and server-side programming for data scientists who have never used it before.

Research Software Engineering in Python

A textbook for a semester-long course on building research software and running research software projects. This book is due to be published in the first quarter of 2021.


A blocks-based tool for teaching basic data science: think "Scratch meets the tidyverse". TidyBlocks is built in JavaScript using Google's Blockly toolkit.

Software Tools in JavaScript

Software Tools in JavaScript cover

Teaches software design by re-implementing common software engineering tools in Node.js; currently in beta.

Building Software Together

Building Software Together cover

A student's guide to team software projects that covers everything from using Git to running meetings; currently in beta.

The Architecture of Open Source Applications

A collection of essays describing the architectures of 50 open source projects of various sizes, many written by those projects' creators.

The Carpentries

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.

The Tidynomicon

A brief introduction to R for people who already know how to program in a language like Python; currently in beta.


A multilingual glossary of data science terms.