For the past 33 years, I have looked in the mirror every morning and asked myself: “If today were the last day of my life, would I want to do what I am about to do today?” And whenever the answer has been 'No' for too many days in a row, I know I need to change something.
— Steve Jobs
After almost 20 years working with Andy as The Pragmatic Programmers, and after 15 of those years publishing stuff with The Pragmatic Bookshelf, I’ve decided it’s time for a change.
I have a lot of pride in the stuff we achieved over those years.
We wrote The Pragmatic Programmer. It started life as a pet project, which somehow ended up getting pubished, and which still surprises me by selling well so many years later.
We created a new kind of publishing company, founded on the classic phrase “how hard could it be?” Well, we found out. And along the way, we discovered that good practices such as continuous builds, automation, DRY, version control, and small iterations work just as well when creating books as they do in software development.
I wrote our publishing toolchain (three times). From markdown or XML to PDF, print, epub, and mobi, with automated code inclusion, embedded indexing, smart cross referencing, and an extensible plugin system, our system lets authors focus on the content, while we can push betas straight from the same repository they are working in.
Talking about betas, I think we created a number of trends in tech publishing. My memory is notoriously flakey, but I think we pioneered a number of innovations:
distribution of DRM-free PDF copies of all our books
availability of DRM-free epub and mobi versions of all our titles
automated delivery of books and updates to Dropbox, Google Drive, and (until Amazon blocked it) Kindle devices
the beta book concept, where ebooks are continuously updated as the author writes new content
the living book concept, where new editions were heaviliy discounted (or free) to owners of the prior edition
Looking outward, I think that the stuff we did has had an impact on the life of developers.
The Pragmatic Programmer has added to our vocabulary, with DRY, tracer bullets, broken windows, and the like.
Programming Ruby introduced this amazing language to the English-speaking world, and Agile Web Development with Rails helped kickstart a web revolution.
More recently, Programming Elixir and the Phoenix book are again changing the way we think about programming servers on the web.
That said, I think that I really take the most pride in the more human side of it.
Over these 20 years, I’ve been blessed to work with and learn from a vast number of amazing people. The dedication and skill of everyone at the Bookshelf—Janet, Susannah, the editors, and everyone else—continues to amaze me. The effort and enthusiasm of our authors is stunning. And the loyalty of our hundreds of thousands of readers is humbling.
Why the Change?
Deep in my soul, I’m a programmer. Given a free choice, I create code, write or speak about code, or sit chatting about code.
At the Bookshelf, I’ve written tons of code—the online systems, the book production toolchain, and a bunch of other stuff. But I also do a lot of grown-up stuff, like meetings, marketing, accounting, and so on. And it feels like personally I’m seeing diminishing returns from this.
This year I turn 60. I’m feeling like I probably have one, maybe two, new adventures in me. And I just knew that if I stayed where I was, I’d be comfortable, but I’d be thinking wistfully about what might have been.
I talked about this with Andy last year, and in January I finally reached the decision. He has been fantastic since then as we work to extract my fingers from the various pies that make up the Bookshelf.
I’m not abandoning the bookshelf—I’m still an owner, and will be working with Andy as needed. I’m just moving away from the day-to-day stuff.
I honestly don’t know. That’s exciting.
I do know that I will be teaching a credit class on Elixir and real-world development at SMU this fall. I also want to start creating a different kind of content for some tutorial ideas I have.
I now have more time to attend and speak at conferences, workshops, and so on. One of the great joys in my life is the set of people who I considered to be good friends even though we only meet stroboscopically at conferences around the world. We meet in Amsterdam and continue a conversation we started in Bangalore three months earlier. I’m looking forward to seeing them more often.
I’m also looking forward to doing more advisory and consulting work. I really enjoy looking at problems from a different angle and coming up with surprising solutions (and I’m actually quite good at it).
In the meantime, I’m doing what I love to do—playing with new languages, tools, techniques, and ideas.
I’ll continue to be pragdave. I’m just pushing a new release or two….
Keep up with me at pragdave.me.
And remember to make it fun!