My background

If you’re going to take advice about finding a job from someone, you should probably know a bit about their employment history.

What kinds of things can you do as a professional programmer? »

Learning to program

I first learned to program in the late 1970s and early 1980s from my father, who was a software engineer at companies like Raytheon and DEC. You couldn’t do nearly as much as a young programmer back then, but I appreciate that I got a solid foundation in programming concepts at a young age, in languages that form the foundations of the languages we use today.

I continued learning about programming in high school and college, focusing on languages like C, Fortran, Pascal, and Perl. I also spent some time writing JavaScript and Java, and finally found my way to Python in the mid 2000s. If you want to read more about my programming journey, I did an enjoyable interview with Mike Driscoll at Mouse vs Python last fall. I also appeared on episode 33 of the Teaching Python podcast, if you’d rather listen to a podcast.


Early jobs

My parents pushed my brother and I to explore work at a fairly young age. I had a paper route all through middle school, and then worked at Popeye’s throughout my high school years. I spent two summers working at an AMC camp in the White Mountains during college. These early job experiences were important in understanding the job search; I still vividly remember the experience of interviewing for that AMC job. It was the first job I’d applied for that I really wanted to get, and that made the process much different than my previous job-seeking experiences.



I began teaching in the mid 1990s. I never thought I’d be a teacher, and I left my first teaching interview thinking I had completely failed. But apparently the interviewers liked how I thought about teaching and learning, and I was surprised to find I had my first real teaching job. I taught for 4 years at one school in New York City, and then left to live on a bicycle for a year. After that I spent 3 more years teaching at a different school in NYC before moving to Alaska in 2002, where I still live. I became a lead teacher at one point, and I’ve been on the interviewer side of the hiring table a number of times now.


Non-teaching work

I interviewed for a technical position at a startup at one point, and was offered an entry-level developer role. I couldn’t make that work with a family, and we weren’t sure we really wanted to leave Alaska anyway. But it was a significant learning experience. I went on to focus on writing, and Python Crash Course became much more popular than I ever imagined it would, which has opened a lot of doors. I’ve done a number of freelance projects over the last few years, mostly to contribute to projects I find meaningful, but also to make sure I continue to keep one foot in the professional programming world.