It’s been 13 years since my last book. Why the pause? Why a book now?
I’ve told this story before, but it sets up today’s topic. When I went to my first ever computer science lecture in college, the professor told us about stepwise refinement & how disciplined development meant that we might make 4-5 errors in our entire career. This sounded like hell to me. As I walked out I said to myself, “I’m going to change the way people program.” Arrogant kid, no? (Since then I’ve gotten even older.)
My point is that I’ve always set out to address the largest possible audience of geeks. In the late 90s open source was just becoming fashionable. Lower prices (to zero), grow your audience! So I did. We published JUnit for free. I gave talks for free. I made the review process of my books more & more open until you could get the almost-completed draft for free.
It worked. Read the top path in the diagram above as—less revenue leads to a larger audience. My audience grew. My income did not (variety of reasons, but #1 was that I wasn’t really trying).
Eventually I got tired of giving value stuff away for other people to make money with when I didn’t have money. And that’s when I stopped writing books. That’s the second order effect of ignoring sustainability. Less revenue leads to more anxiety, more anxiety leads to less writing, less writing leads to a smaller audience.
I’m not saying don’t give stuff away. I’m saying if your situation isn’t sustainable, then you won’t be giving away anything. Take care of those frijoles. Then you can care for others sustainably.
My goals for this newsletter are:
Predictable revenue exceeds predictable expenses. Requires 3X growth.
Predictable newsletter revenue exceeds predictable expenses. Requires 2X growth from #1.
Predictable newsletter revenue enables retirement savings. Requires substantial growth from #2.
(Dream) Newsletter revenue frees me from any future need for income. I can buy a home. Also a big jump.
I appreciate what my current paying subscribers have done to give me space & time to explore & document ideas to improve software development. The reason there is a Tidy First? (and soon a little baby sibling book about team software design) is because of paying subscribers. I wouldn’t have finished the book without them.
Please consider a paying subscription if you (or your employer) can afford it. Paying subscribers get a weekly Thinkie, a habit of creative thought. They are currently getting weekly chapters of a booklet on thinking in terms of tradeoffs. They will get draft chapters of the second software design book when I start writing. And they get timely thoughts about software development. I’m still out to make programming better for geeks.
The first thing that came to my mind was the #1 rule of emergency situation (as I've learned a decade ago): You need to take care of yourself first, because if you're not safe, you cannot help anyone.
I subscribed because I feel I wasted my first 25 years of professional life (in the sense of being isolated and not being part of developer communities), and I like how your Thinkies challenge mines. They open up a more personal universe in the realms of tech. Thanks.
Almost everyone I know who has written a book (or even several books) says that you don't make a living from royalties :)