This is an adapted version of the text of the email that I sent to my blog subscribers on May 16, 2023. I placed it on my blog as an example of what you can expect to receive if you subscribe.
In February of 2022, my mom got very sick.
At the time I had a full-time job, two teaching commitments, and seven (I know, I know) pay-by-the-hour clients for whom I wrote bespoke code.
Something had to give. So I rolled down all seven of those clients and decided “From now on, my focus outside of my day job will stay exclusively on teaching, which is the thing I feel called to do and the thing that I most enjoy.”

Since then I’ve tried a lot of things:
- Teaching academic classes
- Teaching online workshops
- Teaching at conferences
- Hosting retreats
- Launching my own online offerings
I talk about these when folks ask me how to get into teaching. I thought I’d share a short version of that with you.
- Teaching academic classes involves, by far, the most work. In addition to building and presenting course materials, there are administrative hurdles, grading, and students asking for things because they’re worried about the grading. University students also have little experience asking questions about code, so there’s a fair amount of interviewing them to figure out what they need help with. That said, there are also advantages to catching them early in the funnel: I can talk to them about things like setting ethical boundaries before they find themselves in a job with a goalpost that has already slid too far.
- Teaching online workshops for professionals is, so far, one of my favorite ways to teach. I get to talk to software engineers all over the world and show them my cat and the view from my street. I get to hear about what happens at their jobs and brainstorm with the group how to help. Most of the time I teach these workshops through O’Reilly, but I also sometimes do private ones for clients (you can email me if you’d like one).
- Teaching at conferences is lovely, but exhausting sometimes. I love speaking at Strangeloop and DDD Europe. I also love sharing what I know at unconferences. In those places, I end up in fascinating conversations about what folks are working on. Lately I’ve gone to a few of what I’ll call big-box conferences: more attendees, often language-specific, a bit more regimented. I get overwhelmed at these, and asked a lot of the sort of questions I hate like “How many languages do you know” and “How do I crack the coding interview” and complete strangers asking me to pass their resume along for things. The last one of these I attended, after an especially cringey conversation that happened over a bowl of rice and bell peppers (this was the vegetarian option for lunch that day) I confess I bailed on the last two days and drove 25 minutes away to visit with my college roommate instead.
- Hosting retreats is a thing I’d love to do one day, but right now the market just doesn’t seem to be there. I’ve had a few of these launch marketing campaigns and then cancel; it seems like everyone getting what they need requires a stratospheric price point that people can’t sign on for right now. I’m not Eric Evans; I’m not one of those guys whose name has been shortened to an initialism like GVR (Guido Van Rossum, of Python fame) or DHH (David Heinemeier Hansson, of Rails fame). I just don’t have the brand to command prices like that right now. Maybe one day; or maybe I’ll have the spoons one day to launch a lo-fi version with a more accessible price.
- Launching my own online offerings has been a lot of fun, too, but in order to do that, I need to have already playtested the material extensively through my academic courses, teaching online workshops, or teaching at conferences. With an online, self-paced offering, there’s no live feedback—not live for the creator, anyway. So I want to be pretty confident in how I’ve adjusted the material based on live participants’ reactions and takeaways before I ask anyone to spend money on a thing I’ve already made. I have one thing so far like this—Technical Debt: An Analytical Approach. I’m working on another one right now—Leading an Inclusive Technical Team.
My expectation, over time, is to either a) streamline this list or b) expand it, and also expand the proportion of my career that it encompasses. I have not decided between the two yet, but I am trying to savor the process of figuring it out.
What I’ve written lately:
Testing: A Heuristic-Hunting Conversation with Rebecca Wirfs-Brock. I met Rebecca last year at DDD Europe and had looked forward to talking about heuristics with her ever since. It finally happened.
Money doesn’t buy class…privilege. This post is a case study/personal account about what it means to make tech money—but maybe more importantly, what it doesn’t mean. The piece started out as a Twitter thread in which a lot of dudes with bios like “independent AI expert” told me I must have never heard of this innovative concept called “saving money.” That’s what told me that the topic deserved a proper post.
How do tech companies make money? This looks at the topic of money from the perspective of tech companies. I’d like to do a third money piece about the origins of innovation and how they relate to financial sustainability, but I haven’t gotten there yet.