I grew up in Nashua, NH. Nashua feels like a suburb of Boston, but in the late 1970s and early 1980s I could hop on my bike with a friend and explore back roads through small towns for entire summer days. I went to college at UNH, where I studied physics because I wanted to understand how the Universe works at the most fundamental levels. I wanted to be a particle physicist, but I didn’t want to be a student until I was 30, so I looked for something else to try. I loved my experiences tutoring other math and science students, so I gave teaching a try. I found the challenges of trying to reach every student in a class as intellectually stimulating as hard science, and even more satisfying.
I spent 7 years teaching in New York City. During that time I bicycled across the US twice during the summer, and at one point spent 13 months straight living on a bicycle. I rode from Seattle to Maine, down to Florida, over to California, and up to Alaska. Shortly after that trip, I moved to southeast Alaska where I’ve lived ever since.
My father was a software engineer, and he introduced me to programming before home computers were even a thing. I liked it, and I was a hobbyist programmer most of my life until about 10 years ago. I started teaching intro programming classes in the mid 2000s. I wasn’t satisfied with the resources available to my students and other independent learners, so I wrote Python Crash Course, which came out in 2015. Since then, it’s become the best-selling Python book in the world.
Writing a successful technical book is nothing like writing a popular fiction book. Technical books neeed regular updates, and occasional full rewrites. After 25 years of teaching, I left the classroom in 2019 to focus full time on writing and other programming-related projects.
These days I enjoy running, hiking, biking, and spending time with my family. I am also an active member of our local mountain rescue team.
If you’re curious to know more about me and the work I’m involved in, I have done a number of interviews and podcasts.