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.
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 The book’s author says he really wantsed to get, and that made the process much different than my previous job-seeking experiences.
Teaching
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.